(57)【要約】【課題】仮想システムにおいて、サービスのリソース使用量に基づいて仮想マシンの移動先を決定することを課題とする。【解決手段】本発明のサービス管理装置２は、仮想マシンを移動する場合、サービス構成情報、ジョブ管理情報、ホストマシン構成情報、仮想マシン構成情報、リソース管理情報、イベント情報に基づき、当該仮想マシン上で稼動しているサービスがその終了期限までに完了するという条件を満たすよう、当該仮想マシンの移動先を決定して移動する。【選択図】図１
2010113677.tif 000002
【特許請求の範囲】
【請求項１】
１台以上の業務コンピュータ上でサービスを提供し前記１台以上の業務コンピュータ上を移動可能な複数の仮想マシンと、前記業務コンピュータごとに配備され自身の業務コンピュータ内の前記仮想マシンを管理するホストマシンと、を備える仮想システム環境に関して、サービス構成とサービスが使用する前記業務コンピュータの共有リソースとを管理し、前記仮想マシンの移動に際してそのリソース使用量から移動可能な前記業務コンピュータを決定し、当該仮想マシンを移動するサービス管理装置であって、
前記サービスの終了期限の情報を含むサービス構成情報と、サービスを構成するジョブごとの停止後の再開始時に実行すべきジョブの情報を含むジョブ管理情報と、前記ホストマシンの構成を示すホストマシン構成情報と、前記仮想マシンの構成を示す仮想マシン構成情報と、実行したジョブとそのジョブが使用したリソース量の情報を含むリソース管理情報と、前記仮想マシンで発生したイベントの種類に応じて実行する対処情報を含むイベント情報と、を記憶する記憶部と、
前記仮想マシンを移動する場合、前記記憶部に記憶されたサービス構成情報、ジョブ管理情報、ホストマシン構成情報、仮想マシン構成情報、リソース管理情報、イベント情報に基づき、当該仮想マシン上で稼動しているサービスがその終了期限までに完了するという条件を満たすよう、当該仮想マシンの移動先を決定して移動する処理部と、
を備えることを特徴とするサービス管理装置。
【請求項２】
前記記憶部は、
前記ジョブの実行履歴と前記ジョブを実行する要因となった事象との対応情報を含むジョブ履歴管理情報を、さらに記憶しており、
前記処理部は、
前記ジョブの実行に関するリソース使用量を集計する場合、前記記憶部に記憶されたジョブ履歴管理情報を参照し、前記事象ごとにリソース使用量を集計する
ことを特徴とする請求項１に記載のサービス管理装置。
【請求項３】
前記処理部は、
前記仮想マシンの移動による、前記ホストマシンが管理する共有リソースの構成の変更履歴と、前記ジョブの実行時の共有リソースの構成との対応情報を前記マシン構成情報に新たに記憶させる
ことを特徴とする請求項１に記載のサービス管理装置。
【請求項４】
前記記憶部は、
前記ホストマシンとそのホストマシンが管理する共有リソースの性能の関係を示す性能係数情報を、さらに記憶しており、
前記処理部は、
前記仮想マシンの移動先を決定するとき、前記性能係数情報を参照し、前記条件を満たすよう、前記仮想マシンの移動先を決定する
ことを特徴とする請求項１に記載のサービス管理装置。
【請求項５】
前記処理部は、
前記仮想マシンの移動先の候補を選んだ後、当該移動先の業務コンピュータのホストマシンがその必要なリソース性能を確保できるか判断し、確保できると判断したとき、当該仮想マシンをその移動先に移動する
ことを特徴とする請求項１に記載のサービス管理装置。
【請求項６】
前記処理部は、
前記仮想マシンの移動先を決定する際、仮想マシン移動後に実行するサービスの実行順序を変更すればすべてのサービスの処理の終了が早くなるか否かを判断し、早くなると判断したとき、サービスの実行順序を変更する
ことを特徴とする請求項１に記載のサービス管理装置。
【請求項７】
前記処理部は、
前記仮想マシンを移動した後、移動先の業務コンピュータのホストマシンが管理する共有リソースから、移動した前記仮想マシンが必要とするリソース量を当該仮想マシンに割り当てる
ことを特徴とする請求項１に記載のサービス管理装置。
【請求項８】
１台以上の業務コンピュータ上でサービスを提供し前記１台以上の業務コンピュータ上を移動可能な複数の仮想マシンと、前記業務コンピュータごとに配備され自身の業務コンピュータ内の前記仮想マシンを管理するホストマシンと、を備える仮想システム環境に関して、
サービス構成とサービスが使用する前記業務コンピュータの共有リソースとを管理し、前記仮想マシンの移動に際してそのリソース使用量から移動可能な前記業務コンピュータを決定し、当該仮想マシンを移動するサービス管理装置が、
前記サービスの終了期限の情報を含むサービス構成情報と、サービスを構成するジョブごとの停止後の再開始時に実行すべきジョブの情報を含むジョブ管理情報と、前記ホストマシンの構成を示すホストマシン構成情報と、前記仮想マシンの構成を示す仮想マシン構成情報と、実行したジョブとそのジョブが使用したリソース量の情報を含むリソース管理情報と、前記仮想マシンで発生したイベントの種類に応じて実行する対処情報を含むイベント情報と、を記憶する記憶部の記憶内容に基づきサービスを管理するサービス管理方法であって、
前記サービス管理装置の処理部は、
前記仮想マシンを移動する場合、前記記憶部に記憶されたサービス構成情報、ジョブ管理情報、ホストマシン構成情報、仮想マシン構成情報、リソース管理情報、イベント情報に基づき、当該仮想マシン上で稼動しているサービスがその終了期限までに完了するという条件を満たすよう、当該仮想マシンの移動先を決定して移動する
ことを特徴とするサービス管理方法。
【請求項９】
前記記憶部は、
前記ジョブの実行履歴と前記ジョブを実行する要因となった事象との対応情報を含むジョブ履歴管理情報を、さらに記憶しており、
前記処理部は、
前記ジョブの実行に関するリソース使用量を集計する場合、前記記憶部に記憶されたジョブ履歴管理情報を参照し、前記事象ごとにリソース使用量を集計する
ことを特徴とする請求項８に記載のサービス管理方法。
【請求項１０】
１台以上の業務コンピュータと、
前記１台以上の業務コンピュータ上を移動可能な複数の仮想マシン、および、前記業務コンピュータごとに配備され自身の業務コンピュータ内の前記仮想マシンを管理するホストマシン、を備える仮想システム環境に関して、サービス構成とサービスが使用する前記業務コンピュータの共有リソースとを管理し、前記仮想マシンの移動に際してそのリソース使用量から移動可能な前記業務コンピュータを決定し、当該仮想マシンを移動するサービス管理装置と、
を備えるサービス管理システムであって、
前記サービス管理装置は、
前記サービスの終了期限の情報を含むサービス構成情報と、サービスを構成するジョブごとの停止後の再開始時に実行すべきジョブの情報を含むジョブ管理情報と、前記ホストマシンの構成を示すホストマシン構成情報と、前記仮想マシンの構成を示す仮想マシン構成情報と、実行したジョブとそのジョブが使用したリソース量の情報を含むリソース管理情報と、前記仮想マシンで発生したイベントの種類に応じて実行する対処情報を含むイベント情報と、を記憶する記憶部と、
前記仮想マシンを移動する場合、前記記憶部に記憶されたサービス構成情報、ジョブ管理情報、ホストマシン構成情報、仮想マシン構成情報、リソース管理情報、イベント情報に基づき、当該仮想マシン上で稼動しているサービスがその終了期限までに完了するという条件を満たすよう、当該仮想マシンの移動先を決定して移動する処理部と、
を備えることを特徴とするサービス管理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想システム環境における仮想マシンの移動の技術に関する。
【背景技術】
【０００２】
近年、ＩＴ（Information Technology）の運用コスト削減や、運用管理の容易さ、サービスの継続性の観点から仮想化システムが注目されている。仮想化システムでは、サービスが稼動している業務コンピュータの構成を意識することなくサービスが提供される。さらに、業務コンピュータ内で共有可能なリソースを仮想マシンごとに任意のサイズで割り当て、仮想的なリソースとすることで、性能差を持つ複数の仮想マシンを同一コンピュータ内で構築可能である。そして、仮想マシン構築後も、動的に共有リソースの割り当てが変更可能であり、仮想マシン内のサービスをそれぞれ独立して提供することができる。
【０００３】
また、仮想マシンが稼動する業務コンピュータのリソース等に障害が発生した場合など、仮想マシンによるサービスの継続が不可能な場合は、別の業務コンピュータに仮想マシン内のサービスを構成する業務プログラムを配備した状態で仮想マシンを移動することで、仮想マシンによるサービスを継続して提供することができる。
【０００４】
また、特許文献１に開示された技術によると、サービスの性能目標に従って、業務コンピュータ内のリソースを動的に割り当てることが可能となる。
また、業務コンピュータおよび仮想マシン内で、サービスが使用するリソース量に関しては、ＯＳ（Operating System）や各社からリソース監視製品が提供されており、運用管理者は、任意のリソース項目について、業務コンピュータおよび、仮想マシンごとにリソースの使用量を取得することができる。
【特許文献１】特開２００７−４８３１５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
仮想化されたシステムでは、サービスを提供する仮想マシンが別業務コンピュータに移動可能であり、仮想マシンに割り当てたリソース量も動的に変更することができるため、仮想マシン上で取得した仮想的なリソース量から実際に割り当てられた業務コンピュータのリソースを特定することは極めて困難である。また、業務コンピュータの共有リソースは、任意の仮想マシンに割り当てられるため、共有リソースの使用量から仮想マシン上のサービスが実際に使用した共有リソース量を取得するには、業務コンピュータ上で構築した仮想マシンと仮想マシン上で稼動しているサービスの情報が必要である。
【０００６】
また、業務コンピュータ内の共有リソースで障害が発生し、障害の発生した共有リソースが割り当てられている仮想マシンを別業務コンピュータへ移動する必要がある場合、移動対象の仮想マシン上で稼動していたサービスが使用するリソース量をその仮想マシンに割り当てることができる別業務コンピュータへ仮想マシンを移動する必要がある。ここで、移動対象のサービスが一日の受注清算業務や発注業務など複数のジョブでサービスが構成されており、サービスとして提供しなければならいない時間（終了期限）が決まっている場合、移動先の業務コンピュータは、前記したサービスの終了期限の条件を満たすことができる業務コンピュータに移動する必要がある。さらに、業務コンピュータ間で共有リソースの性能に差があることから、移動先となる業務コンピュータの決定は困難になる。
【０００７】
ここで、業務をデータセンタ等でアウトソーシングしている場合など、サービスのリソース使用量を顧客に提供、もしくは、仮想システム構成の見直し等に利用する場合、共有リソースの障害など、アウトソーシング事業者に原因や責任があるときは、サービスのジョブ中断による再実行（リラン）分のリソース量は集計の対象外にしなければならない。入力情報の誤りなど、サービス利用者に原因や責任があるときは、再実行（リラン）分のリソース量は集計の対象にしなければならないが、従来技術におけるリソースの監視技術だけでは、ジョブの再実行（リラン）要因と再実行（リラン）したジョブとの対応情報を保持していないため不可能である。
【０００８】
そこで、本発明は、前記問題点に鑑みてなされたものであり、仮想システムにおいて、サービスのリソース使用量に基づいて仮想マシンの移動先を決定することを課題とする。
【課題を解決するための手段】
【０００９】
前記課題を解決するために、本発明は、１台以上の業務コンピュータ上でサービスを提供し１台以上の業務コンピュータ上を移動可能な複数の仮想マシンと、業務コンピュータごとに配備され自身の業務コンピュータ内の仮想マシンを管理するホストマシンと、を備える仮想システム環境に関して、サービス構成とサービスが使用する業務コンピュータの共有リソースとを管理し、仮想マシンの移動に際してそのリソース使用量から移動可能な業務コンピュータを決定し、当該仮想マシンを移動するサービス管理装置である。
サービス管理装置は、サービスの終了期限の情報を含むサービス構成情報と、サービスを構成するジョブごとの停止後の再開始時に実行すべきジョブの情報を含むジョブ管理情報と、ホストマシンの構成を示すホストマシン構成情報と、仮想マシンの構成を示す仮想マシン構成情報と、実行したジョブとそのジョブが使用したリソース量の情報を含むリソース管理情報と、前記仮想マシンで発生したイベントの種類に応じて実行する対処情報を含むイベント情報と、を記憶する記憶部と、仮想マシンを移動する場合、記憶部に記憶されたサービス構成情報、ジョブ管理情報、ホストマシン構成情報、仮想マシン構成情報、リソース管理情報、イベント情報に基づき、当該仮想マシン上で稼動しているサービスがその終了期限までに完了するという条件を満たすよう、当該仮想マシンの移動先を決定して移動する処理部と、を備える。
その他の手段については後記する。
【発明の効果】
【００１０】
本発明によれば、仮想システムにおいて、サービスのリソース使用量に基づいて仮想マシンの移動先を決定することができる。
【発明を実施するための最良の形態】
【００１１】
以下、図面を参照（言及図以外の図も適宜参照）して、本発明を実施するための最良の形態（以下、「実施形態」という。）について説明する。
【００１２】
まず、本実施形態において使用する各用語について説明する。
仮想マシンとは、仮想化技術によって物理的なコンピュータを分割し、その中で独立したＯＳを持って動作する論理的なコンピュータとし、業務コンピュータ間を移動することができるマシンとする。
また、ホストマシンとは、仮想マシンを管理するマシンのことであり、仮想マシンのように業務コンピュータ間を移動することはできないマシンで、本実施形態では、一つの業務コンピュータに一つのホストマシンが構築されるとする。
【００１３】
また、共有リソースとは、論理分割されたリソースで、同一業務コンピュータ上の仮想マシン間で共有するリソースのことであり、論理分割されたリソースを論理分割の単位で複数を仮想マシンに割り当てることができる。仮想マシン上では、複数の共有リソースが割り当てられていても、一つの仮想的なリソースとして捉えられる。例えば、共有リソースとして、ＣＰＵ（Central Processing Unit）の場合は、ＬＰＡＲ(Logical Partitioning)技術がある。
【００１４】
また、ジョブとは業務を構成する一つ一つの作業のことであり、業務プログラムが提供するコマンドやアプリケーションプログラム、シェルスクリプトなどが該当し、この業務処理の最小単位となる一つ一つの作業のことである。
また、ジョブＩＤ（IDentification）とは、サービス（業務）として複数のジョブを定義したジョブの集まりを識別するために割り当てられるＩＤとする。
また、イベントとは、仮想マシン内で発生する事象である。イベントが発生した仮想マシン名や、発生した事象の内容は、イベント内部に保持される。
【００１５】
図１は、本実施形態のサービス・リソース管理システムの全体構成図である。図１に示すように、サービス・リソース管理システムＳ（サービス管理システム）は、サービス・リソース監視装置１、イベント管理装置４（特許請求の範囲の「サービス管理装置」はこのイベント管理装置４も含む。）、サービス管理装置２、複数の業務コンピュータ７から構成されている。そして、サービス管理装置２、イベント管理装置４、業務コンピュータ７は、ネットワーク３により接続されている。
【００１６】
サービス・リソース監視装置１は、業務コンピュータ７に搭載されている共有リソース構成や共有リソースを割り当てた仮想マシン９の情報の表示、システム内での仮想マシン９の仮想リソース情報の表示、仮想マシン９上で提供されているサービスの構成情報の表示、サービスとして提供するジョブの構成情報の表示、サービスが使用したリソース使用量の表示、ジョブの実行履歴の表示、仮想マシン９で発生したイベント情報の表示、イベント内容に対する対処情報の操作をするための画面を出力するＧＵＩ(Graphical User Interface)１０を備えている。
【００１７】
サービス管理装置２は、サービス構成管理部２０、仮想マシン生成変更部２１、ジョブ管理部２２、ジョブ実行部２５、サービス構成変更部２４、リソース情報取得部２３、リソース情報表示部２６および構成情報表示部２７を備える。
【００１８】
サービス構成管理部２０は、業務コンピュータ７の構成取得エージェント部８２と通信し、業務コンピュータ７に搭載されている共有リソースの数や容量などの情報を取得する処理部である。また、仮想マシン構成テーブル５５（仮想マシン構成情報）（詳細は図１３で後記）から仮想マシン名６８２と、仮想マシン名６８２を作成（生成）するホストマシン名６８３を取得し、仮想マシン生成変更部２１に仮想マシンの生成を要求し、仮想マシン生成後に、マシン構成テーブル５３（ホストマシン構成情報）（詳細は図１１で後記）の、仮想マシンに割り当て可能なＬＰＡＲ＿ＩＤ５６２を取得し、仮想マシン構成テーブル５５に設定されたＣＰＵ量６８４から、仮想マシンに割り当てるＬＰＡＲ＿ＩＤ５６２に対応したＬＰＡＲ使用仮想マシン名５６３に仮想マシン名を設定する。
【００１９】
サービス構成管理部２０は、さらに、サービス構成テーブル５１（詳細は図９で後記）（サービス構成情報）の、必要メモリ量５１６と必要ディスク量５１７から、仮想マシンが必要とするメモリ量とディスク空き量を集計し、仮想マシンに割り当てるメモリＩＤ５６４（図１１参照）とディスクに対応するメモリ使用仮想マシン名５６７（図１１参照）とディスク使用仮想マシン名５７０に、割り当てた仮想マシン名を設定する。仮想マシンに割り当てる共有リソースをマシン構成テーブル５３に設定後、構成変更エージェント部８３と通信し、マシン構成テーブル５３の内容で、ホストマシンが管理する共有リソースを仮想マシンに割り当てる。仮想マシンに共有リソースを割り当てた後に、仮想マシン構成テーブル５５のメモリ量６８５とディスク量６８６に割り当てた共有リソース量の合計をそれぞれ設定する。
【００２０】
仮想マシン生成変更部２１は、仮想マシン構成テーブル５５に登録されているホストマシン名６８３のホストマシンの仮想マシン生成変更エージェント部８１と通信し、業務コンピュータ７に仮想マシンを作成する処理部である。また、仮想マシンの移動時には、移動元のホストマシンに作成されている仮想マシンを削除し、移動先のホストマシンに仮想マシンを作成する。
【００２１】
ジョブ管理部２２は、ジョブ管理テーブル５２（ジョブ管理情報）、ジョブ履歴管理テーブル５７（ジョブ履歴管理情報）の情報をサービス・リソース監視装置１のＧＵＩ１０に表示させたり、サービス・リソース監視装置１からのジョブの構成や実行するジョブの内容に関する情報を受け付けたりする処理部である。また、サービス構成テーブル５１のサービス開始時刻５１４の時刻になると、ジョブ実行部２５にジョブの実行要求を行い、ジョブ実行部２５からジョブの開始時刻と終了時刻や実行結果を受け付け、仮想マシン構成テーブル５５からジョブを実行する仮想マシン名に対応した仮想構成ＩＤ６８０とホストマシン名６８３を取得し、マシン構成テーブル５３からホストマシン名５６１の構成ＩＤ５６０を取得し、ジョブ履歴管理テーブル５７に取得した情報を登録する処理部である。
【００２２】
ジョブ実行部２５は、仮想マシンのジョブ実行エージェント部９２と通信し、実行するジョブ情報を送り、ジョブ実行エージェント部９２からジョブの実行結果を受け付ける処理部である。
【００２３】
サービス構成変更部２４は、イベント対処実行部４３から受け付けた対処内容を実行する処理部であり、対処内容が仮想マシンの移動の場合は、移動対象の仮想マシン上のサービスが使用するリソースを満たすことが可能なホストマシン名を検索する処理部である（処理の流れは図１８、図１９Ａ、図１９Ｂを参照）。また、仮想マシンに複数のサービスが存在する場合に、サービス全体で使用するリソース量を満たす移動先が見つからなかった場合は、サービスの実行順序を制御することでリソース量を満たす業務コンピュータが存在しないか検索する処理部である（処理の流れは図２０を参照）。移動先ホストマシン名が取得できた場合は、仮想マシン構成テーブル５５に、変更後の仮想マシン情報を追加し、仮想マシン生成変更部２１に仮想マシンの移動要求を行う。仮想マシンの移動が終了した後、マシン構成テーブル５３に、移動元のホストマシンの構成情報と移動先のホストマシンの構成情報を新たに追加し、移動元と移動先のホストマシンの構成変更エージェント部８３と通信を行い、マシン構成テーブル５３に追加した変更後のホストマシンの構成を、通知する。さらに、仮想マシンの移動が終了した後に、ジョブ実行部２５にジョブの再開始を要求する。
【００２４】
リソース情報取得部２３は、仮想マシンのリソース情報取得エージェント部９１と通信し、ジョブの実行に使用したリソース量結果を受け付ける処理部である。
リソース情報表示部２６は、リソース管理テーブル５６（リソース管理情報）の情報をサービス・リソース監視装置１のＧＵＩ１０に表示させる処理部である。
【００２５】
構成情報表示部２７は、サービス構成テーブル５１、マシン構成テーブル５３、性能係数テーブル５４（性能係数情報）、仮想マシン構成テーブル５５のテーブル情報をサービス・リソース監視装置１のＧＵＩ１０に、表示させたり、サービス・リソース監視装置１からの要求を受け付けたりする処理部である。
【００２６】
サービス管理装置２が取り扱う記憶部１（５）（なお、名称（ここでは「記憶部１」）の後の（）の中の数字（ここでは「５」）は符号である。以下同様）のテーブル情報として、マシン構成テーブル５３と仮想マシン構成テーブル５５とサービス構成テーブル５１とジョブ管理テーブル５２とリソース管理テーブル５６と性能係数テーブル５４とジョブ履歴管理テーブル５７がある。
【００２７】
イベント管理装置４は、イベント管理部４１、イベント解析部４２、イベント対処実行部４３、イベント表示部４４を備えている。
イベント管理部４１は、仮想マシンで発生したイベントを仮想マシンのイベント通知エージェント部９３から受け取り、イベント管理テーブル６２（イベント情報）にイベントに格納されている情報を登録する処理部である。
イベント解析部４２は、イベント管理部４１がイベント管理テーブル６２に登録したイベントのメッセージ６３２と一致するメッセージ６１１がイベント対処テーブル６１（イベント情報）に存在するか解析する処理部である。
【００２８】
イベント対処実行部４３は、イベント解析部４２の解析結果から仮想マシンで発生したイベントの内容に対する対処内容６１２を、サービス管理装置２のサービス構成変更部２４に通知する処理部である。
イベント表示部４４は、サービス・リソース監視装置１のＧＵＩ１０に、イベント対処テーブル６１およびイベント管理テーブル６２のテーブル情報を表示したり、ＧＵＩ１０からイベント対処テーブル６１に設定するイベントのメッセージ６１１と対処内容６１２を受け付けたりする処理部である。
【００２９】
イベント管理装置４が取り扱う記憶部２（６）のテーブル情報として、イベント対処テーブル６１とイベント管理テーブル６２がある。
【００３０】
業務コンピュータ７は、ホストマシン８に仮想マシン生成変更エージェント部８１と構成取得エージェント部８２と構成変更エージェント部８３とを備え、業務コンピュータ７内に構築される仮想マシン９に、業務プログラム９４とリソース情報取得エージェント部９１とジョブ実行エージェント部９２とイベント通知エージェント部９３とを備える。
【００３１】
仮想マシン９は、業務コンピュータ７内に複数存在する。また、業務プログラム９４は、サービスを提供するための実行プログラムであり、業務コンピュータ７内に複数存在する。
仮想マシン生成変更エージェント部８１は、業務コンピュータ７内に仮想マシン９を作成、もしくは、業務コンピュータ７から仮想マシン９を削除する処理部である。
構成取得エージェント部８２は、業務コンピュータ７内の共有リソース情報を取得し、取得結果をサービス管理装置２のサービス構成管理部２０に通知する処理部である。
構成変更エージェント部８３は、サービス管理装置２のサービス構成変更部２４から受け取ったマシン構成情報から、共有リソースを仮想マシン９に割り当てる処理部である。
【００３２】
リソース情報取得エージェント部９１は、ジョブ実行エージェント部９２からリソースを取得するジョブ名とコマンド名を受け取り、受け取ったジョブのリソース使用量を収集し、収集結果をサービス管理装置２のリソース情報取得部２３に通知する。
ジョブ実行エージェント部９２は、サービス管理装置２のジョブ実行部２５から通知されたジョブを実行し、リソース情報取得エージェント部９１に、リソース使用量を取得するジョブ名とコマンド名を通知し、ジョブの実行結果を、サービス管理装置２のジョブ実行部２５に通知する処理部である。
イベント通知エージェント部９３は、仮想マシン内でジョブの実行中に発生するイベントを監視し、ジョブの実行中にイベントが発生した場合、イベント管理装置４のイベント管理部４１に、イベントを通知する処理部である。
【００３３】
図２は、本実施形態のサービス・リソース監視装置１とサービス管理装置２のハードウェア構成を説明するための全体構成図である。サービス管理装置２は、ＣＰＵ１１０（処理部）、メモリ１１１（記憶部）、記憶装置１１２（記憶部）、表示インターフェース１１３、ディスクインターフェース１１４、通信インターフェース１１５を備える。また、サービス・リソース監視装置１は、ＣＰＵ１００、メモリ１０１、記憶装置１０２、表示インターフェース１０３を備える。
【００３４】
サービス管理プログラム１１は、ＣＰＵ１１０が記憶装置１１２に格納されていた各プログラムをメモリ１１１上にロードして実行することで実現できる。また、サービス管理装置２は、外部の記憶部１（５）とディスクインターフェース１１４を介して接続され、イベント管理装置４および業務コンピュータ７と通信インターフェース１１５およびネットワーク３を介して接続される。一方、サービス・リソース監視装置１において、ＧＵＩ１０は、ＣＰＵ１００が記憶装置１０２に格納されていたプログラムをメモリ１０１上にロードして実行することで実現できる。
【００３５】
図３は、記憶部１（５）の構成図である。記憶部１（５）には、サービス構成テーブル５１、ジョブ管理テーブル５２、マシン構成テーブル５３、性能係数テーブル５４、仮想マシン構成テーブル５５、リソース管理テーブル５６、ジョブ履歴管理テーブル５７が格納される。
【００３６】
図４は、本実施形態のイベント管理装置４と業務コンピュータ７のハードウェア構成を説明するための全体構成図である。イベント管理装置４は、ＣＰＵ１２０（処理部）、メモリ１２１（記憶部）、記憶装置１２２（記憶部）、表示インターフェース１２５、ディスクインターフェース１２３、通信インターフェース１２４を備える。
【００３７】
イベント管理プログラム１２は、ＣＰＵ１２０が記憶装置１２２に格納されていた各プログラムをメモリ１２１上にロードして実行することで実現できる。また、イベント管理装置４は、外部の記憶部２（６）とディスクインターフェース１２３を介して接続され、サービス管理装置２および業務コンピュータ７と通信インターフェース１２４およびネットワーク３を介して接続される。
【００３８】
業務コンピュータ７は、ホストマシン用ＣＰＵ１３０、ＬＰＡＲ＿１（１３２）からＬＰＡＲ＿Ｎ（１３３）の論理的な区分に分割して仮想マシンに割り当て可能な仮想マシン用ＣＰＵ１３１、ホストマシン用メモリ１３７と複数の仮想マシンに割り当て可能な仮想マシン用メモリ１３８、記憶装置１３５、通信インターフェース１３６を備えている。ここで、仮想マシン生成変更エージェント部８１と構成取得エージェント部８２と構成変更エージェント部８３は、ホストマシン用ＣＰＵ１３０が記憶装置１３５に格納されていた各プログラムをホストマシン用メモリ１３７上にロードして実行することで実現される。リソース情報取得エージェント部９１とジョブ実行エージェント部９２とイベント通知エージェント部９３は、仮想マシン用ＣＰＵ１３１が記憶装置１３５に格納されていた各プログラムを仮想マシン用メモリ１３８上にロードして実行することで実現される。また、業務コンピュータ７は、サービス管理装置２とイベント管理装置４と、通信インターフェース１３６およびネットワーク３を介して接続される。
【００３９】
図５は、本実施形態のより具体的な例を表す図である。
業務システム１３は、業務コンピュータ１（７１）〜Ｍ（７３）（図１の業務コンピュータ７に相当）から構成される。また、各業務コンピュータ１（７１）〜Ｍ（７３）は、複数の仮想マシンＡ（７４）〜Ｎ（７７）と、仮想マシンＡ（７４）〜Ｎ（７７）を管理するホストマシン１（７８）〜Ｍ（８０）を備えている。サービス管理装置２は、業務コンピュータ１（７１）〜Ｍ（７３）のリソース情報と各仮想マシンＡ（７４）〜Ｎ（７７）の構成情報を管理している。また、イベント管理装置４は、各仮想マシンＡ（７４）〜Ｎ（７７）で発生したイベント情報を管理している。サービス・リソース監視装置１は、一元的に業務コンピュータ７１〜７３を監視する。
【００４０】
仮想マシンＡ（７４）のリソースである、仮想メモリ７４１と仮想ＣＰＵ７４２と仮想ディスク７４３には、それぞれ、ＬＰＡＲ＿１（７１１１）とＬＰＡＲ＿２（７１１２）、メモリ１（７１２１）とメモリ２（７１２２）、ディスク１（７１３１）とディスク２（７１３２）が割り当てられている。また、仮想マシンＢ（７５）のリソースである、仮想メモリ７５１と仮想ＣＰＵ７５２と仮想ディスク７５３には、それぞれ、ＬＰＡＲ＿３（７１１３）、メモリ３（７１２３）、ディスク３（７１３３）が割り当てられている。なお、ＬＰＡＲ＿４（７１１４）、メモリ４（７１２４）、ディスク４（７１３４）は、仮想マシンに割り当てられておらず、余剰リソースとなっている。
【００４１】
業務コンピュータ２（７２）内では、仮想マシンＣ（７６）が構築されている。仮想マシンＣ（７６）のリソースである、仮想メモリ７６１と仮想ＣＰＵ７６２と仮想ディスク７６３には、それぞれ、ＬＰＡＲ＿１（７２１１）、メモリ１（７２２１）とメモリ２（７２２２）、ディスク１（７２３１）が割り当てられている。なお、ＬＰＡＲ＿２（７２１２）〜ＬＰＡＲ＿４（７２１４）、メモリ３（７２２３）とメモリ４（７２２４）、ディスク２（７２３２）〜ディスク４（７２３４）は、仮想マシンに割り当てられておらず、余剰リソースとなっている。
【００４２】
図６は、本実施形態で図５の仮想マシンが提供するサービスと、サービスを構成するジョブを表す図である。
業務コンピュータ１（７１）内には、仮想マシンＡ（７４）と仮想マシンＢ（７５）が構築されている。仮想マシンＡ（７４）では、サービスＡ１（７４４）とサービスＡ２（７４５）が提供されている。それぞれのサービスＡ１（７４４），Ａ２（７４５）は、サービスとしてのジョブの集まりであるジョブＩＤ１（７４６）とジョブＩＤ２（７４７）から構成されている。ここで、ジョブＩＤ１（７４６）は、ジョブ１Ａ（７４６１）〜ジョブ１Ｅ（７４６５）から構成されている。また、ジョブ１Ａ（７４６１）はサービスＡ１（７４４）の開始ジョブで、ジョブ１Ａ（７４６１）の実行が終了すると、ジョブ１Ｂ（７４６２）とジョブ１Ｃ（７４６３）の実行を開始する。その他のジョブも同様の流れで実行される。
【００４３】
ジョブＩＤ２（７４７）は、ジョブ２Ａ（７４７１）〜ジョブ２Ｃ（７４７３）から構成されている。また、仮想マシンＢ（７５）では、サービスＢ（７５４）が提供されている。サービスＢ（７５４）は、サービスとしてのジョブの集まりジョブＩＤ３（７５５）で構成されている。また、ジョブ３Ａ（７５５１）は、ジョブＩＤ３（７５５）の開始ジョブで、ジョブ３Ａ（７５５１）の実行が終了すると、ジョブ３Ｂ（７５５２）の実行を開始する。その他のジョブも同様の流れで実行される。
【００４４】
業務コンピュータ２（７２）内には、仮想マシンＣ（７６）が構築されている。仮想マシンＣ（７６）では、サービスＣ（７６４）が提供されている。サービスＣ（７６４）は、サービスとしてのジョブの集まりであるジョブＩＤ４（７６５）から構成されている。ここで、ジョブＩＤ４（７６５）は、ジョブ４Ａ（７６５１）とジョブ４Ｂ（７６５２）から構成されている。ジョブ４Ａ（７６５１）はサービスＣ（７６４）の開始ジョブで、ジョブ４Ａ（７６５１）の実行が終了すると、ジョブ４Ｂ（７６５２）の実行を開始する。なお、ジョブ４Ｂ（７６５２）は終了ジョブで、ジョブ４Ｂ（７６５２）が終了するとサービスＣ（７６）のサービスの提供が終了する。
【００４５】
業務コンピュータＭ（７３）内には、仮想マシンＮ（７７）が構築されている。仮想マシンＮ（７７）では、サービスＮ（７７４）が提供されている。サービスＮ（７７４）は、サービスとしてのジョブの集まりであるジョブＩＤＮ（７７５）から構成されている。ここで、ジョブＩＤＮ（７７５）は、ジョブＮＡ（７７５１）〜ジョブＮＣ（７７５３）から構成されている。ジョブの実行の流れは前記と同様である。
【００４６】
図７は、記憶部２（６）が保持するテーブルの一つであるイベント対処テーブル６１を示す図である。
イベント対処テーブル６１は、仮想マシンで発生した障害情報などを格納したイベントの発生要因であるメッセージと対処内容の関係を保持するもので、運用管理者が定義（予め入力）したものである。
【００４７】
対処ＩＤ６１０は、メッセージ６１１と対処内容６１２を識別するためのＩＤである。メッセージ６１１は、仮想マシンから通知されたイベントの発生要因として格納されているメッセージを設定する項目である。対処内容６１２は、メッセージ６１１に対して対処する内容を設定する項目である。
【００４８】
例えば、対処１（６２０）の「ディスクアクセスエラー」メッセージ６１１を格納したイベントがイベント管理テーブル６２に登録された場合は、イベント対処実行部４３が、仮想マシンに割り当てられているディスクを変更する「ディスク変更」の要求をサービス管理装置２のサービス構成変更部２４に通知する。
対処２（６２１）の「仮想マシンで障害発生」メッセージ６１１を格納したイベントが登録された場合は、障害が発生した仮想マシンを別の業務コンピュータに移動する「仮想マシン移動」要求をサービス管理装置２のサービス構成変更部２４に通知する。
【００４９】
対処３（６２２）の「ネットワークエラー」メッセージ６１１を格納したイベントが登録された場合は、その影響を受ける仮想マシンを別の業務コンピュータに移動する「仮想マシン移動」要求をサービス管理装置２のサービス構成変更部２４に通知する。
対処４（６２３）の「ＣＰＵのリソース使用量が９０％」メッセージを格納したイベントが登録された場合は、該当する仮想マシンにＣＰＵを追加する「ＣＰＵを追加」要求をサービス管理装置２のサービス構成変更部２４に通知する。
【００５０】
図８は、記憶部２（６）が保持するテーブルの一つであるイベント管理テーブル６２を示す図である。イベント管理テーブル６２は各仮想マシンで発生したイベントと、実行した対処の関係を保持したものである。
イベントＩＤ６３０には、イベント管理テーブル６２に登録される際に一意に識別可能なＩＤが割り当てられる。仮想マシン名６３１には、イベントが発生した仮想マシン名が設定される。メッセージ６３２には、イベントが保持するメッセージが設定される。ジョブ実行ＩＤ６３３には、イベントを発生したジョブのジョブ実行ＩＤが設定される。対処ＩＤ６３４には、イベント解析部４２により、メッセージ６３２に設定されたイベントのメッセージと一致するイベント対処テーブル６１の実行する対処ＩＤ６１０（図７参照）が設定される。
【００５１】
例えば、イベント１（６４０）は、仮想マシンＡ（７４）でジョブ実行ＩＤ６３３が「１」のジョブを実行中にメッセージ６３２が「ディスクアクセスエラー」のイベントが、イベント管理部４１に通知された場合に登録される内容で、対処ＩＤ（６３４）にはイベント解析部４２により、イベント対処テーブル６１のメッセージ６１１（図７参照）と一致する対処ＩＤ６１０（図７参照）である「対処１」（図７の符号６２０の行参照）が設定される。
イベント２（６４１）の対処ＩＤ（６３４）には、イベント対処テーブル６１の「対処２」（図７の符号６２１の行参照）が設定され、イベント３（６４２）には、「対処３」（図７の６２２）が設定され、イベント４（６４３）には、「対処４」（図７の符号６２３の行参照）がそれぞれ設定される。
【００５２】
図９は、記憶部１（５）が保持するテーブルの一つであるサービス構成テーブル５１を示す図である。サービス構成テーブル５１は、業務システム内で提供するサービスの情報を保持し、運用管理者が定義（予め入力）したものである。
サービス名５１０には、業務システム内で提供するサービス名を設定する。仮想マシン名５１１には、サービスを提供する仮想マシン名を設定する。ジョブＩＤ５１２には、サービスを構成するジョブの集まりを識別するＩＤを設定する（図１０参照）。開始ジョブ５１３には、サービスを開始するためのジョブ名を設定する。サービス開始時刻５１４には、開始ジョブを実行する時刻を設定する。サービス終了時刻５１５には、サービスの提供が終了しなければならない時刻、つまり、サービスを構成するジョブＩＤ（５１２）に対して、ジョブ管理テーブル５２で最後のジョブ（次ジョブ名が設定されていないジョブ（図１０参照））の実行が終了しなければならない時刻を設定する。必要メモリ量（５１６）には、サービスを稼動するために必要なメモリ量を設定する。必要ディスク量（５１７）には、サービスを稼動するために必要なディスク空き容量を設定する。
【００５３】
例えば、サービス構成テーブル５１の符号５２０の行に設定したサービスＡ１（７４４）は、仮想マシンＡ（７４）で提供し、ジョブＩＤ１のジョブ群から構成され、開始ジョブ（５１３）はジョブ１Ａであり、ジョブ１Ａを実行開始する時刻は毎日「００：００」である。また、サービスＡ１（７４４）の最終ジョブであるジョブ１Ｅ（図１０参照）が終了しなければならない時刻は毎日「０４：００」である。さらに、サービスＡ１（７４４）を稼動するためには、仮想マシンＡ（７４）に０．５ＧＢｙｔｅのメモリ容量と１００ＧＢｙｔｅのディスク空き容量が必要であることを設定する。
その他のサービス（符号５２１〜５２５）についても、提供する仮想マシン名、ジョブＩＤ、開始ジョブ名、サービス開始時刻、サービス終了時刻、必要メモリ量、必要ディスク量を設定する。
【００５４】
図１０は、記憶部１（５）が保持するテーブルの一つであるジョブ管理テーブル５２を示す図である。
ジョブ管理テーブル５２は、サービスを構成するジョブ名とコマンド名、ジョブの実行順序および、ジョブの実行に失敗した場合に、再実行（リラン）を開始する再開始ジョブ名の関係を保持したもので、運用管理者が定義（予め入力）したものである。
【００５５】
ジョブＩＤ（５３０）には、サービス単位で実行するジョブの集まりを識別するためのＩＤを設定する。ジョブ名（５３１）には、ジョブＩＤの構成要素となるジョブ名を設定する。コマンド名（５３２）には、ジョブ名のジョブが実行するコマンド名を設定する。次ジョブ名（５３３）には、ジョブ名に設定されたジョブの実行が終了した際に、次に実行するジョブ名を設定する。前ジョブ名（５３４）には、ジョブ名に設定されたジョブの前に実行したジョブを設定する。再開始ジョブ名（５３５）には、ジョブ名に設定されたジョブの実行に失敗した場合に、再実行（リラン）するジョブ名を設定する。
【００５６】
例えば、図６の仮想マシンＡ（７４）で提供するサービスＡ１（７４４）を構成するジョブＩＤ１（５４０〜５４４）は、ジョブＩＤ１の開始ジョブであるジョブ１Ａ、ジョブ１Ｂ、ジョブ１Ｃ、ジョブ１Ｄ、ジョブ１Ｅから構成される。ジョブ１Ａは、コマンド１Ａの実行が終了すると、次ジョブ名（５３３）に設定されたジョブ１Ｂとジョブ１Ｃが実行される。ジョブ１Ａの実行に失敗した場合は、再開始ジョブ名（５３５）に設定したジョブ１Ａから再実行（リラン）される。ジョブ１Ｂは、前ジョブ名（５３４）に設定されたジョブ１Ａの実行が終了した後に、実行され、ジョブ１Ｂで実行するコマンド１Ｂの実行が終了すると、次ジョブ名（５３３）に設定されたジョブ１Ｄを実行する。ジョブ１Ｂの実行に失敗した場合は、ジョブ１Ａからジョブを再度実行する。
【００５７】
ジョブ１Ｃは、前ジョブ名（５３４）に設定されたジョブ１Ａの実行が終了した後に、実行され、ジョブ１Ｃで実行するコマンド１Ｃの実行が終了すると、次ジョブ名（５３３）に設定されたジョブ１Ｄを実行する。ジョブ１Ｃの実行に失敗した場合は、ジョブ１Ａからジョブを再度実行する。ジョブ１Ｄは、前ジョブ名（５３４）に設定されたジョブ１Ｂとジョブ１Ｃの実行が終了した後に、実行され、ジョブ１Ｄで実行するコマンド１Ｄの実行が終了すると、次ジョブ名（５３３）に設定されたジョブ１Ｅを実行する。ジョブ１Ｄの実行に失敗した場合は、ジョブ１Ａからジョブを再度実行する。ジョブ１Ｅは、前ジョブ名（５３４）に設定されたジョブ１Ｄの実行が終了した後に、実行され、ジョブ１Ｅで実行するコマンド１Ｅの実行が終了すると、次ジョブ名（５３３）にジョブ名が設定されていないため、ジョブＩＤ１の実行を終了し、サービスＡ１（７４４）の提供が終了する。ジョブ１Ｅの実行に失敗した場合は、ジョブ１Ｄからジョブを再度実行する。
ジョブＩＤ２（５４５〜５４７）〜ジョブＩＤＮ（５５４〜５５６）についても、実行するジョブ名とコマンド名、次ジョブ名、前ジョブ名、再開始ジョブ名を設定する。
【００５８】
図１１は、記憶部１（５）が保持するテーブルの一つであるマシン構成テーブルを示す図である。
マシン構成テーブル５３は、業務システム１３内の業務コンピュータ１（７１）〜Ｍ（７３）に搭載されている共有リソースである、仮想マシン用ＣＰＵ１３１、仮想マシン用メモリ１３８、記憶装置１３５の情報と、各共有リソースに割り当てられている仮想マシン名の関係、さらに、各メモリおよび、ディスクの処理性能を保持するテーブルである。なお、初期のマシン構成として、構成ＩＤが「１」（５８０）〜「Ｍ」（５９３）のホストマシン名（５６１）は、運用管理者が定義（予め入力）したものである。
【００５９】
構成ＩＤ（５６０）には、ホストマシンの構成を識別するために割り当てられるＩＤが付与され、構成が変更される毎に新たにＩＤが追加される。ホストマシン名（５６１）には、業務システム１３内で管理されている業務コンピュータ１（７１）〜Ｍ（７３）のホストマシン名を設定する。ＬＰＡＲ＿ＩＤ（５６２）には、ホストマシン名のマシンが管理しているＬＰＡＲの数だけＬＰＡＲを識別するＩＤが設定される。ＬＰＡＲ使用仮想マシン名（５６３）には、ＬＰＡＲ＿ＩＤを使用する仮想マシン名が設定される。メモリＩＤ（５６４）には、ホストマシン名のマシンが管理しているメモリの数だけメモリを識別するメモリＩＤが設定される。
【００６０】
メモリ容量（５６５）は、メモリＩＤ（５６４）に設定されたメモリの容量が設定される。メモリ性能（５６６）には、メモリＩＤ（５６４）に設定されたメモリの性能（単位時間当たりの情報処理量）を設定する。メモリ使用仮想マシン名（５６７）には、メモリＩＤ（５６４）に設定されているメモリを使用する仮想マシン名を設定する。ディスクＩＤ（５６８）には、ホストマシン名のマシンが管理しているディスクの数だけ、ディスクを識別するＩＤが設定される。ディスク空き容量（５６９）は、ディスクＩＤに設定されたディスクの空き容量が設定される。ディスク使用仮想マシン名（５７０）には、ディスクＩＤ（５６８）に設定されているディスクを使用する仮想マシン名を設定する。ディスク読込み性能（５７１）には、ディスクＩＤに設定されたディスクの読込み性能（単位時間当たりの読込み量）を設定する。ディスク書込み性能（５７２）には、ディスクＩＤに設定されたディスクの書込み性能（単位時間当たりの書込み量）を設定する。
【００６１】
例えば、構成ＩＤ（５６０）が「１」（５８０〜５８３）のホストマシン１（７８）（図５参照）について、ホストマシン１（７８）のＣＰＵの論理分割区分であるＬＰＡＲ＿１（７１１１）〜ＬＰＡＲ＿４（７１１４）で構成され、メモリはメモリ１（７１２１）〜メモリ４（７１２４）で構成され、ディスクはディスク１（７１３１）〜ディスク４（７１３４）で構成されていることを、サービス構成管理部２０がホストマシン１（７８）の構成取得エージェント部８２（図１参照）から取得し、マシン構成テーブル５３に設定する。メモリ性能（５６６）、ディスク読込み性能（５７１）およびディスク書込み性能（５７２）は運用管理者が定義（設定）する。各共有リソースを使用するＬＰＡＲ使用仮想マシン名（５６３）、メモリ使用仮想マシン名（５６７）、ディスク使用仮想マシン名（５７０）については、サービス構成管理部２０によって、仮想マシン構成テーブル５５とサービス構成テーブル５１に定義した仮想マシンが必要な共有リソース量の情報に従って、自動で割り当てられる（図１７の説明を参照）。
【００６２】
ここで、ホストマシン１（７８）に作成する仮想マシンＡ（７４）（図５参照）には、ＬＰＡＲ＿１（７１１１）とＬＰＡＲ＿２（７１１２）、メモリ１（７１２１）とメモリ２（７１２２）、ディスク１（７１３１）とディスク２（７１３２）が割り当てられる。また、仮想マシンＡ（７４）と同一のホストマシン１（７８）に作成される仮想マシンＢ（７５）（図５参照）には、ＬＰＡＲ＿３（７１１３）、メモリ３（７１２３）、ディスク３（７１３３）が割り当てられる。なお、ＬＰＡＲ＿４（７１１４）、メモリ４（７１２４）、ディスク４（７１３４）は仮想マシンへ未割り当てである。
【００６３】
その他のホストマシン２（７９）〜ホストマシンＭ（８０）の構成ＩＤ（５８４〜５９３）についても、ホストマシンの共有リソースの構成情報と、共有リソースが割り当てられている仮想マシンの情報を保持する。
【００６４】
また、イベント対処実行部４３から仮想マシンＡ（７４）をホストマシン１（７８）から移動する要求があった場合、サービス構成変更部２４は、仮想マシンＡ（７４）のサービスが使用するリソース量を満たす移動先のホストマシン名と割り当てるリソースを決定（図１９Ａ、図１９Ｂの処理を参照）し、マシン構成テーブル５３のホストマシン１の構成（５８０〜５８３）を参照して、構成ＩＤ（５６０）に「Ｍ＋１」（５９４〜５９７）を作成し、構成ＩＤ（５６０）の「１」の内容（５８０〜５８３）をコピーする。
【００６５】
そして、構成ＩＤ（５６０）が「Ｍ＋１」である行５９４〜５９７において、仮想マシンＡ（７４）に割り当てられているＬＰＡＲ＿１（７１１１）とＬＰＡＲ＿２（７１１２）、メモリ１（７１２１）とメモリ２（７１２２）、ディスク１（７１３１）とディスク２（７１３２）の各使用仮想マシン名（５６３，５６７，５７０）を「未使用」に変更する。さらに、サービス構成変更部２４は、移動先となったホストマシン２（７９）の構成ＩＤ（５６０）の「２」（５８４〜５８７）を「Ｍ＋２」（５９８〜６０１）にコピーして、ホストマシン２（７９）の余剰リソースとなっているＬＰＡＲ＿２（７２１２）〜ＬＰＡＲ＿４（７２１４）、メモリ３（７２２３）とメモリ４（７２２４）、ディスク２（７２３２）とディスク３（７２３３）を、仮想マシンＡ（７４）に割り当てる。サービス構成変更部２４は、移動元のホストマシン１（７８）と移動先のホストマシン２（７９）の変更後の構成ＩＤ（５６０）である「Ｍ＋１」（５９４〜５９７）と「Ｍ＋２」（５９８〜６０１）に関する情報を作成、設定した後に、各ホストマシンの構成変更エージェント部８３にその変更情報を通知する（図１８の処理を参照）。
【００６６】
図１２は、（ａ）が記憶部１（５）が保持するテーブルの一つである性能係数テーブル５４を示す図であり、（ｂ）が評価式（詳細は後記）を表すグラフである。
図１２（ａ）に示すように、性能係数テーブル５４は、ホストマシン名（６５０）とホストマシンの管理する共有リソースの性能の関係を保持し、運用管理者が定義（予め入力）したものである。なお、性能係数テーブルに設定する項目は、ホストマシン内の仮想マシンに割り当てた共有リソースの数によって、仮想マシンの性能に差異がある場合に、差異のあるリソースについて設定する。
【００６７】
ホストマシン名（６５０）には、業務システム１３内のホストマシン名を設定する。ここでは、１つの仮想マシンに割り当てるＬＰＡＲとメモリの数によって、仮想マシンの処理性能に差異が発生するとし、命令回数（平均）（６５１）には、仮想マシンに割り当てられているＬＰＡＲの数による性能の評価式を設定する。メモリ処理（６５２）には、仮想マシンに割り当てられているメモリの数による性能の評価式を設定する。ディスク読込み（６５３）とディスク書込み（６５４）についても、仮想マシンに割り当てられているディスクの数による性能の評価式を設定する。
【００６８】
例えば、ホストマシン１（６６０）の命令回数（平均）（６５１）には、ホストマシン１のＬＰＡＲの処理性能に対する評価式ｆ１ｃ（ｘ）、ホストマシン２（６６１）の命令回数（平均）にはｆ２ｃ（ｘ）を設定する。ここで、図１２（ｂ）に示すように、ホストマシン１（６６０）のＬＰＡＲの性能評価式ｆ１ｃ（ｘ）は、ＬＰＡＲの数が１つの場合は４０万（回）／ｓ（秒）（６７９）の処理性能であり、それぞれＬＰＡＲの数が２つの場合は１００万／ｓ、（６７７）、ＬＰＡＲの数が３つの場合は１４０万／ｓ（６７６）、ＬＰＡＲの数が４つの場合は１５０万／ｓ（６７５）の処理性能とする。また、ホストマシン２のＬＰＡＲの性能評価式ｆ２ｃ（ｘ）は、ＬＰＡＲの数が１つの場合は８０万／ｓ（６７８）の処理性能であり、それぞれＬＰＡＲの数が２つの場合は１９０万／ｓ（６７４）ＬＰＡＲの数が３つの場合は２００万／ｓ（６７３）、ＬＰＡＲの数が４つの場合は１９０万／ｓ（６７４）の処理性能とする。なお、ＬＰＡＲが複数の場合、オーバーヘッドが発生するため、評価式における各数値はこのようになる。
【００６９】
図１３は、記憶部１（５）が保持するテーブルの一つである仮想マシン構成テーブル５５を示す図である。
仮想マシン構成テーブル５５は、仮想マシン名（６８２）と仮想マシン名を構築するホストマシン名（６８３）、仮想マシンに割り当てる共有リソース量の関係を保持したものである。
【００７０】
仮想構成ＩＤ（６８０）には、仮想マシンの構成を識別するためのＩＤが設定される。変更前仮想構成ＩＤ（６８１）には、仮想マシンの構成が変更になった場合に、変更対象となる仮想マシンの一つ前の仮想構成ＩＤを設定する。仮想マシン名（６８２）には、業務コンピュータ７内に作成する仮想マシン名を設定する。ホストマシン名（６８３）には、仮想マシンを構築するホストマシン名を設定する。ＣＰＵ量（６８４）には、仮想マシンに割り当てるＣＰＵリソースの割合（％）を設定する。メモリ量（６８５）には、仮想マシンに割り当てられたメモリ量が設定される。ディスク量（６８６）には、仮想マシンに割り当てたディスク量が設定される。
【００７１】
なお、変更前仮想構成ＩＤ（６８１）が「０」の仮想構成ＩＤ（６８０）が「１」（６９０）〜「Ｎ」（６９４）の仮想マシン情報で、仮想マシンに割り当てられたメモリ量（６８５）とディスク量（６８６）以外の項目については、最初に運用管理者が設定する必要がある。メモリ量（６８５）とディスク量（６８６）は、サービス構成管理部２０による、仮想マシンに割り当てる共有リソースの決定処理（図１７の処理を参照）によって、自動で設定される。
【００７２】
仮想構成ＩＤ（６８０）が「Ｎ＋１」（６９５）以降は、イベント対処実行部４３から仮想マシンの移動要求があった場合に、サービス構成変更部２４が、移動先のホストマシン名を決定し、移動先のホストマシンで移動する仮想マシンに割り当てるリソース量を決定し、変更後の仮想マシンの情報を追加する。
例えば、仮想構成ＩＤ（６８０）が「１」（６９０）の仮想マシンＡ（７４）はホストマシン１（７８）に作成し、ホストマシン１（７８）のＣＰＵリソースを５０％（ＬＰＡＲの数を５０％）使用し、メモリ量は１．０ＧＢｙｔｅでディスク量は２００ＧＢｙｔｅ割り当てられたことを保持する。
【００７３】
その他の仮想構成ＩＤ（６８０）が「２」（６９１）〜「Ｎ」（６９４）についても、仮想マシンＢ（７５）〜仮想マシンＮ（７７）の作成ホストマシン名とＣＰＵ量、メモリ量、ディスク量を設定する。
なお、仮想構成ＩＤ（６８０）が「Ｎ＋１」（６９５）以降については、イベント対処実行部４３から仮想マシンＡ（７４）の移動要求があった際に、サービス構成変更部２４が、移動先のホストマシン名にホストマシン２（７９）を決定し、仮想ホストマシンＡ（７４）の移動先であるホストマシン２（７９）が保持する４つのＬＰＡＲのうちＬＰＡＲ＿２〜ＬＰＡＲ＿４の３つを割り当てたため７５％を設定し、メモリ量、ディスク量について、それぞれ割り当てた１．０ＧＢｙｔｅと２００ＧＢｙｔｅが設定される（図１８の処理の説明を参照）。
【００７４】
図１４は、記憶部１（５）が保持するテーブルの一つであるリソース管理テーブル５６を示す図である。
リソース管理テーブル５６は、ジョブを実行した仮想マシンで、実行したジョブとジョブが使用したリソース量を保持するテーブルで、リソース情報取得エージェント部９１がリソース使用量を監視し収集するためのものである。
【００７５】
ジョブ実行ＩＤ７０１は、ジョブを実行するたびに割り当てられるＩＤである。ＣＰＵ使用率（平均）７０２には、実行したジョブが使用したＣＰＵの使用率の平均値が設定される。命令回数（平均）７０３には、実行したジョブのＣＰＵへの命令回数の平均値が設定される。メモリ処理７０４には、実行したジョブが使用したメモリ処理量の平均値が設定される。ディスク読込み７０５には、実行したジョブがディスクからデータを読み出したデータ量の平均値が設定される。ディスク書込み７０６には、実行したジョブがディスクへデータを書き出したデータ量の平均値が設定される。
【００７６】
なお、リソース管理テーブル５６で管理するリソース使用量の項目は、この限りでなく、任意の項目を設定することが可能である。例えば、ジョブ実行ＩＤ７０１が「１」のジョブは、ジョブの実行開始から終了までに、平均３０％のＣＰＵを利用し、単位時間あたりの命令回数（平均）は８０万回であり、メモリのロードとリロード量は単位時間あたり６４ＭＢｙｔｅであり、ディスクへの読込みと書込みは単位時間あたり、１０ＭＢｙｔｅと１０ＭＢｙｔｅのリソース量を使用したことをリソース情報取得エージェント部９１が監視し、ジョブの実行終了時に、リソース情報取得部２３に通知する。その他のジョブ実行ＩＤ７０１が「２」（７１１）〜１１２（７３３）のジョブについても、ジョブが使用したリソース、ＣＰＵ使用率、命令回数（平均）、メモリ処理、ディスク読込み、ディスク書込みを取得する。
【００７７】
図１５は、記憶部１（５）が保持するテーブルの一つであるジョブ履歴管理テーブル５７を示す図である。
ジョブ履歴管理テーブル５７は、ジョブを実行した仮想マシン情報と、実行したジョブ名およびジョブの開始日時、終了日時とジョブの実行が正常に終了した、または、失敗した、または、障害に起因して再実行（リラン）したかどうか、また、ジョブ実行ＩＤとジョブが再実行される要因となったイベント管理テーブル６２のイベントＩＤ（６３０）（図８参照）の関係を保持するテーブルである。
【００７８】
ジョブ実行ＩＤ（８０１）には、実行したジョブを識別するためのＩＤがジョブ実行時に割り当てられる。ジョブＩＤ（８０２）は、実行したジョブのジョブＩＤが設定される。仮想構成ＩＤ（８０３）には、ジョブが実行した際の仮想マシン情報を特定するための仮想構成ＩＤが設定される。また、構成ＩＤ（８０４）には、同様にホストマシン情報を特定するための構成ＩＤが設定される。ジョブ名（８０５）には、実行したジョブ名が設定される。ジョブ開始日時（８０６）には、ジョブを開始した日時が設定される。ジョブ終了日時（８０７）には、ジョブが終了した日時が設定される。種別（８０８）には、ジョブが実行された要因が設定される。Ｎが設定されている場合は、サービス構成テーブルのサービス開始時刻でジョブが開始されたことを示す。また、Ｅが設定されている場合は、ジョブの実行中に障害が発生したことを示し、Ｒが設定されている場合は、ジョブの実行に失敗し再実行（リラン）したことを示す。イベントＩＤ（８０９）には、ジョブ実行ＩＤのジョブが再実行される要因となったイベントＩＤが設定される。
【００７９】
例えば、ジョブ実行ＩＤ（８０１）が「１」のジョブは、ジョブＩＤ１のジョブ１Ａで、ジョブ実行時の仮想構成ＩＤ（８０３）が「１」（図１３の６９０）で、構成ＩＤ（８０４）が「１」（図１１の５８０）である。また、ジョブを開始した日時が「２００ｘ／０１／０１  ０：００」で、終了した日時が「２００ｘ／０１／０１  ０：１５」であり、正常に終了したため、種別にＮが設定される。
【００８０】
また、ジョブ実行ＩＤ（８０１）が「１０３」（８２４）のジョブは、実行に失敗したため、種別にＥが設定される。さらに、ジョブ実行ＩＤ（８０１）が「１０５」（８２６）のジョブは、ジョブ実行ＩＤが「１０３」（８２６）のジョブの実行に失敗したために、ジョブ１Ｄの再実行ジョブであるジョブ１Ａが再実行（リラン）されたものであるため、種別にＲが設定される。ここで、ジョブ実行ＩＤ（８０１）が「１０３」のジョブの実行が失敗し、イベント２（図８の６４１）のイベントが発生し、仮想マシンＡがホストマシン１からホストマシン２に移動した場合、仮想構成ＩＤ（８０３）と構成ＩＤ（８０４）は、変更後の構成情報である「Ｎ＋１」（図１３の６９５）と「Ｍ＋２」（図１１の５９９〜６０１）が設定される。イベントＩＤ（８０９）には、ジョブの実行要因となったイベントＩＤとして「２」（イベント２）（図８の６４１）が設定される。
【００８１】
図１６は、マシン構成テーブル５３に設定されたホストマシンに搭載されている共有リソースの数と容量を取得するサービス構成管理部２０の処理の内容を示した図である。
まず、ステップＳ１６１では、業務システム１３内のホストマシン名の一覧をマシン構成テーブル５３（図１１参照）から取得し、ステップＳ１６２に進む。例として、図１１のマシン構成テーブル５３のホストマシン名（５６１）がホストマシン１（５８０）〜ホストマシンＭ（５９０）を取得する。
【００８２】
ステップＳ１６２では、ステップＳ１６１で取得したホストマシン名の一覧から構成情報を取得するホストマシン名を取得し、ステップＳ１６３に進む。
ステップＳ１６３では、ステップＳ１６２で取得したホストマシン名の構成取得エージェント部８２に構成取得要求を通知し、ホストマシンに搭載されている共有リソースの数および容量を取得する。例として、図１１のマシン構成テーブル５３のホストマシン１（７８）について、ＬＰＡＲの数が４つで、ＬＰＡＲ＿１（７１１１）〜ＬＰＡＲ＿４（７１１４）を取得し、メモリの数が４つで、メモリ１（７１２１）〜メモリ４（７１２４）を取得し、それぞれのメモリの容量が０．５ＧＢｙｔｅであることを取得し、ディスクの数が４つで、それぞれディスクの空き容量が１００ＧＢｙｔｅであることを取得する。
【００８３】
ステップＳ１６４では、ステップＳ１６３で取得した構成情報をマシン構成テーブル５３（図１１参照）に登録し、ステップＳ１６５に進む。例として、図１１のＬＰＡＲ＿ＩＤとメモリＩＤとメモリ容量とディスクＩＤとディスク空き容量に、ステップＳ１６３で取得した情報を登録する。
ステップＳ１６５では、ステップＳ１６１で取得したホストマシン名一覧の全てのホストマシン名についてステップＳ１６３で構成情報を取得した場合（Ｙｅｓ）は、処理を終了する。そうでない場合（Ｎｏ）は、ステップＳ１６２に戻る。例として、図１１のホストマシン２（７９）〜ホストマシンＭ（８０）についても構成情報を取得する。
【００８４】
図１７は、仮想マシン構成テーブル５５から仮想マシンを作成し、仮想マシンに割り当て可能な共有リソースを作成した仮想マシンに割り当てるサービス構成管理部２０の処理を示す図である。
まず、ステップＳ１７１では、仮想マシン構成テーブル５５から仮想マシン名一覧を取得し、ステップＳ１７２に進む。例えば、図１３の仮想マシン構成テーブル５５から、仮想マシンＡ（７４）〜仮想マシンＮ（７７）を取得する。
【００８５】
ステップＳ１７２では、ステップＳ１７１で取得した仮想マシン名一覧から仮想マシン名を取得し、ステップＳ１７３に進む。例えば、仮想マシンＡ（７４）を取得する。
ステップＳ１７３では、ステップＳ１７２で取得した仮想マシン名を作成するホストマシン名を、仮想マシン構成テーブル５５のホストマシン名（図１３の６８３）から取得し、仮想マシン名とホストマシン名を仮想マシン生成変更部２１に通知し、仮想ホストの生成を要求する。仮想マシン生成変更部２１が仮想マシンを作成するとステップＳ１７４に進む。例えば、仮想マシンＡ（７４）を作成するホストマシン名にホストマシン１（７８）を取得する。
【００８６】
ステップＳ１７４では、サービス構成テーブル５１からステップＳ１７２で取得した仮想マシン名で提供するサービスの一覧を、サービス構成テーブル５１から取得し、ステップＳ１７５に進む。例えば、仮想マシンＡ（７４）で提供するサービスとして、サービスＡ１（７４４）とサービスＡ２（７４５）を取得する。
ステップＳ１７５では、ステップＳ１７４で取得したサービス名に必要なメモリ量とディスク空き容量をサービス構成テーブル５１（図９参照）の必要メモリ量（５１６）と必要ディスク量（５１７）から集計する。例えば、仮想マシンＡ（７４）に割り当てる必要のあるメモリ量とディスク容量は、サービスＡ１（７４４）とサービスＡ２（７４５）の必要なメモリ量とディスク空き容量の合計で、メモリ量が１．０ＧＢｙｔｅ、ディスク量が２００ＧＢｙｔｅである。
【００８７】
ステップＳ１７６では、仮想マシン構成テーブル５５（図１３参照）から、作成する仮想マシン名（６８２）に対応したホストマシン名（６８３）とＣＰＵ量（６８４）を取得し、ステップＳ１７７に進む。例えば、仮想マシンＡ（７４）は、作成するホストマシン名がホストマシン１（７８）で、仮想マシンＡ（７４）に割り当てるＣＰＵ量（６８４）は、ホストマシン１（７８）が保持するＬＰＡＲ＿ＩＤの数の５０％である。
ステップＳ１７７では、マシン構成テーブル５３から、ステップＳ１７６で取得した仮想マシンを作成するホストマシン名が保持するＬＰＡＲ＿ＩＤの数と未割り当てのＬＰＡＲ＿ＩＤの数を取得し、ステップＳ１７８に進む。例えば、図１１の場合、ホストマシン１（７８）のＬＰＡＲ＿ＩＤの数は４つで、全てが未割り当てとする。
【００８８】
ステップＳ１７８では、ステップＳ１７７で取得した未割り当てのＬＰＡＲ＿ＩＤの数とＬＰＡＲ＿ＩＤの数、ステップＳ１７６で取得した仮想マシンに割り当てるＣＰＵの量（６８４）から、「ＬＰＡＲ＿ＩＤの数」＊「ＣＰＵの使用量（使用割合）」が未割り当てのＬＰＡＲ＿ＩＤの数以下であるか判定し、条件を満たしている場合（Ｙｅｓ）は、ステップＳ１７９に進む。条件を満たしていない場合（Ｎｏ）は、ステップＳ１８９に進む。例えば、図１１の場合、ホストマシン１（７８）は、ＬＰＡＲ＿ＩＤの数（４）＊ＣＰＵ使用量（０．５）＝２で、現在、未割り当てのＬＰＡＲ＿ＩＤの数が「４」であるため条件を満たす。
ステップＳ１７９では、マシン構成テーブル５３から、ステップＳ１７６で取得した仮想マシンを作成するホストマシン名が保持する未割り当てのメモリＩＤを取得し、ステップＳ１８０に進む。例えば、図１１の場合、ホストマシン１（７８）の全てのメモリＩＤが未割り当てとする。
【００８９】
ステップＳ１８０では、ステップＳ１７９で取得した未割り当てのメモリＩＤの総容量と、ステップＳ１７５で取得した仮想マシンに必要なメモリ量から、仮想マシンに必要なメモリ量が未割り当てのメモリ総量以下であるか判定し、条件を満たしている場合（Ｙｅｓ）は、ステップＳ１８１に進む。条件を満たしていない場合（Ｎｏ）は、ステップＳ１８９に進む。例えば、図１１の場合、ホストマシン１（７８）は、全てのメモリが未割り当てなので２ＧＢｙｔｅ、仮想マシンＡ（７４）が必要なメモリ量は１ＧＢｙｔｅであるため条件を満たす。
【００９０】
ステップＳ１８１では、マシン構成テーブル５３から、ステップＳ１７６で取得した仮想マシンを作成するホストマシン名が保持する未割り当てのディスクＩＤを取得し、ステップＳ１８２に進む。例えば、図１１の場合、ホストマシン１の全てのディスクＩＤが未割り当てとする。
ステップＳ１８２では、ステップＳ１８１で取得した未割り当てのディスクＩＤの総容量と、ステップＳ１７５で取得した仮想マシンに必要なディスクの量から、仮想マシンに必要なディスク量が未割り当てのディスク総量以下であるか判定し、条件を満たしている場合（Ｙｅｓ）は、ステップＳ１８３に進む。条件を満たしていない場合（Ｎｏ）は、ステップＳ１８９に進む。例えば、図１１の場合、ホストマシン１（７８）は、全てのディスクが未割り当てなので４００ＧＢｙｔｅ、仮想マシンＡ（７４）が必要なディスク量は２００ＧＢｙｔｅであるため条件を満たす。
【００９１】
ステップＳ１８３では、ステップＳ１７８で求めた仮想マシンが使用するＬＰＡＲ＿ＩＤの数だけ、マシン構成テーブル５３の未割り当てのＬＰＡＲ＿ＩＤに、割り当てる仮想マシン名を設定し、ステップＳ１８４に進む。例えば、図１１の場合、ホストマシン１のＬＰＡＲ＿ＩＤ（５６２）がＬＰＡＲ＿１（５８０）とＬＰＡＲ＿２（５８１）のＬＰＡＲ使用仮想マシン名５６３に仮想マシンＡを設定する。
【００９２】
ステップＳ１８４では、ステップＳ１８０で求めた仮想マシンが使用するメモリ量だけ、マシン構成テーブル５３の未割り当てのメモリＩＤに、割り当てる仮想マシン名を設定し、ステップＳ１８５に進む。例えば、図１１の場合、ホストマシン１のメモリＩＤがメモリ１（５８０）とメモリ２（５８１）のメモリ使用仮想マシン名５６７に仮想マシンＡを設定する。
【００９３】
ステップＳ１８５では、ステップＳ１８２で求めた仮想マシンが使用するディスク量だけ、マシン構成テーブルの未割り当てのディスクＩＤに、割り当てる仮想マシン名を設定し、ステップＳ１８６に進む。例えば、図１１の場合、ホストマシン１のディスクＩＤがディスク１（５８０）とディスク２（５８１）のディスク使用仮想マシン名（５７０）に仮想マシンＡを設定する。
【００９４】
ステップＳ１８６では、ステップＳ１８３からステップＳ１８４でマシン構成テーブル５３に設定された仮想マシンへのリソース割り当て情報を、仮想マシンを作成するホストマシンの構成変更エージェント部８３に通知し、ホストマシンの共有リソースを仮想マシンに割り当てる。構成変更エージェント部８３による共有リソースの割り当てが終了すると、ステップＳ１８７に進む。例えば、図１１の場合、仮想マシンＡ（７４）に割り当てるＬＰＡＲは、ＬＰＡＲ＿１（５８０）とＬＰＡＲ＿２（５８１）、メモリはメモリ１（５８０）とメモリ２（５８１）、ディスク１はディスク１（５８０）とディスク２（５８１）である。
【００９５】
ステップＳ１８７では、仮想マシン構成テーブル５５に、ステップＳ１７２で取得した仮想マシンにステップＳ１８３〜ステップＳ１８５で割り当てた、メモリ量をメモリ量６８５に、ディスク量をディスク量６８６に設定し、ステップＳ１８８に進む。例えば、仮想マシンＡ（６９０）の場合は、メモリ量に１．０ＧＢｙｔｅ、ディスク量に２００ＧＢｙｔｅを設定する。
【００９６】
ステップＳ１８８では、ステップＳ１７１で取得した仮想マシン名一覧の全ての仮想マシンについて、作成し共有リソースを割り当てた場合（Ｙｅｓ）は処理を終了する。そうでない場合（Ｎｏ）は、ステップＳ１７２に戻る。
ステップＳ１８９では、ステップＳ１７８，１８０，１８２で条件を満たさなかった場合のステップであり、運用管理者に仮想マシン構成テーブル５５に設定したＣＰＵ量６８４、もしくは、サービス構成テーブル５１に設定した必要メモリ量５１６と必要ディスク量５１７を仮想マシンに割り当てることができない旨を通知し、処理を終了する。通知を受け取った運用管理者は、仮想マシンを作成するホストマシンを変更する、もしくは、サービスの構成を変更する等を実施する。
【００９７】
図１８は、イベント対処実行部４３から仮想マシンの移動要求を受け付けたサービス構成変更部２４の処理を示す図である。
まず、ステップＳ１８０１は、移動先ホストマシンを決定する処理（処理の内容は図１９Ａ、図１９Ｂ参照）で、移動先ホストマシンの検索が終了するとステップＳ１８０２に進む。例えば、仮想マシンＡ（７４）でジョブＩＤ１（７４６）のジョブ１Ｃ（７４６３）が実行中に障害が発生し、イベント通知エージェント部９３から、イベント管理部４１にイベント管理テーブル６２のイベント２（６４１）が通知され、イベント対処実行部４３からサービス構成変更部２４に対処２の「仮想マシン移動」が要求された場合、仮想マシンの移動先としてホストマシン２（７９）が決定されたとする。
【００９８】
ステップＳ１８０２では、ステップＳ１８０１で移動先となるホストマシンが決定されている場合（Ｙｅｓ）はステップＳ１８０３に進む。そうでない場合（Ｎｏ）は、ステップＳ１８２３に進む。
ステップＳ１８０３では、マシン構成テーブル５３の構成ＩＤ（５６０）に新しい構成ＩＤ（行）を追加し、移動元ホストマシンの構成情報を、追加した構成ＩＤの項目にコピーし、ステップＳ１８０４に進む。例えば、構成ＩＤ（５６０）に「Ｍ＋１」（５８３）を追加し、構成ＩＤが「１」（５８０〜５８３）の移動元のホストマシンであるホストマシン１（７８）の構成情報の内容をコピーする。
【００９９】
ステップＳ１８０４では、ステップＳ１８０３でマシン構成テーブル５３に新規に追加した構成ＩＤ（行）について、移動する仮想マシン名に割り当てられている共有リソースのＬＰＡＲ使用仮想マシン名５６３とメモリ使用仮想マシン名５６７とディスク使用仮想マシン名５７０を未使用に変更し、ステップＳ１８０５に進む。例えば、構成ＩＤが「Ｍ＋１」（５９４〜５９７）の行について、移動する仮想マシンＡ（７４）に割り当てられている、ＬＰＡＲ＿１とＬＰＡＲ＿２、メモリ１とメモリ２、ディスク１とディスク２の使用仮想マシン名を仮想マシンＡから未使用に変更する。
【０１００】
ステップＳ１８０５では、マシン構成テーブル５３の構成ＩＤ（５６０）に新たに構成ＩＤ（行）を追加し、ステップＳ１８０１で決定した移動先ホストマシン名の構成情報を、追加した構成ＩＤの項目にコピーし、ステップＳ１８０６に進む。例えば、構成ＩＤに「Ｍ＋２」（５８７）を追加し、ステップＳ１８０１で、仮想マシンＡ（７４）をホストマシン２（７９）に移動する場合は、構成ＩＤが「２」（５７４〜５７８）の移動先のホストマシンの構成情報の内容をコピーする。
【０１０１】
ステップＳ１８０６では、ステップＳ１８０５で追加した構成ＩＤ（行）について、移動先のホストマシンの共有リソースの使用マシン名に移動する仮想マシン名を設定する。なお、移動する仮想マシン名に割り当てる共有リソースは図１９ＢのステップＳ１９１３〜ステップＳ１９２０で取得されている。
例えば、マシン構成テーブル５３の構成ＩＤが「Ｍ＋２」（５９８〜６０１）のＬＰＡＲ＿ＩＤ（５６２）がＬＰＡＲ＿２（５９９）〜ＬＰＡＲ４（６０１）のＬＰＡＲ使用仮想マシン名（５６３）には、仮想マシンＡを設定し、メモリＩＤ（５６４）がメモリ２（５９９）とメモリ３（６００）のメモリ使用仮想マシン名（５６７）には、仮想マシンＡを設定し、ディスクＩＤ（５６８）がディスク２（５９９）とディスク３（６００）のディスク使用仮想マシン名（５７０）には、仮想マシンＡを設定する。
【０１０２】
ステップＳ１８０７では、移動元のホストマシンの構成変更エージェント部８３に、ステップＳ１８０４で追加した構成情報を通知し、移動元のホストマシンの構成変更を変更し、ステップＳ１８０８に進む。例えば、ホストマシン１の構成情報をマシン構成テーブルの構成ＩＤが「Ｍ＋１」（５９４〜５９７）の構成に変更する。
【０１０３】
ステップＳ１８０８では、移動先のホストマシンの構成変更エージェント部８３に、ステップＳ１８０６で追加した構成情報を通知し、移動先のホストマシンの構成を変更し、ステップＳ１８０９に進む。
例えば、ホストマシン２の構成情報をマシン構成テーブルの構成ＩＤが「Ｍ＋２」（５９８〜６０１）の構成に変更する。
【０１０４】
ステップＳ１８０９では、仮想マシン構成テーブル５５の移動対処となった仮想マシン名の仮想構成ＩＤ（６８０）に新たな仮想構成ＩＤを追加して、変更前仮想ＩＤ（６８１）には、変更対象となった仮想マシンの最新の仮想構成ＩＤを設定し、仮想マシン名には、移動対象の仮想マシン名、ホストマシン名には移動先のホストマシン名を設定する。また、ＣＰＵ量（６８４）とメモリ量（６８５）、ディスク量（６８６）については、マシン構成テーブル５３から、移動した仮想マシンに割り当てられているリソース量を集計して設定する。各値を設定後にステップＳ１８１０に進む。例えば、仮想構成ＩＤ（６８０）が「Ｎ＋１」（６９５）の変更前仮想構成ＩＤ（６８１）には、「１」が設定され、仮想マシン名（６８２）には仮想マシンＡ、ホストマシン名（６８３）にはホストマシン２が設定される。また、ＣＰＵ量（６８４）は、ＬＰＡＲが４つのうち、３つ割り当てられたので７５％を設定し、メモリ量（６８５）には１．０ＧＢｙｔｅ、ディスク量（６８６）には２００ＧＢｙｔｅが設定される。
【０１０５】
ステップＳ１８１０では、図２０の処理で、サービスの実行順序を１つのサービスが終了後に次のサービスを実行するように変更することで、リソース量を満たす移動先のホストマシンを決定することができた場合（Ｙｅｓ）はステップＳ１８１１へ進む。そうでない場合（Ｎｏ）は、ステップＳ１８１８に進む（図２０の処理の説明を参照）。例えば、仮想マシンＡ（７４）上で提供されるサービスＡ１（７４４）とサービスＡ２（７４５）について、仮想マシンＡ（７４）の移動先で、サービスＡ１（７４４）とサービスＡ２（７４５）の再開始ジョブを同時に実行しても、リソース量が満たせる場合は、サービスＡ１（７４４）とサービスＡ２（７４５）の再開始ジョブを同時に実行する（ステップＳ１８１８へ進む）。サービスＡ１（７４４）とサービスＡ２（７４５）の再開始ジョブについて、サービスＡ１（７４４）の再開始ジョブを実行し、最終ジョブのジョブ終了後にサービスＡ２（７４５）の再開始ジョブを実行することで、リソース量が満たせる場合はステップＳ１８１１へ進む。
【０１０６】
ステップＳ１８１１では、図２０のステップＳ２００１で、サービスの終了時刻が他のサービスと比べて最も早いサービスの再開始ジョブの実行を、ジョブ実行部２５に要求し、ジョブの実行が終了するとステップＳ１８１２に進む。例えば、サービス構成テーブル５１のサービスＡ１（７４４）とサービスＡ２（７４５）では、サービスＡ１（７４４）の方が終了時刻が早いため、サービスＡ１（７４４）の再開始ジョブであるジョブ１Ａ（７４６１）をジョブ実行部２５に通知する。
【０１０７】
ステップＳ１８１２では、ジョブ管理テーブル５２から次に実行する次ジョブ名（５３３）を取得し、ステップＳ１８１３に進む。例えば、ジョブ１Ｄ（５４４）の再開始ジョブ名（５３５）であるジョブ１Ａ（５４０）が実行された場合は、次ジョブ名（５３３）から、ジョブ１Ｂ（７４６２）とジョブ１Ｃ（７４６３）を取得する。
【０１０８】
ステップＳ１８１３では、ステップＳ１８１２で次ジョブ名（５３３）が存在しない場合（Ｙｅｓ）は、ステップＳ１８１５に進む。存在する場合（Ｎｏ）は、ステップＳ１８１４に進む。
ステップＳ１８１４では、取得したジョブを実行し、ステップＳ１８１２に戻る。
ステップＳ１８１５では、サービスの実行順序をずらしたサービス（次のサービス）を取得し、ステップＳ１８１６に進む。例えば、サービスＡ１（７４４）の後にサービスＡ２（７４５）の再開始ジョブを実行する場合は、サービスＡ２（７４５）を取得する。
【０１０９】
ステップＳ１８１６では、まだ再開始ジョブを実行していない、サービスが存在する（サービスを取得できた）場合（Ｙｅｓ）はステップＳ１８１７に進む。存在しない（サービスを取得できなかった）場合（Ｎｏ）は、処理を終了する。例えば、サービス２Ａ（７４５）の最終ジョブであるジョブ２Ｃ（７４７３）の実行が終了した場合は、開始するサービスが存在しない。サービスＡ１（７４４）の最終ジョブであるジョブ１Ｅ（７４６４）の実行が終了した場合は、開始するサービスとしてサービスＡ２（７４５）が存在する。
【０１１０】
ステップＳ１８１７では、ステップＳ１８１１で実行したサービスの次のサービスの再開始ジョブをジョブ実行部２５に通知し、ジョブの実行が終了するとステップＳ１８１２に戻る。例えば、サービスＡ１（７４４）の終了後に実行するサービスＡ２（７４５）の再開始ジョブであるジョブ２Ａ（７４７１）を実行する。
ステップＳ１８１８では、仮想マシンの移動に伴ない、再実行しなければならない再開始ジョブを、全てジョブ実行部２５に通知し、ジョブの実行が終了するとステップＳ１８１９に進む。例えば、サービスＡ１（７４４）の再開始ジョブであるジョブ１Ａ（７４６１）とサービスＡ２（７４５）の再開始ジョブであるジョブ２Ａ（７４７１）を同時に実行する。
【０１１１】
ステップＳ１８１９では、ジョブ管理テーブル５２から、次ジョブ名（５３３）のジョブ名を取得する。
ステップＳ１８２０では、ステップＳ１８１９の次ジョブ名の取得で、次ジョブ名が存在する場合（Ｎｏ）は、ステップＳ１８１９へ戻る。存在しない場合（Ｙｅｓ）は、ステップＳ１８２１へ進む。
【０１１２】
ステップＳ１８２１では、再開始したサービスのジョブで実行中のものが存在するか、ジョブ履歴管理テーブル５７のジョブ終了日時（８０７）から判断する。終了していないジョブが存在する場合（Ｎｏ）は、ステップＳ１８１９へ戻る。サービスの最終ジョブが終了している場合（Ｙｅｓ）は、処理を終了する。
ステップＳ１８２３では、ステップＳ１８０２で移動先のホストマシンが決定できなかった場合に、移動先が決定できなかった旨を運用管理者に通知する。
【０１１３】
図１９Ａ、図１９Ｂは、イベント対処実行部４３から仮想マシンの移動要求を受け付けたサービス構成変更部２４の処理で移動先のホストマシン名を決定する処理（図１８のステップＳ１８０１の処理）を示す図である。
ステップＳ１９０１では、サービス構成テーブル５１から、移動する仮想マシン上で提供するサービス名（５１０）とジョブＩＤ（５１２）を取得し、ステップＳ１９０２に進む。例えば、仮想マシンＡ（７４）を移動する場合は、サービス名はサービスＡ１（７４４）とサービスＡ２（７４５）、ジョブＩＤはジョブＩＤ１（７４６）とジョブＩＤ２（７４７）を取得する。
【０１１４】
ステップＳ１９０２では、ジョブ履歴管理テーブル５７から、ステップＳ１９０１で取得したジョブＩＤ（８０１）に一致する最新のジョブＩＤ（８０１）のジョブ実行ＩＤ（８０１）の一覧を取得し、ステップＳ１９０３に進む。例えば、ステップＳ１９０２でジョブＩＤ１（７４６）とジョブＩＤ２（７４７）を取得した場合は、ジョブ履歴管理テーブル５７から、仮想マシンＡ（７４）を移動し、ジョブを再実行する前の最新のジョブ実行ＩＤの一覧はジョブ実行ＩＤ（８０１）が「１００」（８２１）から「１０４」（８２５）を取得する。
【０１１５】
ステップＳ１９０３では、ステップＳ１９０２で取得したジョブ実行ＩＤ一覧に対応したジョブ履歴管理テーブル５７のジョブ終了日時（８０７）で終了していないジョブ実行ＩＤ（８００）が存在する場合（Ｙｅｓ）は、ステップＳ１９０４に進む。ジョブ実行ＩＤのジョブが全て終了している場合（Ｎｏ）は、ステップＳ１９０５に進む。
【０１１６】
ステップＳ１９０５では、ステップＳ１９０２で取得したジョブ実行ＩＤ一覧に対応したジョブ履歴管理テーブル５７の種別（８０８）で、エラーが発生し実行に失敗したことを示すＥが設定されている場合（Ｎｏ）はステップＳ１９０４に進む。そうでなければ（Ｙｅｓ）、ステップＳ１９０６に進む。
ステップＳ１９０４では、ステップＳ１９０３とＳ１９０５で、終了していないジョブ実行ＩＤとエラー終了したジョブ実行ＩＤのジョブ名を失敗ジョブ一覧に格納し、ステップＳ１９０６に進む。例えば、ステップＳ１９０２でジョブ実行ＩＤが「１００」（８２１）から「１０４」（８２５）の実行ＩＤを取得していた場合、失敗ジョブ一覧には、ジョブ１Ｄ（８２４）とジョブ２Ａ（８２５）が格納される。
ステップＳ１９０６では、ステップＳ１９０２で取得したジョブ実行ＩＤ一覧の全てのジョブ実行ＩＤについてステップＳ１９０３による判定を行った場合（Ｎｏ）はステップＳ１９０７に進む。そうでない場合（Ｙｅｓ）は、ステップＳ１９０３に戻る。
【０１１７】
ステップＳ１９０７では、ジョブ管理テーブル５２から、失敗ジョブ一覧に格納されたジョブの再開始ジョブ名（５３５）を取得し、再開始ジョブ一覧に格納する。例えば、図１０の場合、ジョブ１Ｄの再開始ジョブ名（５３５）であるジョブ１Ａ（５４３）とジョブ２Ａの再開始ジョブ名（５３５）のジョブであるジョブ２Ａ（５４５）を取得する。
【０１１８】
ステップＳ１９０８では、ジョブ管理テーブル５２から、ステップＳ１９０７で取得した再開始ジョブを含めて、仮想マシンの移動後に実行するジョブ名を取得し、ジョブ履歴管理テーブル５７から、仮想マシンの移動後に実行するジョブ名で正常終了している最新のジョブ実行ＩＤ（８０１）を取得する。例えば、ステップＳ１９０１でジョブＩＤとしてジョブＩＤ１とジョブＩＤ２を取得し、ステップＳ１９０７で取得した再開始ジョブがそれぞれジョブ１Ａとジョブ２Ａで、仮想マシン移動後に実行するジョブ名は、ジョブ１Ａ〜ジョブ１Ｅとジョブ２Ａ〜ジョブ２Ｃであり、正常終了した最新のジョブ実行ＩＤは、ジョブ１Ａが「１００」（８２１）、ジョブ１Ｂが「１０１」（８２２）、ジョブ１Ｃが「１０２」（８２３）、ジョブ１Ｄが「４」（８１３）、ジョブ１Ｅが「５」（８１４）、ジョブ２Ａが「６」（８１５）、ジョブ２Ｂが「７」（８１６）、ジョブ２Ｃが「８」（８１７）を最新ジョブ実行ＩＤ一覧として取得する。
【０１１９】
ステップＳ１９０９では、リソース管理テーブル５６から、ステップＳ１９０８で取得した最新ジョブ実行ＩＤ一覧のジョブ実行ＩＤの平均のリソース使用量を取得し、各ジョブの開始と終了時刻から実行時間を求めて、ジョブの実行に使用したリソース総量を計算し、サービス毎に集計する。この集計処理が終了するとステップＳ１９１０に進む。例えば、サービスＡ１（７４４）の使用リソース総量は、命令回数が６０３０００万回で、メモリ処理量が８６４０００ＭＢｙｔｅでディスク読込みが７２０００ＭＢｙｔｅで、ディスク書込みが７２０００ＭＢｙｔｅである。また、サービスＡ２（７４５）の使用リソース総量は、命令回数が１６２００００万回で、メモリ処理量が１８４３２００ＭＢｙｔｅでディスク読込みが１４４０００ＭＢｙｔｅで、ディスク書込みが１４４０００ＭＢｙｔｅである。
【０１２０】
ステップＳ１９１０では、サービス構成テーブル５１から、移動する仮想マシンで提供されているサービスが終了しなければならない時刻（終了期限）をサービス終了時刻５１５から取得し、ステップＳ１９１１に進む。例えば、サービスＡ１（７４４）の終了期限（サービス終了時刻５１５）は「０４：００」で、サービスＡ２（７４５）の終了期限（サービス終了時刻５１５）は「０８：００」である。
【０１２１】
ステップＳ１９１１では、サービス構成テーブル５１から、移動する仮想マシンに必要なメモリ量（必要メモリ量５１６）とディスク量（必要ディスク量５１７）を取得し、ステップＳ１９１２に進む。例えば、仮想マシンＡ（７４）に必要なメモリ量は１．０ＧＢｙｔｅで、必要なディスク量は２００ＧＢｙｔｅである。
【０１２２】
ステップＳ１９１２では、マシン構成テーブル５３から、移動する仮想マシンが作成されているホストマシン名以外のホストマシン名一覧を取得し、ステップＳ１９１３に進む。例えば、図１１の場合、仮想マシンＡ（７４）が作成されているホストマシン１（７８）以外のホストマシン名として、ホストマシン２（７９）〜ホストマシンＭ（８０）を取得する。
【０１２３】
ステップＳ１９１３では、マシン構成テーブル５３から、ステップＳ１９１２で取得したホストマシン名の未割り当てのメモリ量が、ステップＳ１９１１で取得した移動する仮想マシンに必要なメモリ量より大きい場合（Ｙｅｓ）は、ステップＳ１９１５に進む。そうでない場合（Ｎｏ）は、ステップＳ１９１４に進む。例えば、ホストマシン２（７９）の未割り当てのメモリ量（５６５）はメモリ３（５８６）とメモリ４（５８７）の１．０ＧＢｙｔｅであり、サービス構成テーブル５１に設定されている仮想マシンＡ（７４）に必要なメモリ量（５１６）の条件を満たす。
【０１２４】
ステップＳ１９１５では、マシン構成テーブル５３から、ステップＳ１９１２で取得したホストマシン名の未割り当てのディスク量が、ステップＳ１９１１で取得した移動する仮想マシンに必要なディスク量より大きい場合（Ｙｅｓ）は、ステップＳ１９１６に進む。そうでない場合（Ｎｏ）は、ステップＳ１９１４に進む。例えば、ホストマシン２（７９）の未割り当てのディスク空き容量（５６９）はディスク２（５８５）〜ディスク４（５８７）の３００ＧＢｙｔｅであり、サービス構成テーブル５１の仮想マシンＡ（７４）に必要なディスク量（５１７）の条件を満たす。
【０１２５】
ステップＳ１９１６では、移動する仮想マシンに必要なメモリ量とディスク量が提供可能なホストマシン名を移動候補ホストマシン名一覧に格納し、ステップＳ１９１４に進む。例えば、移動候補ホストマシン名一覧に、ホストマシン２（７９）とホストマシンＭ（８０）が格納されるとする。
ステップＳ１９１４では、ステップＳ１９１２で取得したホストマシン名一覧から、ステップＳ１９１３を実行していないホスト名が取得可能な場合（Ｙｅｓ）は、ステップＳ１９１３に進む。そうでない場合（Ｎｏ）は、ステップＳ１９１７に進む。
【０１２６】
ステップＳ１９１７では、ステップＳ１９１６で取得した移動候補ホストマシン名一覧にホストマシン名が一つも格納されていない場合（Ｙｅｓ）は、処理を終了する。そうでない場合（Ｎｏ）は、ステップＳ１９１８に進む。
ステップＳ１９１８では、ステップＳ１９０９で取得したサービス毎のリソース使用総量を、現在時刻からステップＳ１９１０で取得したサービス毎の終了時刻（終了期限）までの時間で除算し、必要なリソース平均量を計算する。例えば、現在の時刻からサービスＡ１の終了期限までの時間を２時間とすると、サービスＡ１（７４４）の必要なリソース平均量は命令回数が８４万回／ｓ、メモリ処理量が１２０ＭＢｙｔｅ／ｓ、ディスク読込みは１０ＭＢｙｔｅ／ｓ、ディスク書込みが１０ＭＢｙｔｅ／ｓとなる。また、サービスＡ２についても、必要なリソース平均量は命令回数が７５万回／ｓ、メモリ処理量が８６ＭＢｙｔｅ／ｓ、ディスク読込みが７ＭＢｙｔｅ／ｓ、ディスク書込みが７ＭＢｙｔｅとなる。
【０１２７】
ステップＳ１９１９では、移動候補ホストマシン一覧からステップＳ１９１６で格納したホストマシン名を取得し、ステップＳ１９２０に進む。例えば、ホストマシン２を取得する。
ステップＳ１９２０では、性能係数テーブル５４から、ステップＳ１９１６で取得したホストマシン名の共有リソースの性能の評価式を取得し、ホストマシンに割り当てることができる共有リソース数から各リソースの性能を計算（導出）し、ステップＳ１９２１に進む。例えば、ホストマシン２の命令回数（平均）の評価式はｆ２ｃ（ｘ）で、ホストマシン２（７９）のＬＰＡＲ＿ＩＤは３つ未割り当てであるため、ｆ２ｃ（ｘ）から、ＬＰＡＲ＿ＩＤを３つ割り当てた場合の命令回数（平均）は、２００万回／ｓ（６７３）である。ここで、メモリ処理、ディスク読込み、ディスク書込みの性能についても、ホストマシン２の性能係数テーブルの６５２〜６５４を用いて計算し、それぞれ、２５６ＭＢｙｔｅ、２０ＭＢｙｔｅ、２０ＭＢｙｔｅとする。
【０１２８】
ステップＳ１９２１では、ステップＳ１９２０で取得した移動候補先のホストマシン名の各リソースの性能値が、ステップＳ１９１８で取得したサービス全体（仮想マシン単位）で必要な各リソース平均量を全てのリソース項目について、上回っている場合（Ｙｅｓ）は、ステップＳ１９２５に進む。一つのリソース項目でも上回っていない場合は、ステップＳ１９２２に進む。例えば、ステップＳ１９２０で取得したホストマシン２（７９）の各リソースの性能は、命令回数（平均）が２００万回／ｓ（６７３）、メモリ処理が２５６ＭＢｙｔｅ、ディスク読込みが２０ＭＢｙｔｅ、ディスク書込みが２０ＭＢｙｔｅである。ステップＳ１９１８で取得した仮想マシンＡ（７４）で必要な各リソース性能は、命令回数（平均）が１６０万回／ｓ、メモリ処理が２０６ＭＢｙｔｅ／ｓ、ディスク読込みが１７ＭＢｙｔｅ／ｓ、ディスク書込みが１７ＭＢｙｔｅ／ｓであり、全てのリソース項目で上回っている。
【０１２９】
ステップＳ１９２２では、ステップＳ１９１６で取得した移動候補先ホストマシン名一覧から、次の移動先候補となるホストマシン名が取得可能な場合（Ｙｅｓ）はステップＳ１９１９に戻る。そうでない場合（Ｎｏ）は、ステップＳ１９２３に進む。
ステップＳ１９２３では、サービスの実行順序を１つのサービスが実行終了した後に、１つずつサービスを実行することで、各サービスが必要とするリソース量を移動候補となったホストマシンで満たすことができないか判断する処理である。サービスの実行順序制御によるリソース量チェック処理が終了すると、ステップＳ１９２４に進む。
【０１３０】
ステップＳ１９２４では、ステップＳ１９２３の処理結果として、サービスの実行順序を制御することで、移動先のホストマシンが取得できた場合（Ｙｅｓ）は、ステップＳ１９２５に進む。そうでない場合（Ｎｏ）は処理を終了する。
ステップＳ１９２５では、ステップＳ１９２１またはステップＳ１９２４で処理の対象となった移動候補マシンを移動先ホストマシンとして決定（設定）し、処理を終了する。
【０１３１】
図２０は、仮想マシン上のサービスの実行順序の変更による移動先ホストマシンを決定する処理を示す図である。図２０は、図１９ＢのステップＳ１９２３の処理であり、仮想マシン上のサービスの再開始ジョブを同時に実行した場合は、図１９ＢのステップＳ１９２１の条件を満たさないが、サービス毎に実行順序を制御することで、リソース量を満たさないかチェックする処理である。以下の処理では、図１９ＢのステップＳ１９２０で性能係数テーブル５４で取得した、ホストマシン２での命令回数（平均）が、１４０万回／ｓだったものとする。
【０１３２】
ステップＳ２００１では、サービス構成テーブル５１から、移動する仮想マシン上で提供されるサービスのうち、最もサービス終了時刻（５１５）が早いサービス名を取得し、ステップＳ２００２に進む。例えば、サービスＡ１（７４４）とサービスＡ２（７４５）では、サービスＡ１（７４４）の方が、サービス終了時刻が早い。
ステップＳ２００２では、図１９ＢのステップＳ１９１６で取得した移動候補ホストマシン一覧から、ホストマシン名を取得し、ステップＳ２００３に進む。例えば、ホストマシン２（７９）を取得したとする。
【０１３３】
ステップＳ２００３では、図１９ＢのステップＳ１９２０で取得した、ホストマシンのリソース性能値が、図１９ＢのステップＳ１９１８で計算したステップＳ２００１で取得したリソース量もしくは、ステップＳ２００７で再計算したリソース量を上回っている場合（Ｙｅｓ）は、ステップＳ２００４に進む。そうでない場合（Ｎｏ）は、ステップＳ２００８に進む。サービスＡ１（７４４）の必要なリソース平均量は命令回数が８４万回／ｓ、メモリ処理量が１２０ＭＢｙｔｅ／ｓ、ディスク読込みは１０ＭＢｙｔｅ／ｓ、ディスク書込みが１０ＭＢｙｔｅ／ｓとなる。ここで、サービスＡ１（７４４）のみジョブを再実行した場合は、ホストマシン２（７９）のリソース性能で満たすことができる。また、ステップＳ２００７で、再集計したサービスＡ２（７４５）が必要とするリソース平均量は、命令回数が１１３万回／ｓ、メモリ処理量が１２８ＭＢｙｔｅ／ｓ、ディスク読込みは１０ＭＢｙｔｅ／ｓ、ディスク書込みが１０ＭＢｙｔｅ／ｓとなり、サービスＡ２（７４５）についても、ホストマシン２（７９）のリソース性能で満たすことができる。
【０１３４】
ステップＳ２００４では、仮想マシン上で提供するサービスの全てについて、サービスが必要なリソース量を満たすことができた場合（Ｙｅｓ）はステップＳ２００９に進む。そうでない場合（Ｎｏ）は、ステップＳ２００５に進む。
ステップＳ２００５では、サービス構成テーブル５１から、次にサービスの終了時刻（５１５）が早いサービスを取得し、ステップＳ２００６に進む。例えば、仮想マシンＡ（７４）のサービスＡ１（７４４）の次にサービスの終了時刻（５１５）が早いサービスは、サービスＡ２（７４５）である。
ステップＳ２００６では、サービスの開始時刻を、一つ前のサービスで終了しなければならない時刻に設定する。
【０１３５】
ステップＳ２００７では、図１９ＢのステップＳ１９０９で取得したサービスが必要なリソース総量を、前のサービス終了時刻（５１５）からステップＳ２００５で取得したサービスの終了時刻までの時間で除算し、必要なリソース平均量を取得し、ステップＳ２００８のＹｅｓとステップＳ２００２を経由して、ステップＳ２００３に戻る。例えば、図１９ＢのステップＳ１９２０で取得したサービスＡ２（７４５）の必要なリソース総量は、命令回数が１６２００００万回、メモリ性能が１８４３２００ＭＢｙｔｅ、ディスク読込みが１４４０００ＭＢｙｔｅ、ディスク書込みが１４４０００ＭＢｙｔｅであり、これら各リソースの値を、サービスＡ１（７４４）が終了する時刻の「０４：００」からサービスＡ２（７４５）が終了する時刻の「０８：００」までの４時間で除算すると、サービスＡ２（７４５）の必要なリソース平均量は、命令回数が１１３万回／ｓ、メモリ性能が１２８ＭＢｙｔｅ／ｓ、ディスク読込みが１０ＭＢｙｔｅ／ｓ、ディスク書込みが１０ＭＢｙｔｅ／ｓである。
【０１３６】
ステップＳ２００８では、移動候補ホストマシン一覧から、次のホストマシンが取得できる場合（Ｙｅｓ）は、ステップＳ２００２に戻り、そうでない場合（Ｎｏ）は、処理を終了する。
ステップＳ２００９では、サービスの実行順序を制御することで、リソース量を満たすことができた移動候補ホストマシン名を移動先ホストマシンに設定し、処理を終了する。
【０１３７】
図２１は、図１８のステップＳ１８１４のジョブ実行の処理を示す図である。ジョブの実行は、ジョブ実行部２５で処理される。ジョブ実行部２５は、実行するジョブ名とジョブＩＤを受け付ける。
ステップＳ２１０１では、サービス構成テーブル５１から、受け付けたジョブＩＤに対応したジョブを実行する仮想マシン名（５１１）を取得し、ステップＳ２１０２に進む。例えば、ジョブＩＤ１とジョブ名がジョブ１Ａのジョブを実行する場合は、サービス構成テーブル５１のジョブＩＤ１（５２０）に対応した仮想マシンＡ（７４）を取得する。
【０１３８】
ステップＳ２１０２では、ジョブ履歴管理テーブル５７のジョブ実行ＩＤ（８０１）に新たにジョブ実行ＩＤを追加し、実行するジョブＩＤをジョブＩＤ（８０２）に設定し、ジョブ名（８０５）に実行するジョブ名を設定（登録）し、ステップＳ２１０３に進む。例えば、ジョブＩＤがジョブＩＤ１で、実行するジョブ名がジョブ１Ａでジョブ実行ＩＤが「１」（８１０）の場合は、ジョブＩＤ（８０２）にジョブ１Ｄ１を設定し、ジョブ名（８０５）にジョブ１Ａを設定する。
【０１３９】
ステップＳ２１０３では、ステップＳ２１０１で取得した仮想マシン名のジョブ実行エージェント部９２に、実行するジョブ名とジョブ管理テーブル５２のジョブ名（５３１）に対応したコマンド名（５３２）を通知する。ジョブ実行エージェント部９２でジョブの実行が終了すると、ステップＳ２１０４に進む。例えば、ジョブ実行エージェント部９２には、ジョブ１Ａとジョブ１Ａに対応するコマンド１Ａを通知する。
【０１４０】
ステップＳ２１０４では、ステップＳ２１０３でジョブ実行エージェント部９２から受け取ったジョブの開始日時と終了日時を、ジョブ履歴管理テーブル５７のジョブ開始日時（８０６）とジョブ終了日時（８０７）に設定し、ステップＳ２１０５に進む。例えば、ジョブ実行ＩＤが「１」（８１０）のジョブを実行した場合は、ジョブ開始日時（８０６）に「２００ｘ／０１／０１  ００：００」、ジョブ終了日時（８０７）に「２００ｘ／０１／０１  ００：１５」を設定する。
【０１４１】
ステップＳ２１０５では、仮想マシン構成テーブル５５からジョブを実行した仮想マシンの仮想構成ＩＤ（６８０）を取得し、ステップＳ２１０６に進む。例えば、ジョブ実行ＩＤが「１」（８１０）のジョブを実行した場合は、仮想マシン構成テーブル５５からステップＳ２１０１で取得した仮想マシン名の最新の仮想構成ＩＤである「１」（６９０）を取得する。
【０１４２】
ステップＳ２１０６では、仮想マシン構成テーブル５５から、ステップＳ２１０５で取得した仮想構成ＩＤに対応したホストマシン名（６８３）を取得し、マシン構成テーブル５３から、取得したホストマシン名の最新の構成ＩＤ（５６０）を取得し、ステップＳ２１０７に進む。例えば、ステップＳ２１０５で仮想構成ＩＤである「１」（６９０）を取得した場合、仮想マシン構成テーブル５５から。ホストマシン１を取得し、マシン構成テーブル５３から、ホストマシン１の最新の構成ＩＤである「１」（５８０）を取得する。
【０１４３】
ステップＳ２１０７では、ステップＳ２１０５で取得した仮想構成ＩＤとステップＳ２１０６で取得した構成ＩＤを、ジョブ履歴管理テーブル５７の実行したジョブの実行ＩＤに対応する仮想構成ＩＤ（８０３）と構成ＩＤ（８０４）に設定し、ステップＳ２１０８に進む。
ステップＳ２１０８では、ステップＳ２１０３でジョブ実行エージェント部９２に通知したジョブの実行結果が正常終了した場合（Ｙｅｓ）は、ステップＳ２１０９に進む。異常終了した場合（Ｎｏ）は、ステップＳ２１１０に進む。
【０１４４】
ステップＳ２１０９では、ジョブ実行部２５が、ジョブの実行を受け付けた時に、通知されたジョブの実行種別が再実行（リラン）の場合（Ｙｅｓ）は、ステップＳ２１１１に進む。その他の場合（Ｎｏ）は、ステップＳ２１１２に進む。
ステップＳ２１１１では、ジョブ履歴管理テーブル５７の実行したジョブ実行ＩＤ（８０１）に対応する種別（８０８）に再実行（リラン）を示す「Ｒ」を設定（登録）し、ステップＳ２１１３に進む。
【０１４５】
ステップＳ２１１２では、ジョブ履歴管理テーブル５７の実行したジョブ実行ＩＤ（８０１）に対応する種別（８０８）に通常実行を示す「Ｎ」を設定し、ステップＳ２１１３に進む。
ステップＳ２１１０では、ジョブ履歴管理テーブルの実行したジョブ実行ＩＤ（８０１）に対応する種別（８０８）にジョブの実行失敗を示す「Ｅ」を設定し、ステップＳ２１１３に進む。
ステップＳ２１１３では、リソース情報取得部２３にジョブが使用したリソース量の取得を要求し、実行したジョブが使用したリソース量をリソース情報取得部２３から受け付けると、ステップＳ２１１４に進む。
【０１４６】
ステップＳ２１１４では、リソース管理テーブル５６に実行したジョブのジョブ実行ＩＤ（７０１）を設定し、ステップＳ２１１３で取得したリソース（使用）量をリソース管理テーブル５６に設定する。例えば、ジョブ実行ＩＤが「１」（７１０）のジョブを実行し、リソース量のＣＰＵ使用率（平均）が３０％、命令回数（平均）が８０万／ｓ、メモリ処理が６４ＭＢｙｔｅ／ｓ、ディスク読込みが１０ＭＢｙｔｅ／ｓ、ディスク書込みが１０ＭＢｙｔｅをリソース管理テーブル５６に設定する。
【０１４７】
図２２は、ジョブ実行エージェント部９２の処理の流れを示す図である。
ステップＳ２２０１では、ジョブ実行エージェント部９２は、ジョブ実行部２５から、実行するジョブのジョブＩＤとジョブ名とジョブ名に対応したコマンド名を受け付け、ステップＳ２２０２に進む。ステップＳ２２０２では、リソース情報取得エージェント部９１に、リソース使用量を監視するコマンド名の情報を通知し（リソース量を取得するジョブ情報を設定し）、ステップＳ２２０３に進む。
ステップＳ２２０３では、ステップＳ２２０１で受け付けたコマンド名のジョブを実行し、コマンドの実行結果をジョブ実行部２５に通知し、処理を終了する。
【０１４８】
図２３は、サービスの使用したリソース量の結果を運用管理者に表示するための画面を示す図である。
図２３には、リソース管理タブ２３０１と構成管理タブ２３０２とジョブ管理タブ２３０３とイベント管理タブ２３０４が存在し、リソース管理タブ２３０１では、表示領域２３０５にジョブが使用したリソース量が表示される。リソース量を表示する仮想マシン名とサービス名は項目選択部２３０６により選択可能である。また、表示領域２３０５に表示されたジョブのリソース項目は、ボタン２３０８〜２３１０によって、出力するリソース項目を変更することができる。
【０１４９】
また、表示領域２３０５に表示されたジョブのリソース情報は、ジョブ実行種別２３１３の項目毎に色が別々に出力される。ジョブ情報２３１１には、実行したジョブの実行ＩＤとジョブ名が表示される。構成情報２３１２には、ジョブを実行したホストマシン名が表示され、ジョブ実行種別２３１３には、ジョブ実行種別が表示される。また、イベント情報２３１４には、ジョブの実行要因となったイベント情報が表示される。集計項目２３１５は、表示項目（ジョブ情報２３１１〜イベント情報２３１４）に対して、集計する項目が選択できる。例えば、イベント情報の項目で、対処２を選択することによって、対処２によって実行されたジョブのリソース使用量を表示することができる。また、構成情報２３１２でホストマシン１を指定することにより、ホストマシン１で実行されたジョブの使用リソース一覧を出力することができる。このように、運用管理者の出力したい項目を一元的に選択可能とし、リソースの使用量を出力することができる。
【０１５０】
このように、本実施形態のサービス・リソース管理システムＳによれば、仮想マシンに割り当てられた共有リソースが動的に変更した場合や、仮想マシンが別業務コンピュータに移動した場合でも、サービス単位でリソース使用量を管理し、仮想マシンの移動の際に、サービスの使用リソース量条件を満たす業務コンピュータ、もしくは、サービスの実行順序を制御することで各サービスが終了期限までに使用するリソース量を満たす業務コンピュータの移動先を決定することができる。また、障害の発生など仮想マシンの構成変更要因とジョブの再実行（リラン）を含めたサービスが使用するリソース量を管理することで、要因別にリソース使用量を表示することができる。
【０１５１】
以上で実施形態の説明を終えるが、本発明の態様はこれらに限定されるものではない。例えば、イベント管理装置４の機能をサービス管理装置２に吸収させてもよい。ハードウェア、プログラム等の具体的な構成について、本発明の主旨を逸脱しない範囲で適宜変更が可能である。
【図面の簡単な説明】
【０１５２】
【図１】本実施形態のサービス・リソース管理システムの全体構成を示す図である。
【図２】本実施形態のサービス管理装置とサービス・リソース監視装置のハードウェア構成を示す図である
【図３】本実施形態のサービス管理装置の記憶部に格納されているテーブルを示す図である。
【図４】本実施形態のイベント管理装置と業務を構成する業務コンピュータのハードウェア構成を示す図である。
【図５】本実施形態のシステム構成を示す図である。
【図６】本実施形態の業務コンピュータの構成を示す図である。
【図７】本実施形態のイベント対処テーブルを示す図である。
【図８】本実施形態のイベント管理テーブルを示す図である。
【図９】本実施形態のサービス構成テーブルを示す図である。
【図１０】本実施形態のジョブ管理テーブルを示す図である。
【図１１】本実施形態のマシン構成テーブルを示す図である。
【図１２】本実施形態の性能係数テーブルを示す図である。
【図１３】本実施形態の仮想マシン構成テーブルを示す図である。
【図１４】本実施形態のリソース管理テーブルを示す図である。
【図１５】本実施形態のジョブ履歴管理テーブルを示す図である。
【図１６】本実施形態の業務コンピュータのリソース構成を取得する処理の流れを示すフローチャートである
【図１７】本実施形態の仮想マシンを作成する処理の流れを示すフローチャートである。
【図１８】本実施形態の仮想マシンの移動処理の流れを示すフローチャートである。
【図１９Ａ】本実施形態の仮想マシンの移動先ホストマシンを決定する処理の流れを示すフローチャートである。
【図１９Ｂ】本実施形態の仮想マシンの移動先ホストマシンを決定する処理の流れを示すフローチャートである。
【図２０】本実施形態の仮想マシン上のサービスの実行順序の変更による移動先ホストマシンを決定する処理の流れを示すフローチャートである。
【図２１】本実施形態のジョブ実行の処理の流れを示すフローチャートである。
【図２２】本実施形態のジョブ実行エージェントの処理の流れを示すフローチャートである。
【図２３】本実施形態のサービスの使用したリソース量の結果を表示する画面である。
【符号の説明】
【０１５３】
１    サービス・リソース監視装置
２    サービス管理装置
３    ネットワーク
４    イベント管理装置
５    記憶部１
６    記憶部２
７    業務コンピュータ
８    ホストマシン
９    仮想マシン
１０  ＧＵＩ
１１  サービス管理プログラム
１２  イベント管理プログラム
１３  業務システム
２０  サービス構成管理部
２１  仮想マシン生成変更部
２２  ジョブ管理部
２３  リソース情報取得部
２４  サービス構成変更部
２５  ジョブ実行部
２６  リソース情報表示部
２７  構成情報表示部
４１  イベント管理部
４２  イベント解析部
４３  イベント対処実行部
４４  イベント表示部
５１  サービス構成テーブル
５２  ジョブ管理テーブル
５３  マシン構成テーブル
５４  性能係数テーブル
５５  仮想マシン構成テーブル
５６  リソース管理テーブル
５７  ジョブ履歴管理テーブル
６１  イベント対処テーブル
６２  イベント管理テーブル
８１  仮想マシン生成変更エージェント部
８２  構成取得エージェント部
８３  構成変更エージェント部
９１  リソース情報取得エージェント部
９２  ジョブ実行エージェント部
９３  イベント通知エージェント部
９４  業務プログラム
【図１】
2010113677.tif 000003
【図２】
2010113677.tif 000004
【図３】
2010113677.tif 000005
【図４】
2010113677.tif 000006
【図５】
2010113677.tif 000007
【図６】
2010113677.tif 000008
【図７】
2010113677.tif 000009
【図８】
2010113677.tif 000010
【図９】
2010113677.tif 000011
【図１０】
2010113677.tif 000012
【図１１】
2010113677.tif 000013
【図１２】
2010113677.tif 000014
【図１３】
2010113677.tif 000015
【図１４】
2010113677.tif 000016
【図１５】
2010113677.tif 000017
【図１６】
2010113677.tif 000018
【図１７】
2010113677.tif 000019
【図１８】
2010113677.tif 000020
【図１９Ａ】
2010113677.tif 000021
【図１９Ｂ】
2010113677.tif 000022
【図２０】
2010113677.tif 000023
【図２１】
2010113677.tif 000024
【図２２】
2010113677.tif 000025
【図２３】
2010113677.tif 000026