(57)【要約】【課題】クラウドシステムにおいて、アプリケーションの復元を可能にし、かつＶＭスプロールを回避する。【解決手段】管理計算機１０１が、VMイメージ上でのアプリケーションの実行実績を、時系列で定められる実績番号によってアプリケーションの情報と対応付けながら、VMイメージ名とVMイメージバージョン番号の組を登録したVMイメージ実績テーブル１１８と、アプリケーション名とアプリケーションバージョン番号の組を登録したアプリケーション実績テーブル１１７に各々管理し、新たな実行実績を取得した際に、実行実績の時系列の情報及びポリシーテーブル１１９に定められたアプリケーションに適用されるポリシーに基づき、アプリケーションの復元に必要なVMイメージをVMイメージ名とVMイメージバージョン番号の組を指定して削除対象から除外する。【選択図】図１
2013148938.tif 000002
【特許請求の範囲】
【請求項１】
仮想環境の運用を管理する管理装置であって、
VMイメージ上でのアプリケーションの実行実績について、
前記実行実績に係るVMイメージの、VMイメージの識別子と、VMイメージのバージョン番号と、VMイメージの識別子とVMイメージのバージョン番号の組合せごとに前記実行実績を時系列に一意に識別する実績番号と、を登録したVMイメージ実績テーブルと、
前記実行ad実績に係るアプリケーションの、アプリケーションの識別子と、アプリケーションのバージョン番号と、当該実行実績についての前記実績番号と、を登録したアプリケーション実績テーブルと、
VMイメージの識別子とVMイメージのバージョン番号の組合せごとに、最も古い実績番号である最古実績番号と、最も新しい実績番号である最新実績番号と、当該組合せに係るVMイメージが削除可能か否かを設定する削除フラグと、を登録したVMイメージ候補テーブルと、
削除対象となるVMイメージの候補を抽出する削除対象判断手段によって削除不可能と判断されたVMイメージの識別子とVMイメージのバージョン番号の組合せごとに、当該組合せの実績番号のうち、最も古い実績番号である重複最古実績番号と、最も新しい実績番号である重複最新実績番号と、を登録した重複実績番号リストと、
を記憶する記憶手段と、
前記アプリケーション実績テーブルから、前記アプリケーションの識別子ごとに、当該アプリケーションの識別子を有する１つ以上の実績番号を、実績番号のリストとして取得する実績番号取得手段と、
前記実績番号のリストに含まれる実績番号が、前記重複実績番号リストに登録されたいずれかの重複最古実績番号から重複最新実績番号の範囲に含まれるかを判断する前記削除対象判断手段と、
前記実績番号のリストに含まれる実績番号が、いずれの前記組合せの重複最古実績番号から重複最新実績番号の範囲にも属さない場合は、前記VMイメージ実績テーブルに基づき、当該実績番号のリストに含まれる実績番号に対応するVMイメージの識別子とVMイメージのバージョン番号の組合せを特定するVMイメージ特定手段と、
前記VMイメージ特定手段によって取得された組合せに対応する前記VMイメージ候補テーブルの削除フラグを、削除不可能に設定する削除フラグ設定手段と、
前記実績番号のリストに含まれる実績番号に基づき、前記VMイメージ特定手段によって特定された組合せに対応する、前記VMイメージ候補テーブルの最古実績番号と最新実績番号を、前記重複実績番号リストの重複最古実績番号と重複最新実績番号として登録する最新最古実績番号更新手段と、
前記実績番号のリストに含まれる実績番号の各々を処理した結果、前記VMイメージ候補テーブルにおいて、前記削除フラグが削除不可能に設定されていないVMイメージの識別子とVMイメージのバージョン番号の組合せを、削除対象のVMイメージと判断する削除対象決定手段と、
を有することを特徴とする管理装置。
【請求項２】
請求項１に記載の管理装置であって
前記記憶手段は、さらに、削除候補のVMイメージの、VMイメージの識別子とVMイメージのバージョン番号と、を登録したVMイメージリストを記憶し、
さらに、前記削除対象決定手段において削除対象と判断されたVMイメージのVMイメージの識別子とVMイメージのバージョン番号の組合せを、前記VMイメージリストに登録する削除対象登録手段と、
前記VMイメージリストに登録されたVMイメージの削除を指示する削除指示手段と、
を有することを特徴とする管理装置。
【請求項３】
請求項２に記載の管理装置であって、
前記VMイメージ削除指示手段は、VMイメージの削除に代えて、VMイメージを移動または圧縮する、
ことを特徴とする管理装置。
【請求項４】
請求項３に記載の管理装置であって、
アプリケーションの識別子とアプリケーションのバージョン番号に代えて、
VMイメージを区別するために付与された、ホストの識別子とホストのバージョン番号、
または、VMイメージのグループを区別するために付与された、VMイメージのグループの識別子と、VMイメージのグループのバージョン番号を用いる
ことを特徴とする管理装置。
【請求項５】
請求項４に記載の管理装置であって、
前記記憶手段は、さらに、VMイメージの削除判断に適用されるポリシーの、ポリシーの識別子と、ポリシーが適用されるアプリケーションの識別子と、ポリシーにより削除対象から除外される実行実績の件数を示す除外定数と、を登録したポリシーテーブルを記憶し、
さらに、前記実績番号のリストに含まれる実績番号に対応するアプリケーションの識別子に基づき、前記ポリシーテーブルから当該アプリケーションの識別子を有するアプリケーションに適用される前記除外定数を取得する除外定数取得手段と、
前記実績番号のリストに含まれる実績番号のうち、最新の実績番号から順に前記除外定数で指定された数の実績番号を残して他の実績番号を削除するポリシー適用手段と、
を有することを特徴とする管理装置。
【請求項６】
請求項５に記載の管理装置であって、
前記記憶手段は、代替元VMイメージのVMイメージの識別子とVMイメージのバージョン番号と、代替先VMイメージのVMイメージの識別子とVMイメージのバージョン番号と、を登録した代替案リストをさらに記憶し、
当該記憶手段は、前記ポリシーテーブルにおいて、らさに、VMイメージの削除効果を示す評価係数を登録し、
当該記憶手段は、前記VMイメージ候補テーブルにおいて、さらに、前記組合せごとに、前記ポリシーテーブルに登録されたポリシーの各々について適用の有無が設定されたポリシー適用情報と、適用されるポリシーの前記評価係数を合算した評価値合計と、を登録したVMイメージ候補テーブルを登録し、
さらに、前記削除対象判断手段において、前記実績番号のリストに含まれる実績番号が、前記重複実績リストに登録されたいずれの重複最古実績番号から重複最新実績番号の範囲にも属さないと判断された場合、前記ポリシーテーブルから、当該実績番号のリストに含まれる実績番号に対応するアプリケーションの識別子を有するアプリケーションに適用されるポリシーを特定する適用ポリシー特定手段と、
前記VMイメージ特定手段によって特定された前記組合せについての前記VMイメージ候補テーブルのポリシー適用情報のうち、前記適用ポリシー特定手段で適用ありと特定されたポリシーを適用ありに設定し、当該組合せの評価値合計に前記適用ポリシー特定手段で適用ありと特定されたポリシーの評価係数を加算するポリシー適用設定手段と、
前記削除対象決定手段において削除対象のVMイメージが得られなかった場合、前記評価値合計に基づき代替元VMイメージとなるVMイメージの識別子とVMイメージのバージョン番号の組合せを決定する代替元決定手段と、
前記VMイメージ候補テーブルから、前記代替元VMイメージと同一のVMイメージの識別子を有し、かつ、当該代替元VMイメージの前記ポリシー適用情報において適用ありと設定されたポリシーと同一のポリシーが適用ありと設定されている前記組合せを、代替先VMイメージのVMイメージの識別子とVMイメージのバージョン番号と決定する代替先決定手段と、
前記代替元VMイメージと前記代替先VMイメージが決定された場合は、前記代替元VMイメージのVMイメージの識別子とVMイメージのバージョン番号と、前記代替先VMイメージのVMイメージの識別子とVMイメージのバージョン番号を、前記代替案リストに登録する代替案登録手段と、
を有することを特徴とする管理装置。
【請求項７】
請求項６に記載の管理装置であって、
さらに、前記代替案リストをユーザー端末に送信する代替案送信手段と、
前記ユーザー端末から、前記代替案リストの代替内容の適用可否を受信するユーザー操作受信手段と、
前記ユーザー操作受信手段が前記代替案リストを適用可能と受信した場合は、当該代替案リストに登録された前記代替元VMイメージのVMイメージの識別子とVMイメージのバージョン番号を、前記VMイメージリストに登録する代替元削除登録手段と、
を有することを特徴とする管理装置。
【請求項８】
請求項７に記載の管理装置であって、
前記記憶手段は、前記VMイメージ実績テーブルにおいて、さらに、VMイメージの識別子とVMイメージのバージョン番号の組合せに係るVMイメージの稼動に他のVMイメージが必要な場合は、当該他のVMイメージのVMイメージの識別子とVMイメージのバージョン番号の組合せを登録し、
さらに、前記削除フラグ設定手段は、削除フラグを削除不可能に設定したVMイメージの識別子とVMイメージのバージョン番号の組合せが、前記VMイメージ実績テーブルにおいて、前記他のVMイメージのVMイメージの識別子とVMイメージのバージョン番号の登録を有する場合は、当該他のVMイメージのVMイメージの識別子とVMイメージのバージョン番号に係る削除フラグも削除不可能に設定する、
ことを特徴とする管理装置。
【請求項９】
仮想環境の運用を管理する管理装置であって、
VMイメージ上でのアプリケーションの実行実績について、
前記実行実績に係るVMイメージの、VMイメージの識別子と、VMイメージのバージョン番号と、前記実行実績を時系列に一意に識別する実績番号と、を登録したVMイメージ実績テーブルと、
前記実行実績に係るアプリケーションの、アプリケーションの識別子と、アプリケーションのバージョン番号と、当該実行実績についての前記実績番号と、を登録したアプリケーション実績テーブルと、
VMイメージの識別子とVMイメージのバージョン番号の組合せごとに、当該組合せに係る実績番号の一覧である実績番号配列と、当該組合せに係るVMイメージが削除可能か否かが設定された削除フラグと、を登録したVMイメージ候補テーブルと、
削除対象となるVMイメージの候補を抽出する削除対象判断手段によって削除不可能と判断されたVMイメージの識別子とVMイメージのバージョン番号の実績番号のうち、連続した実績番号ごとに、最も古い実績番号である重複最古実績番号と、最も新しい実績番号である重複最新実績番号と、を登録した重複実績番号リストと、
を記憶する記憶手段と、
前記アプリケーション実績テーブルから、前記アプリケーションの識別子ごとに、当該アプリケーションの識別子を有する１つ以上の実績番号を、実績番号のリストとして取得する実績番号取得手段と、
前記実績番号のリストに含まれる実績番号が、前記重複実績番号リストに登録されたいずれかの重複最古実績番号から重複最新実績番号の範囲に含まれるかを判断する前記削除対象判断手段と、
前記実績番号のリストに含まれる実績番号が、いずれの前記組合せの重複最古実績番号から重複最新実績番号の範囲にも属さない場合は、前記VMイメージ実績テーブルに基づき、当該実績番号のリストに含まれる実績番号に対応するVMイメージの識別子とVMイメージのバージョン番号の組合せを特定するVMイメージ特定手段と、
前記VMイメージ特定手段によって取得された組合せに対応する前記VMイメージ候補テーブルの削除フラグを、削除不可能に設定する削除フラグ設定手段と、
前記実績番号のリストに含まれる実績番号に基づき、前記VMイメージ特定手段によって特定された組合せに対応する前記VMイメージ候補テーブルの実績番号配列に登録された実績番号と、前記重複実績番号リストに登録されている重複最古実績番号と重複最新実績番号から、連続した実績番号を抽出し、当該連続した実績番号ごとに新たな重複最古実績番号と重複最新実績番号を生成し前記重複実績番号リストを更新する最新最古実績番号更新手段と、
前記実績番号のリストに含まれる実績番号の各々を処理した結果、前記VMイメージ候補テーブルにおいて、前記削除フラグが削除不可能に設定されていないVMイメージの識別子とVMイメージのバージョン番号の組合せを、削除対象のVMイメージと判断する削除対象決定手段と、
を有することを特徴とする管理装置。
【請求項１０】
仮想環境の運用を管理する管理装置と、VMイメージを稼動する計算機と、VMイメージを保存するストレージ装置と、を含む仮想環境システムであって、
前記計算機は、
VMイメージ上でのアプリケーションの実行実績について、
前記実行実績に係るVMイメージの、VMイメージの識別子と、VMイメージのバージョン番号と、VMイメージの識別子とVMイメージのバージョン番号の組合せごとに前記実行実績を時系列に一意に識別する実績番号と、を登録したVMイメージ実績テーブルと、
前記実行実績に係るアプリケーションの、アプリケーションの識別子と、アプリケーションのバージョン番号と、当該実行実績についての前記実績番号と、を登録したアプリケーション実績テーブルと、
VMイメージの識別子とVMイメージのバージョン番号の組合せごとに、最も古い実績番号である最古実績番号と、最も新しい実績番号である最新実績番号と、当該組合せに係るVMイメージが削除可能か否かを設定する削除フラグと、を登録したVMイメージ候補テーブルと、
削除対象となるVMイメージの候補を抽出する削除対象判断手段によって削除不可能と判断されたVMイメージの識別子とVMイメージのバージョン番号の組合せごとに、当該組合せの実績番号のうち、最も古い実績番号である重複最古実績番号と、最も新しい実績番号である重複最新実績番号と、を登録した重複実績番号リストと、
を記憶する記憶手段と、
前記アプリケーション実績テーブルから、前記アプリケーションの識別子ごとに、当該アプリケーションの識別子を有する１つ以上の実績番号を、実績番号のリストとして取得する実績番号取得手段と、
前記実績番号のリストに含まれる実績番号が、前記重複実績番号リストに登録されたいずれかの重複最古実績番号から重複最新実績番号の範囲に含まれるかを判断する前記削除対象判断手段と、
前記実績番号のリストに含まれる実績番号が、いずれの前記組合せの重複最古実績番号から重複最新実績番号の範囲にも属さない場合は、前記VMイメージ実績テーブルに基づき、当該実績番号のリストに含まれる実績番号に対応するVMイメージの識別子とVMイメージのバージョン番号の組合せを特定するVMイメージ特定手段と、
前記VMイメージ特定手段によって取得された組合せに対応する前記VMイメージ候補テーブルの削除フラグを、削除不可能に設定する削除フラグ設定手段と、
前記実績番号のリストに含まれる実績番号に基づき、前記VMイメージ特定手段によって特定された組合せに対応する、前記VMイメージ候補テーブルの最古実績番号と最新実績番号を、前記重複実績番号リストの重複最古実績番号と重複最新実績番号として登録する最新最古実績番号更新手段と、
前記実績番号のリストに含まれる実績番号の各々を処理した結果、前記VMイメージ候補テーブルにおいて、前記削除フラグが削除不可能に設定されていないVMイメージの識別子とVMイメージのバージョン番号の組合せを、削除対象のVMイメージと判断する削除対象決定手段と、
前記VMイメージリストに登録されたVMイメージを前記ストレージ装置から削除する削除実行手段と、
を有することを特徴とする仮想環境システム。
【請求項１１】
請求項１０に記載の仮想環境システムであって、
前記管理装置の前記記憶手段は、さらに、VMイメージの削除判断に適用されるポリシーの、ポリシーの識別子と、ポリシーが適用されるアプリケーションの識別子と、ポリシーにより削除対象から除外される実行実績の件数を示す除外定数と、を登録したポリシーテーブルを記憶し、
さらに、前記実績番号のリストに含まれる実績番号に対応するアプリケーションの識別子に基づき、前記ポリシーテーブルから当該アプリケーションの識別子を有するアプリケーションに適用される前記除外定数を取得する除外定数取得手段と、
前記実績番号のリストに含まれる実績番号のうち、最新の実績番号から順に前記除外定数で指定された数の実績番号を残して他の実績番号を削除するポリシー適用手段と、
を有することを特徴とする仮想環境システム。
【請求項１２】
請求項１１に記載の仮想環境システムであって、
前記仮想環境システムは、さらに、VMイメージ上でアプリケーションを操作するユーザ端末を含み、
前記ユーザー端末は、
ポリシーの識別子、ポリシー適用対象のアプリケーションの識別子と、ポリシーによって保護される実行実績の件数である除外定数の入力を、ポリシー設定情報として受け付けるポリシー入力受付手段と、
前記ポリシー設定情報を、前記管理装置に送信するポリシー設定情報送信手段と、
前記管理装置は、さらに、前記ユーザー端末から前記ポリシー設定情報を受信するポリシー設定情報受信手段と、
前記ポリシー設定情報に係るポリシー適用対象のアプリケーションの識別子に対応する前記ポリシーテーブルの登録を、前記ポリシー設定情報に係る前記ポリシーの識別子と前記除外定数によって更新するポリシーテーブル更新手段と、
を有することを特徴とする仮想環境システム。
【請求項１３】
請求項１２に係る仮想環境システムであって、
前記管理装置の前記記憶手段は、さらに、アプリケーションの識別子と、アプリケーションに係るプロセスの識別子と、アプリケーションのバージョン判断方法と、アプリケーションの正常動作判断手法と、を登録したアプリケーション別実績収集方法テーブルを記憶し、
前記計算機は、さらに、前記アプリケーション別実績収集方法テーブルを前記管理装置から受信する実績収集方法テーブル受信手段と、
前記計算機で稼動しているVMイメージのプロセス情報から、前記アプリケーション別実績収集方法テーブルに登録されたアプリケーションの識別子と一致するアプリケーションの識別子を有する実績収集対象を検出するプロセス監視手段と、
前記プロセス監視手段により前記実績収集対象を検出した場合は、前記アプリケーション別実績収集方法テーブルの当該実績収集対象についての正常動作判断手法に基づき、当該実績収集対象のアプリケーションが正常に動作しているか判断するアプリケーション動作判断手段と、
正常に動作していると判断された場合は、前記アプリケーション別実績収集方法テーブルの当該実績収集対象についてのバージョン判断方法に基づき、当該実績収集対象のバージョン番号を取得するアプリケーションバージョン番号取得手段と、
前記実績収集対象のアプリケーションを実行しているVMイメージから、VMイメージの識別子とVMイメージのバージョン番号を取得するVMイメージ情報取得手段と、
前記実績収集対象のアプリケーションについてのアプリケーションの識別子と、アプリケーションのバージョン番号と、当該実績収集対象のアプリケーションを実行しているVMイメージの識別子とVMイメージのバージョン番号を、前記実行実績情報として前記管理装置に送信する実行実績情報送信手段と、
前記管理装置は、さらに、前記アプリケーション別実績収集方法テーブルを前記管理装置に送信する実績収集方法テーブル送信手段と、
前記実行実績情報を前記計算機から受信する実行実績情報送信手段と、
を有することを特徴とする仮想環境システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法、およびプログラムに関するものであり、具体的には、ＶＭイメージとアプリケーションの関係を用いてクラウドシステムにおけるＶＭスプロールを回避する技術に関する。
【背景技術】
【０００２】
ＶＭ（Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ）を起動可能な計算機システムでは、計算機に接続されたストレージにＶＭイメージが格納されている。計算機はストレージからＶＭイメージを読み込み、ＶＭを起動する。また、計算機上でのアプリケーション起動に必要なライブラリやデータは、ストレージに格納されるＶＭイメージ内に含まれている。ストレージの容量が不足すると、ＶＭイメージの追加やそれに含まれるライブラリおよびデータの追加ができなくなる。この場合、新規ユーザーのアプリケーションを動作させられない、もしくは既存のＶＭが正常に動作しなくなる恐れがある。こうしたストレージにおける容量不足に伴う問題を解決する方法として、以下のような従来技術が提案されてきた。
【０００３】
例えば、記憶媒体へのランダムアクセスが可能で、少なくとも２つの論理パーティションを備えた記憶方法およびその装置であって、うち少なくとも１つの論理パーティションを圧縮データ領域とし、残りの論理パーティションを非圧縮データ領域とし、各パーティションへのデータの書き込みおよび読み出しはクラスタを単位として行なわれ、それぞれのクラスタのアクセス頻度を記憶保持するテーブルを備えており、このテーブルに基づいてアクセス頻度の高いクラスタを優先的に非圧縮データ領域に移動し、アクセス頻度の低いクラスタを優先的に圧縮データ領域に移動する手段を備えることを特徴とする記憶方法およびその装置（特許文献１参照）がある。
【０００４】
また、ストレージ装置内に構築された管理対象のファイルシステムの少なくとも一部の内容を表すストレージイメージを含むイメージファイルを記憶装置に登録するイメージファイル登録手段と、記憶装置に登録されたイメージファイルと、版更新時点におけるイメージファイルとの差を表す差分情報を含む更新ファイルを記憶装置に登録し、記憶装置に登録されたイメージファイルの版に対応するファイルシステムに対して版更新時点までに実行された各変更イベントを示す変更情報を版管理表に記録する更新ファイル登録手段とを備える版管理システム（特許文献２参照）がある。
【０００５】
また、仮想マシンがアクセスする論理的な記憶装置である仮想記憶装置が、ホストＯＳ（オペレーティングシステム）がアクセスする物理記憶装置内のマスタデータファイルと差分データファイルとで構成されており、仮想マシンが仮想記憶装置内のデータを更新する際の更新データのブロック位置情報を記録する更新位置情報ファイルからブロック位置情報を取得する更新位置情報取得手段と、コンピュータ上に仮想環境を実現する仮想環境基盤ソフトウェアを通じて仮想記憶装置にアクセスし、仮想記憶装置に構築されたファイルシステムを解析して、取得したブロック位置情報に該当するブロックの使用状況を調べる使用状況確認手段と、取得したブロック位置情報に該当するブロックが未使用領域であると判断されると、差分データファイルと、更新位置情報ファイルとから、該当するブロック番号のデータの削除を行うデータ削除手段とを備える差分データ圧縮装置（特許文献３参照）がある。
【０００６】
また、複数の仮想マシンが動作する仮想マシンサーバにおいて、それら複数の仮想マシンを管理する仮想マシン管理システムであって、各仮想マシン毎に、その仮想マシン上で動作するゲストＯＳが管理する仮想ハードディスク上に仮想ＡＰイメージファイルを作成する手段と、任意の仮想マシン上で動作する任意のモジュールが、その仮想マシン上で動作するゲストＯＳが管理する仮想ハードディスク上の任意の領域に対して、任意のデータの書き込みまたは読み込みの処理を試みた場合に、書き込みまたは読み込みが指示された領域から、仮想ハードディスク上に存在する仮想ＡＰイメージファイル上の所定の領域にリダイレクトを行い、書き込みまたは読み込み先を変更して書き込みまたは読み込みを実行することにより、任意のデータを仮想ＡＰイメージファイルに分離する手段と、仮想ＡＰイメージファイルを、仮想ハードディスクから仮想マシンサーバ上のホストＯＳが管理する物理ハードディスク上へバックアップする手段と、物理ハードディスク上の仮想ＡＰイメージファイルを、仮想ハードディスク上にダウンロードする手段とを備え、任意の仮想マシン上で動作するモジュールに関連するデータをゲストＯＳのイメージファイルから分離することにより、ゲストＯＳのイメージファイルを一元的に扱うことを可能にしたことを特徴とする仮想マシン管理システム（特許文献４参照）がある。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００２−１３２５４６号公報
【特許文献２】ＷＯ２００９／１５４２７２号公報
【特許文献３】特開２０１０−２３７９５６号公報
【特許文献４】特開２００８−８４０２９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
ところで、昨今のクラウドコンピューティングの技術において、課題が２つある。１つには、ＶＭスプロールを回避すること、１つにはアプリケーション復元に必要なＶＭイメージは原型でストレージ上に残しておくことである。
まずＶＭスプロールの回避について説明する。ユーザーが利用するアプリケーションはユーザーが用意し、アプリケーションが動作するために必要なライブラリ、データ等はＶＭイメージという形で、ネットワークを介した計算機およびそれに接続されたストレージ上に用意されている。アプリケーションはユーザーによって管理され、VMイメージはマネージャーによって管理される。一方、サーバにおいては、そのストレージ容量には限りがあるにもかかわらず、生成後一定期間使用した後は使用されていないＶＭイメージが増加する傾向にある。特に、マネージャーによって、アップデートされたOSやライブラリを含む新しいVMイメージが、頻繁に生成され増加する。その場合、ストレージ空き容量が不足し、ＶＭスプロールと呼ばれる状態となる。ＶＭスプロールを放置しストレージ容量が不足した場合、新規ユーザーのアプリケーションを動作させられない、もしくは既存のＶＭが正常に動作しなくなるなどのおそれがあり、ユーザーのニーズに答えられない。
【０００９】
ストレージ空き容量不足となった場合、節約するためにいずれかのＶＭイメージを削除もしくは圧縮もしくはアーカイブ装置と呼ばれるような他のストレージに移動する方法が考えられるが、対象とするＶＭイメージを選択する必要がある。従来であれば、アクセス頻度などに基づいて、ストレージ中のファイルを選択し圧縮していた。この方式によれば、上記ＶＭスプロール状態においても、使用頻度が低いＶＭイメージを削除もしくは圧縮もしくはアーカイブすなわち大容量記憶装置や別計算機に接続されたストレージに移動することで、ストレージ空き容量を拡大しＶＭスプロールを回避することができる。
【００１０】
次に、アプリケーション復元に必要なＶＭイメージは原型でストレージ上に残しておくことについて説明する。
クラウド環境では、アプリケーションについて独自にバージョン管理したいというユーザーのニーズがある。バージョン管理では、例えば、アプリケーションXがユーザーの都合で改変する度にバージョン番号を作成し、バージョン番号は一意にアプリケーションのバージョンを表すので、更新後も一定期間もしくは一定更新回数だけIDとその時のアプリケーションの状態の対応を保存しておき、ユーザーの都合でIDに対応するアプリケーションの状態を復元することができる。
【００１１】
問題は、VMイメージとアプリケーションとの間にバージョン依存性がある場合、マネージャーやOSベンダーの都合でVMイメージのバージョンを更新した後の最新のVMイメージ上で、ユーザーが復元した以前のアプリケーションが正常動作しない可能性があることである。例えば、アプリケーションXがOSに含まれるVMイメージAに依存する場合、過去の特定の時点でVMイメージAとアプリケーションXが正常動作していて、ユーザーが再びアプリケーションXの状態を復元したいと考える。最新のVMイメージAと正常動作時点のVMイメージAでは、含まれるOSやライブラリに変更が加えられ、正常動作時点のOSやライブラリから期待する動作を最新のOSやライブラリから得られないためアプリケーションXが動作しないということがある。この場合は、アプリケーションXを復元し正常動作させるために、最新のVMイメージAだけではなく過去の特定の時点のVMイメージAの状態を原型で保存しておき復元可能にすることが必要がある。VMスプロール回避の過程で過去のVMイメージが削除ないし圧縮ないし移動され原型でストレージ上にない場合、アプリケーションAの復元ができないことになる。すなわち、ユーザーのニーズを満たすためには、アプリケーション復元に必要なVMイメージをストレージ上に残す管理方式が必要となる。ここで、アプリケーションの正常動作が保証されるアプリケーションのバージョンと過去のVMイメージの組み合わせの関係を確認する方法として、アプリケーションが正常動作したVM イメージにバージョン番号を付与し、アプリケーションのバージョン番号とVMイメージのバージョン番号の組み合わせ、すなわち実績を記録しておく方法が有用であると考えられる。
ここで、アプリケーションのバージョン番号とＶＭイメージのバージョン番号との組み合わせである実績は複数あり、いずれかのバージョンが更新されたあとに新たに実績が追加されるため、徐々に増えていくことを想定している。
【００１２】
また、マネージャーがＶＭイメージのバージョン番号が更新されるのと並行して、前述のとおりユーザーによってアプリケーションのバージョンは更新される。ＶＭイメージのバージョン更新とアプリケーションのバージョン更新は必ずしも同時ではない。そのため、実績の中にはＶＭイメージのバージョン番号が同一であるが異なるアプリケーションのバージョン番号と組み合わせになった実績も存在する。また、その逆で、アプリケーションのバージョン番号が同一であるが、異なるＶＭイメージのバージョン番号との組み合わせになった実績も存在する
さらに、ＶＭイメージは複数にコピーされ、複数のアプリケーションによって使用されることが可能である。具体的には、ＶＭイメージAのバージョン番号１はアプリケーションXとアプリケーションYによって使用された実績があり、ＶＭイメージAのバージョン番号２はアプリケーションXに使用された実績がある、という状況があり得る。よって、ＶＭイメージのバージョン番号が同一であるが、異なるアプリケーション名と組み合わせになった実績も存在する。
さらに、ＶＭイメージのバージョンが異なるものは、含まれるデータやライブラリの種類は同一だがアップデートされるなどで多少の変更が加えられたものを意味する。バージョン番号は、そのＶＭイメージの状態が作成された時刻が古い順番に小さな番号が付与されるのが通常である。
【００１３】
以上の２つの課題を鑑みると、マネージャーは、ユーザーが特定のアプリケーションのバージョンに復元するために必要なVMイメージを残しつつ、不要なVMイメージを削除もしくは移動することが最も望ましい。すなわち、アプリケーションのバージョンとVMイメージのバージョンの組み合わせから不要なVMイメージを容易に判断することである。
【００１４】
これらの課題に際し、従来技術では、アプリケーションのバージョンとVMイメージのバージョンの組み合わせを考慮していないため、必要なVMイメージを削除ないし移動してしまい、アプリケーションのバージョンの復元が不可能となる場合がある。
さらに、クラウド環境では、アプリケーションを管理するユーザーとVMイメージを管理するマネージャーは別であることが通例である。マネージャーはVMイメージのバージョン管理し、不要なVMイメージを削除する権利を持っているが、アプリケーションのバージョン情報はユーザーの資産に保存されるためアプリケーションのバージョンを知ることができない。
そこで本発明の目的は、アプリケーションの復元を可能にし、かつクラウドシステムにおけるＶＭスプロールを回避する技術を提供することにある。
【課題を解決するための手段】
【００１５】
上記課題を解決するために、本発明では、VMイメージ上でのアプリケーションの実行実績を、時系列で定められる実績番号によって、アプリケーションの情報と対応付けながら、VMイメージ名とVMイメージバージョン番号の組として管理し、新たな実行実績を取得した際に、実行実績の時系列情報及びアプリケーションに適用される復元ポリシーから、アプリケーションの復元に必要となるVMイメージのVMイメージ名とVMイメージバージョン番号の組を特定し、削除対象から除外することを特徴とする。
【００１６】
具体的な一例として、本願発明の仮想環境運用管理装置は、VMイメージ上でのアプリケーションの実行実績について、前記実行実績に係るVMイメージの、VMイメージの識別子と、VMイメージのバージョン番号と、前記VMイメージの識別子とVMイメージのバージョン番号の組合せごとに前記実行実績を時系列に一意に識別する実績番号と、を登録したVMイメージ実績テーブルと、前記実行実績に係るアプリケーションの、アプリケーションの識別子と、アプリケーションのバージョン番号と、当該実行実績についての前記実績番号と、を登録したアプリケーション実績テーブルと、VMイメージの識別子とVMイメージのバージョン番号の組合せごとに、最も古い実績番号である最古実績番号と、最も新しい実績番号である最新実績番号と、当該組合せに係るVMイメージが削除可能か否かが設定された削除フラグと、を登録したVMイメージ候補テーブルと、削除対象となるVMイメージの候補を抽出する削除対象判断手段によって削除不可能と判断されたVMイメージの識別子とVMイメージのバージョン番号の組合せごとに、当該組合せの実績番号のうち、最も古い実績番号である重複最古実績番号と、最も新しい実績番号である重複最新実績番号と、を登録した重複実績番号リストと、を記憶する記憶手段と、前記アプリケーション実績テーブルから、前記アプリケーションの識別子ごとに、当該アプリケーションの識別子を有する１つ以上の実績番号を、実績番号のリストとして取得する実績番号取得手段と、前記実績番号のリストに含まれる実績番号が、前記重複実績番号リストに登録されたいずれかの重複最古実績番号から重複最新実績番号の範囲に含まれるかを判断する前記削除対象判断手段と、前記実績番号のリストに含まれる実績番号が、いずれの前記組合せの重複最古実績番号から重複最新実績番号の範囲にも属さない場合は、前記VMイメージ実績テーブルに基づき、当該実績番号のリストに含まれる実績番号に対応するVMイメージの識別子とVMイメージのバージョン番号の組合せを特定するVMイメージ特定手段と、前記VMイメージ特定手段によって取得された組合せに対応する前記VMイメージ候補テーブルの削除フラグを、削除不可能に設定する削除フラグ設定手段と、前記実績番号のリストに含まれる実績番号に基づき、前記VMイメージ特定手段によって特定された組合せに対応する、前記VMイメージ候補テーブルの最古実績番号と最新実績番号を、前記重複実績番号リストの重複最古実績番号と重複最新実績番号として登録する最新最古実績番号更新手段と、前記実績番号のリストに含まれる実績番号の各々を処理した結果、前記VMイメージ候補テーブルにおいて、前記削除フラグが削除不可能に設定されていないVMイメージの識別子とVMイメージのバージョン番号の組合せを、削除対象のVMイメージと判断する削除対象決定手段と、を有する。
【発明の効果】
【００１７】
本発明によれば、アプリケーションの復元を可能にし、クラウドシステムにおけるＶＭスプロールを回避することが可能となる。
【図面の簡単な説明】
【００１８】
【図１】本発明の一実施形態のVMイメージ選択システムの機能ブロック構成を示す図である。
【図２】本発明の一実施形態のVMイメージの構成を示す図である。
【図３】本発明の一実施形態アプリケーション名とアプリケーションバージョン番号を管理するアプリケーション実績テーブルを示す図である。
【図４】本発明の一実施形態VMイメージ名とVMイメージバージョン番号を管理するVMイメージ実績テーブル
【図５】本発明の一実施形態ポリシーIDとポリシーを管理するポリシーテーブルを示す図である。
【図６】本発明の一実施形態の時刻情報を示す図である。
【図７】本発明の一実施形態VMイメージ候補テーブルを示す図である。
【図８】本発明の一実施形態重複実績番号リストを示す図である。
【図９】本発明の一実施形態対象VMイメージリストを示す図である。
【図１０】本発明の一実施形態代替案リストを示す図である。
【図１１】本発明の一実施形態アプリケーション別実績収集方法テーブルを示す図である。
【図１２】本発明の一実施形態実績を通知する実績パケットを示す図である。
【図１３】本発明の一実施形態ポリシー変更を通知するポリシーパケットを示す図である。
【図１４】本発明の一実施形態の全体処理を示す図である。
【図１５】本発明の一実施形態のポリシーテーブル更新処理（P1）を示す図である。
【図１６】本発明の一実施形態のアプリケーション実績テーブルおよびVMイメージ実績テーブル更新処理（P2）を示す図である。
【図１７】本発明の一実施形態のVMイメージ選択処理（P3）を示す図である。
【図１８】本発明の一実施形態のポリシー判定処理（P4）を示す図である。
【図１９】本発明の一実施形態の該当行検索処理（P4-1）を示す図である。
【図２０】本発明の一実施形態の代替対象判定処理（P5）を示す図である。
【図２１】本発明の一実施形態の実績収集処理（P6）を示す図である。
【図２２】本発明の一実施形態であるMイメージ名とVMイメージバージョン番号の組ごとに区別された実績番号を付与した場合の、各テーブルの連携を示す図である。
【図２３】本発明の一実施形態であるVMイメージ名とVMイメージバージョン番号の組を意識せずに実績パケットを受信した順に実績番号を付与した場合の、各テーブルの連携を示す図である。
【発明を実施するための形態】
【００１９】
以下に本発明の実施形態について図面を用いて詳細に説明する。図１は、本実施形態における情報処理装置（管理計算機）を含むシステム構成図である。図１に示す管理計算機１０１は、クラウドシステムにおけるＶＭスプロールを回避するため、削除もしくは圧縮、アーカイブへ移動するVMイメージを選択するコンピュータ装置である。
図１に例示するシステムにおいては、管理計算機１０１の他に、ＶＭイメージを記憶した複数のストレージ１１１，１１２，１１３、ストレージからＶＭイメージ１１４、１１５を読み出して実行することで仮想計算機を実装する複数の計算機１０７，１０８，１０９、およびポリシー入力に基づくポリシーパケットを管理計算機１０１に送ってくるユーザー端末１０５を含んでいる。このユーザー端末１０５は、ユーザーのデータ入力を受け付けて、管理計算機１０１にポリシーパケットとして送信する装置である。ユーザー端末１０５は通信機能を備えており、ネットワーク５を介して管理計算機１０１の通信部１０４と接続されている。
【００２０】
図１の例では、管理計算機１０１を単体のコンピュータ装置として示しているが、本実施形態の情報処理装置として必要な機能を実装した他装置とネットワークを介して互いに協働し、複数装置をもって管理計算機１０１を構成するとしても問題ない。
【００２１】
管理計算機１０１のハードウェア構成は以下の如くとなる。管理計算機１０１は、ハードディスクドライブなど適宜な不揮発性記憶装置で構成されるメモリ１０３（記憶部）、メモリ１０３に保持されるプログラム類を読み出すなどして実行し装置自体の統括制御を行なうとともに各種判定、演算及び制御処理を行なうＣＰＵ１０２（演算部）、ユーザー端末１２７とのデータ通信を担う通信部１０４、を備える。図１に示す例では、ユーザー端末１０５が管理計算機１０１の入力部とも言える。
【００２２】
なお、メモリ１０３には、本実施形態の情報処理装置として必要な機能を実装する為のプログラム、および各種テーブル等が格納されている。本実施形態の情報処理装置として備えるべき機能は、管理計算機１０１が備えるプログラムを実行することで実装される機能と言える。図１においては、こうした機能を処理部として示している。
【００２３】
メモリ１０３に含まれる処理部としては、VMイメージ選択部120、時刻取得部１２１がある。また、メモリ１０３に含まれるテーブルやデータとしては、アプリケーション実績テーブル117、ＶＭイメージ実績テーブル118、ポリシーテーブル119、VMイメージ候補テーブル122、重複実績番号リスト123、対象VMイメージリスト124、代替案リスト125、アプリケーション別実績収集方法テーブル126、がある。
【００２４】
上記の管理計算機１０１とネットワーク５で接続されたストレージ部１１０は、１台以上のストレージを含むコンピュータ装置である。各ストレージはハードディスクドライブなどの不揮発性記憶装置で構成されており、ファイルを格納することができる。このストレージ部１１０は、ストレージ１１１、ストレージ１１２、ストレージ１１３の他に、アーカイブ対象のＶＭイメージを格納するための記憶装置であるアーカイブ１１６を備えている。このアーカイブ１１６は、ストレージの一種でありストレージ１１１、１１２より容量が大きいが、計算機１０７、１０８、１０９からのアクセス速度が遅いものとなる。また、アーカイブ１１６はＶＭイメージをストレージ１１１，１１２から受信し格納することができる。
【００２５】
ストレージ１１１はＶＭイメージ１１４を格納しており、計算機１０７、アーカイブ１１６と接続されている。また、ストレージ１１２はＶＭイメージ１１５を格納しており、計算機１０８、アーカイブ１１６と接続されている。
【００２６】
一方、計算機部１０６は１台以上の計算機を含むコンピュータ装置である。各計算機はＶＭイメージを実行することで仮想計算機たるＶＭ（以下、ＶＭとする）を起動することができる。また、ＶＭはアプリケーションを実行することができる。計算機部１０６を構成する各計算機らは通信機能を備えており、ネットワーク５を介して管理計算機１０１の通信部１０４と接続されている。
計算機部１０６をなす計算機１０７は、ストレージ１１１と接続されている。また、計算機１０８はストレージ１１２と接続されている。計算機１０９はストレージ１１３と接続されている。ストレージ１１３は計算機１０９、アーカイブ１１６と接続されている。
【００２７】
続いて、管理計算機１０１が実行する処理について説明しておく。管理計算機１０１は、ユーザー端末１０５を介しユーザから指定されたアプリケーションないしアプリケーション実績テーブル１１７にデータが格納されているいずれかのアプリケーションについて、VMイメージ実績テーブル１１８のデータとポリシーテーブル１１９のデータを照合してVMイメージ選択処理を実行する。
なお、管理計算機１０１は、ポリシーテーブル１１９において、所定ポリシーが該当する場合の評価値として、１つ以上の評価係数５０５を含み、ＣＰＵ１０２は、削除対象となるVMイメージを特定する処理において、アプリケーションごとに該当したポリシーに対応する評価係数５０５を用いて、アプリケーションごとの評価値合計を算出し、評価値合計を用いて削除対象となるVMイメージのＶＭイメージ名とＶＭイメージバージョン番号の組を選択することができる。
【００２８】
また、メモリ１０３は、ポリシーテーブル１１９において、各ポリシーに対応する評価係数５０５を計算する処理として、１つ以上のプログラムを含み、ＣＰＵ１０２は削除対象となるVMイメージを特定する処理において、アプリケーションごとに該当したポリシーに対応するプログラムを用いて、アプリケーションごとの評価値合計を算出し、評価値合計を用いて削除対象となるVMイメージのＶＭイメージ名とＶＭイメージバージョン番号の組を選択することができる。
【００２９】
また、あるＶＭイメージバージョン番号を有するＶＭイメージを稼動するには別のＶＭイメージバージョン番号のＶＭイメージ（承継元）が必要な場合は、メモリ１０３は、ＶＭイメージ実績テーブル１１８に１つ以上の継承元ＶＭイメージバージョン番号を含み、ＣＰＵ１０２は、削除対象となるVMイメージを特定する処理において、継承元ＶＭイメージバージョン番号に対しても該当フラグ７１０を付与することができる。これにより、承継元のVMイメージが削除されてしまい、承継元を必要とするＶＭイメージが再現できなくなることを防ぐことができる。
【００３０】
図２は、本実施形態におけるＶＭイメージ１１４、１１５の内容を示す図である。図２に示すＶＭイメージ１１４、１１５は、図１に示す管理計算機１０１と通信し、管理計算機１０１が各テーブル更新処理を実施するために必要な実績パケットを送受信する。なお、ＶＭイメージ１１４、１１５は計算機によって実行されるプログラムであり、その中に含まれる各種の処理部も、物理的には計算機上で実行されるものである。
VMイメージ201は、VMイメージ名２０５、VMイメージバージョン番号２０６、実績収集部202から構成されている。実績収集部202は通信部203、時刻取得部204から構成されている。実績収集部２０２，通信部２０３，時刻取得部２０４はいずれも計算機で実行可能なプログラムである。実績収集部２０２は、実績収集処理を実行し実績パケットを作成する。時刻取得部２０４は、実績パケット作成時の時刻を取得する。通信部２０３は、実績パケットを管理計算機１０１に送信する。
【００３１】
次に、本実施形態の管理計算機１０１等が用いるテーブル、データ類の例について説明する。
図３は本実施形態のアプリケーション実績テーブル１１７の例を示す図である。アプリケーション実績テーブル１１７は、アプリケーション名とアプリケーションバージョン番号を管理し、計算機１０７，１０８、１０９が使用する各アプリケーション固有のデータと実績番号を対応付けたレコードの集合体となっている。アプリケーション固有のデータとしては、アプリケーション名３０１とアプリケーションバージョン番号３０２および最古時刻３０４となる。アプリケーション実績テーブル１１７は、管理計算機１０１が参照し、削除対象となるＶＭイメージの選択処理に使用する。
【００３２】
「アプリケーション名」301はアプリケーションを一意に示す名称であり、行305は「アプリケーション名」が「A帳票出力バッチ」であるものに関する記述であり、行306は「アプリケーション名」が「A帳票出力バッチ」であるものに関する記述であり、行307は「アプリケーション名」が「A帳票出力バッチ」であるものに関する記述であり、行308は「アプリケーション名」が「B勘定オンライン」であるものに関する記述であり、行309は「アプリケーション名」が「B勘定オンライン」であるものに関する記述であり、行310は「アプリケーション名」が「B勘定オンライン」であるものに関する記述であり、行311は「アプリケーション名」が「C定期監視」であるものに関する記述であり、行312は「アプリケーション名」が「C定期監視」であるものに関する記述であり、行313は「アプリケーション名」が「C定期監視」であるものに関する記述であり、行314は「アプリケーション名」が「C定期監視」であるものに関する記述であり、行315は「アプリケーション名」が「Dバックアップ」であるものに関する記述である。
「アプリケーションバージョン番号」302はアプリケーション名301が示すアプリケーションに関するバージョン番号が記載される。例えば、「アプリケーション名」が「A帳票出力バッチ」であるものの「アプリケーションバージョン番号」は「1」であり、「アプリケーション名」が「A帳票出力バッチ」であるものの「アプリケーションバージョン番号」は「2」であり、「アプリケーション名」が「A帳票出力バッチ」であるものの「アプリケーションバージョン番号」は「3」であり、「アプリケーション名」が「B勘定オンライン」であるものの「アプリケーションバージョン番号」は「1」であり、「アプリケーション名」が「B勘定オンライン」であるものの「アプリケーションバージョン番号」は「2」であり、「アプリケーション名」が「B勘定オンライン」であるものの「アプリケーションバージョン番号」は「3」であり、「アプリケーション名」が「C定期監視」であるものの「アプリケーションバージョン番号」は「1」であり、「アプリケーション名」が「C定期監視」であるものの「アプリケーションバージョン番号」は「2」であり、「アプリケーション名」が「C定期監視」であるものの「アプリケーションバージョン番号」は「3」であり、「アプリケーション名」が「C定期監視」であるものの「アプリケーションバージョン番号」は「4」であり、「アプリケーション名」が「Dバックアップ」であるものの「アプリケーションバージョン番号」は「1」である。
【００３３】
「最古時刻」303はアプリケーション名301が示すアプリケーションに関する実績のうち最古の実績が取得された時刻が記載される。例えば、「アプリケーション名」が「A帳票出力バッチ」であるものの「最古時刻」は「xx/7/1」であり、「アプリケーション名」が「A帳票出力バッチ」であるものの「最古時刻」は「xx/8/1」であり、「アプリケーション名」が「A帳票出力バッチ」であるものの「最古時刻」は「xx/9/1」であり、「アプリケーション名」が「B勘定オンライン」であるものの「最古時刻」は「xx/7/1」であり、「アプリケーション名」が「B勘定オンライン」であるものの「最古時刻」は「xx/8/1」であり、「アプリケーション名」が「B勘定オンライン」であるものの「最古時刻」は「xx/9/1」であり、「アプリケーション名」が「C定期監視」であるものの「最古時刻」は「xx/7/1」であり、「アプリケーション名」が「C定期監視」であるものの「最古時刻」は「xx/8/1」であり、「アプリケーション名」が「C定期監視」であるものの「最古時刻」は「xx/8/10」であり、「アプリケーション名」が「C定期監視」であるものの「最古時刻」は「xx/8/20」であり、「アプリケーション名」が「Dバックアップ」であるものの「最古時刻」は「xx/8/1」である。
「実績番号」304はアプリケーション301が示すアプリケーションに関する実績に一意のIDが記載される。例えば、「アプリケーション名」が「A帳票出力バッチ」であるものの「実績番号」は「1、100、101」であり、「アプリケーション名」が「B勘定オンライン」であるものの「実績番号」は「2、3、102」であり、「アプリケーション名」が「C定期監視」であるものの「実績番号」は「1000、1100、1102、1103」であり、「アプリケーション名」が「Dバックアップ」であるものの「実績番号」は「1101」である。
【００３４】
ここで実績番号３０４は、実績パケットを受信した順に付与される数値を想定しており、時系列で古いもの、もしくはＶＭイメージ名の辞書順に小さい値が付いている。それに対し、アプリケーション実績テーブル１１７は、アプリケーション名３０１とアプリケーションバージョン番号３０２で辞書順に整列している。そのため、実績番号３０４は必ずしも小さい値から順番に並んでいるとは限らない。  アプリケーション実績テーブル１１７がアプリケーション名３０１とアプリケーションバージョン番号３０２について辞書順に整列している理由は、後述するポリシー判定処理においてポリシーに基づいて該当行を選択するためである。
【００３５】
なお、本実施形態では、VMイメージ名とVMイメージバージョン番号の組ごとに区別された実績番号を付与してているが、VMイメージ名とVMイメージバージョン番号の組を区別せずに実績パケットを受信した順に実績番号を付与しても良い。
【００３６】
また、本実施形態におけるアプリケーション名およびアプリケーションバージョン番号は、単一のプログラムの名称およびバージョンを表すが、その限りではない。例えば、ユーザーが複数のVMを区別するためにホスト名を付与し、さらに時間経過によるVMの変化を区別するためにホストバージョン番号を付与するような計算機システムにおいては、アプリケーション名の代わりにホスト名を使用し、アプリケーションバージョン番号の代わりにホストバージョン番号を使用しても良い。もしくはユーザーがVMのグループを区別するためにVMグループ名とVMグループバージョンを付与する計算機システムにおいては、アプリケーション名とアプリケーションバージョン番号の代わりにVMグループ名とVMグループバージョン番号の値を代わりに用いても良い。これにより、アプリケーションを復元する他にも、特定時点のホスト、もしくは特定時点のVMグループを復元する目的で本発明を使用することも可能である。
【００３７】
図4はVMイメージ実績テーブル１１８の例を示す図である。ＶＭイメージ実績テーブル１１８は、VMイメージ名とVMイメージバージョン番号を管理し、ＶＭイメージ固有の情報と実績番号を対応付けたレコードの集合体である。アプリケーション実績テーブル１１７と同様に、管理計算機１０１がＶＭイメージ選択処理をするために使用する。 
「実績番号」401はVMイメージに関する実績を一意に示すIDであり、図３の実績番号304と等価な情報である。行404は「実績番号」が「1」であるものに関する記述であり、行405は「実績番号」が「2」であるものに関する記述であり、行406は「実績番号」が「3」であるものに関する記述であり、行407は「実績番号」が「100」であるものに関する記述であり、行408は「実績番号」が「101」であるものに関する記述であり、行409は「実績番号」が「102」であるものに関する記述であり、行410は「実績番号」が「1000」であるものに関する記述であり、行411は「実績番号」が「1100」であるものに関する記述であり、行412は「実績番号」が「1101」であるものに関する記述であり、行413は「実績番号」が「1102」であるものに関する記述であり、行414は「実績番号」が「1103」であるものに関する記述である。
【００３８】
「VMイメージ名」402は実績に関係するVMイメージを一意に示す名称が記載される。例えば、「実績番号」が「1」であるものの「VMイメージ名」は「a_vm_os1」であり、「実績番号」が「2」であるものの「VMイメージ名」は「a_vm_os1」であり、「実績番号」が「3」であるものの「VMイメージ名」は「a_vm_os1」であり、「実績番号」が「100」であるものの「VMイメージ名」は「a_vm_os1」であり、「実績番号」が「101」であるものの「VMイメージ名」は「a_vm_os1」であり、「実績番号」が「102」であるものの「VMイメージ名」は「a_vm_os1」であり、「実績番号」が「1000」であるものの「VMイメージ名」は「a_vm_os2」であり、「実績番号」が「1100」であるものの「VMイメージ名」は「a_vm_os2」であり、「実績番号」が「1101」であるものの「VMイメージ名」は「a_vm_os2」であり、「実績番号」が「1102」であるものの「VMイメージ名」は「a_vm_os2」であり、「実績番号」が「1103」であるものの「VMイメージ名」は「a_vm_os2」である。「VMイメージバージョン番号」403は実績に関係するVMイメージ名402が示すVMイメージに関するバージョン番号が記載される。例えば、「実績番号」が「1」であるものの「VMイメージバージョン番号」は「1」であり、「実績番号」が「2」であるものの「VMイメージバージョン番号」は「1」であり、「実績番号」が「3」であるものの「VMイメージバージョン番号」は「1」であり、「実績番号」が「100」であるものの「VMイメージバージョン番号」は「2」であり、「実績番号」が「101」であるものの「VMイメージバージョン番号」は「2」であり、「実績番号」が「102」であるものの「VMイメージバージョン番号」は「2」であり、「実績番号」が「1000」であるものの「VMイメージバージョン番号」は「1」であり、「実績番号」が「1100」であるものの「VMイメージバージョン番号」は「2」であり、「実績番号」が「1101」であるものの「VMイメージバージョン番号」は「2」であり、「実績番号」が「1102」であるものの「VMイメージバージョン番号」は「2」であり、「実績番号」が「1103」であるものの「VMイメージバージョン番号」は「2」である。
上記のように実績番号一つに対して、ＶＭイメージ名とＶＭイメージバージョン番号が一意に決まるパターンの他に、実績番号一つに対して、ＶＭイメージ名が複数、もしくはＶＭイメージバージョン番号が複数ある場合も考えられる。この例として、一つのアプリケーションが稼働するために複数のＶＭイメージが必要になる場合があり、分散処理系のアプリケーションでは複数のＶＭを使用することが考えられる。この場合は、ＶＭイメージ実績テーブルにおいて、同一の実績番号を保持する行が複数あるということが考えられる。
【００３９】
図5はポリシーテーブルの例を示す図である。ポリシーテーブル１１９は、ポリシーIDとポリシーとアプリケーション名を対応付けたレコードの集合体である。ポリシーテーブルは、管理計算機１０１が削除対象となるＶＭイメージを選択する処理に使用する。
「ポリシーID」501はポリシーを一意に示すIDであり、行506は「ポリシーID」が「P1_A」であるものに関する記述であり、行507は「ポリシーID」が「P1_B」であるものに関する記述であり、行508は「ポリシーID」が「P2_A」であるものに関する記述であり、行509は「ポリシーID」が「P2_B」であるものに関する記述であり、行510は「ポリシーID」が「P3」であるものに関する記述である。
【００４０】
「ポリシー名」502はポリシーの特徴を示す情報が記載される。例えば、「ポリシーID」が「P1_A」であるものの「ポリシー名」は「バージョン数確保」であり、「ポリシーID」が「P1_B」であるものの「ポリシー名」は「バージョン数確保」であり、「ポリシーID」が「P2_A」であるものの「ポリシー名」は「遡及時間確保」であり、「ポリシーID」が「P2_B」であるものの「ポリシー名」は「遡及時間確保」であり、「ポリシーID」が「P3」であるものの「ポリシー名」は「唯一のバージョン」である。
ここで、ポリシー名５０２が「バージョン数確保」であれば、後述するポリシー判定処理において、ＶＭイメージ名とＶＭイメージバージョン番号を選択するときに「確保できるバージョン数」が守られるような処理を実施する。もしくは、ポリシー名５０２が「遡及時間確保」であれば、「遡及時間までアプリケーションを戻すことができる」ことを守れるように処理を実施する。
【００４１】
「アプリケーション名」503はポリシーが適用されるアプリケーション名が記載される。例えば、「ポリシーID」が「P1_A」であるものの「アプリケーション名」は「A帳票出力バッチ」であり、「ポリシーID」が「P1_B」であるものの「アプリケーション名」は「B勘定オンライン」であり、「ポリシーID」が「P2_A」であるものの「アプリケーション名」は「C定期監視」であり、「ポリシーID」が「P2_B」であるものの「アプリケーション名」は「Dバックアップ」であり、「ポリシーID」が「P3」であるものの「アプリケーション名」は「すべて」である。
「定数」504はポリシーに使用される値が記載される。例えば、「ポリシーID」が「P1_A」であるものの「定数」は「2」であり、「ポリシーID」が「P1_B」であるものの「定数」は「2」であり、「ポリシーID」が「P2_A」であるものの「定数」は「1」であり、「ポリシーID」が「P2_B」であるものの「定数」は「1」であり、「ポリシーID」が「P3」であるものの「定数」は「-」である。これは、後述するポリシー判定処理において使用する値であり、例えばポリシー名５０２が「遡及時間確保」のポリシーで定数５０４が「１」の場合は、１ヶ月前までのアプリケーションを復元できるようにポリシー判定処理が行われる。また、ポリシー名５０２が「バージョン数確保」のポリシーで定数５０４が「２」の場合、現在から２バージョン前までのアプリケーションを復元できるようにポリシー判定処理が行われることを意味する。定数５０４が「−」の場合は、ある時点までアプリケーションを復元できるようにする必要がないことを意味する。
【００４２】
「評価係数」505はポリシー自身が持つ数値が記載される。評価係数は、ポリシーが適用されるＶＭイメージを削除することによる効果を表す値であり、具体的な例は後述する。例えば、「ポリシーID」が「P1_A」であるものの「評価係数」は「6」であり、「ポリシーID」が「P1_B」であるものの「評価係数」は「4」であり、「ポリシーID」が「P2_A」であるものの「評価係数」は「2」であり、「ポリシーID」が「P2_B」であるものの「評価係数」は「1」であり、「ポリシーID」が「P3」であるものの「評価係数」は「10」である。
【００４３】
図6は時刻情報の例を示す図である。これは、現在時刻を保持する情報であり、時刻取得部１２１によって生成される。この図において、現在時刻６０１はxx/9/1であり日付を意味する情報が入力されているが、日付と併せて時刻が保持されても良い。
【００４４】
図7はVMイメージ候補テーブルの例を示す図である。このテーブルは、管理計算機１０１がＶＭイメージ選択処理を実施する中で、候補となるＶＭイメージを蓄積するために作成する。
「VMイメージID」701はVMイメージを一意に示すIDであり、行７１４は「VMイメージID」が「00」であるものに関する記述であり、行７１５は「VMイメージID」が「01」であるものに関する記述であり、行７１６は「VMイメージID」が「10」であるものに関する記述であり、行７１７は「VMイメージID」が「11」であるものに関する記述である。
【００４５】
「VMイメージ名」702は、VM イメージを一意に示す名称が記載される。例えば、「VMイメージID」が「00」であるものの「VMイメージ名」は「a_vm_os1」であり、「VMイメージID」が「01」であるものの「VMイメージ名」は「a_vm_os1」であり、「VMイメージID」が「10」であるものの「VMイメージ名」は「b_vm_os2」であり、「VMイメージID」が「11」であるものの「VMイメージ名」は「b_vm_os2」である。
「VMイメージバージョン番号」703はVMイメージが関係するバージョン番号が記載される。例えば、「VMイメージID」が「00」であるものの「VMイメージバージョン番号」は「1」であり、「VMイメージID」が「01」であるものの「VMイメージバージョン番号」は「2」であり、「VMイメージID」が「10」であるものの「VMイメージバージョン番号」は「1」であり、「VMイメージID」が「11」であるものの「VMイメージバージョン番号」は「2」である。
【００４６】
「最古実績番号」７０４はVMイメージが関係する実績における最古の実績番号が記載される。例えば、「VMイメージID」が「00」であるものの「最古実績番号」は「1」であり、「VMイメージID」が「01」であるものの「最古実績番号」は「100」であり、「VMイメージID」が「10」であるものの「最古実績番号」は「1000」であり、「VMイメージID」が「11」であるものの「最古実績番号」は「1100」である。
「最新実績番号」７０５はVMイメージが関係する実績における最新の実績番号が記載される。例えば、「VMイメージID」が「00」であるものの「最新実績番号」は「3」であり、「VMイメージID」が「01」であるものの「最新実績番号」は「102」であり、「VMイメージID」が「10」であるものの「最新実績番号」は「1000」であり、「VMイメージID」が「11」であるものの「最新実績番号」は「1103」である。
【００４７】
「該当フラグ」７０６はVMイメージが削除対象外のＶＭイメージに該当するかどうかを示す情報が記載され、例えば「１」は削除対象外に「該当する」、「０」は削除対象外に「該当しない」というバイナリ情報を記載する。例えば、「VMイメージID」が「00」であるものの「該当フラグ」は「1」であり、「VMイメージID」が「01」であるものの「該当フラグ」は「1」であり、「VMイメージID」が「10」であるものの「該当フラグ」は「0」であり、「VMイメージID」が「11」であるものの「該当フラグ」は「1」である。
「P1_A」７０７、「P1_B」７０８、「P2_C」７０９、「P2_D」７１０、「P3」７１１は、これら項目の名称と同一の各ポリシーIDを有するポリシーが適用されるＶＭイメージがあったかどうかについての情報が記載される。該当するVMイメージがあった場合は、その要素が「１」という値を持つ。例えば、「VMイメージID」が「00」であるものの「P1_A」は「0」であり、「VMイメージID」が「01」であるものの「P1_A」は「1」であり、「VMイメージID」が「10」であるものの「P1_A」は「0」であり、「VMイメージID」が「11」であるものの「P1_A」は「0」である。例えば、「VMイメージID」が「00」であるものの「P1_B」は「1」であり、「VMイメージID」が「01」であるものの「P1_B」は「1」であり、「VMイメージID」が「10」であるものの「P1_B」は「0」であり、「VMイメージID」が「11」であるものの「P1_B」は「0」である。また例えば、「VMイメージID」が「00」であるものの「P2_C」は「0」であり、「VMイメージID」が「01」であるものの「P2_C」は「0」であり、「VMイメージID」が「10」であるものの「P2_C」は「0」であり、「VMイメージID」が「11」であるものの「P2_C」は「1」である。また、例えば、「VMイメージID」が「00」であるものの「P2_D」は「0」であり、「VMイメージID」が「01」であるものの「P2_D」は「0」であり、「VMイメージID」が「10」であるものの「P2_D」は「0」であり、「VMイメージID」が「11」であるものの「P2_D」は「1」である。また、例えば、「VMイメージID」が「00」であるものの「P3」は「0」であり、「VMイメージID」が「01」であるものの「P3」は「0」であり、「VMイメージID」が「10」であるものの「P3」は「0」であり、「VMイメージID」が「11」であるものの「P3」は「1」である。
【００４８】
「評価値合計」７１２は、「P1_A」７０７、「P1_B」７０８、「P2_C」７０９、「P2_D」７１０、「P3」７１１において「適用あり」となっているポリシーについての評価係数５０５を合計した値であり、代替対象判定処理で使用される。例えば、「VMイメージID」が「00」であるものの「評価値合計」は「4」であり、「VMイメージID」が「01」であるものの「評価値合計」は「10」であり、「VMイメージID」が「10」であるものの「評価値合計」は「0」であり、「VMイメージID」が「11」であるものの「評価値合計」は「13」である。
【００４９】
図8は、重複実績番号リストの例を示す図である。重複実績番号リスト１２３は、管理計算機１０１がＶＭイメージ選択処理を高速に実施するために作成および使用する。
「重複最古実績番号」801は、削除対象から除外されるＶＭイメージの実績番号の中で最古の実績番号であり、行803は「重複最古実績番号」が「1」であるものに関する記述である。
「重複最新実績番号」802は、削除対象から除外されるＶＭイメージの実績番号の中で最新の実績番号が記載される。例えば、「重複最古実績番号」が「1」であるものの「重複最新実績番号」は「3」である。
【００５０】
なお、重複実績番号リストの生成、更新手順については後述する。
【００５１】
図9は対象VMイメージリストの例を示す図である。対象VMイメージリスト１２４には、削除対象のＶＭイメージの選択処理の結果、削除、移動又は圧縮の対象となったVMイメージの情報が登録される。
「VMイメージ名」901はＶＭイメージ名であり、行903は「VMイメージ名」が「b_vm_os1」であるものに関する記述である。
「VMイメージバージョン番号」902はＶＭイメージバージョン番号が記載される。例えば、「VMイメージ名」が「b_vm_os1」であるものの「VMイメージバージョン番号」は「1」である。
【００５２】
図10は代替案リストを示す図である。代替案リストは、管理計算機１０１がＶＭイメージ選択処理の中の代替対象判定処理を実施して作成する。代替対象判定処理は、VMイメージ選択処理で適切なVMイメージがない場合に実施され、代替案リストに代替のVMイメージについての複数の代替案の情報を追加する。
「代替案番号」1001は代替案に一意の番号であり、行1006は「代替案番号」が「1」であるものに関する記述であり、行1007は「代替案番号」が「2」であるものに関する記述である。
【００５３】
「代替対象VMイメージ名」1002は代替案に関わる代替対象（削除又は移動の対象となるＶＭイメージ）となるVMイメージの名称が記載される。例えば、「代替案番号」が「1」であるものの「代替対象VMイメージ名」は「b_vm_os2」である。「代替対象VMイメージバージョン番号」1003は代替案に関わる代替対象となるVMイメージのバージョン番号が記載される。例えば、「代替案番号」が「1」であるものの「代替対象VMイメージバージョン番号」は「1」である。
「代替先VMイメージ名」1004は代替案に関わる代替先（代替対象のＶＭイメージに替わってアプリケーションを実行するＶＭイメージ）となるVMイメージの名称が記載される。例えば、「代替案番号」が「1」であるものの「代替先VMイメージ名」は「b_vm_os2」である。「代替先VMイメージバージョン番号」1005は代替案に関わる代替先となるVMイメージのバージョン番号が記載される。例えば、「代替案番号」が「1」であるものの「代替先VMイメージバージョン番号」は「2」である。
【００５４】
図11はアプリケーション別実績収集方法テーブルの例を示す図である。アプリケーション別実績収集方法テーブル１２６には、アプリケーションごとに異なる、実績パケットを作成するために必要となる実績の収集方法を記載する。
「アプリケーション名」1101はアプリケーションに一意の名称であり、行1105は「アプリケーション名」が「A帳票出力バッチ」であるものに関する記述であり、行1106は「アプリケーション名」が「B勘定オンライン」であるものに関する記述である。
【００５５】
「プロセス名」1102はアプリケーション稼働中に実行されるプロセスの名称が記載される。例えば、「アプリケーション名」が「A帳票出力バッチ」であるものの「プロセス名」は「print.bat」であり、「アプリケーション名」が「B勘定オンライン」であるものの「プロセス名」は「oltp.bin」である。
「アプリケーションバージョン確認方法」1103は、アプリケーションのバージョン番号を確認するために実績収集部が実施すべき方法が記載される。例えば、「アプリケーション名」が「A帳票出力バッチ」であるものの「アプリケーションバージョン確認方法」は「ログファイルA1のヘッダのバージョン番号を参照する」であり、「アプリケーション名」が「B勘定オンライン」であるものの「アプリケーションバージョン確認方法」は「通信パケットのヘッダのバージョン番号を参照する」である。
【００５６】
「正常動作確認方法」1104はアプリケーションが正常に動作しているかどうかを確認するために実績収集部が実施すべき方法が記載される。例えば、「アプリケーション名」が「A帳票出力バッチ」であるものの「正常動作確認方法」は「ログファイルA1を参照しエラー行がない」であり、「アプリケーション名」が「B勘定オンライン」であるものの「正常動作確認方法」は「ACKパケットが返答される」である。
【００５７】
図12は実績パケットの例を示す図である。これは、VMイメージ上でのアプリケーションの稼動実績を管理計算機１０１へ通知するパケットであり、実績収集部２０２が生成する。
「アプリケーション名」1201は実績に関するアプリケーションに一意の名称であり、行1206は「アプリケーション名」が「A帳票出力バッチ」であるものに関する記述である。
「アプリケーションバージョン番号」1202は実績に関するアプリケーションのバージョン番号が記載される。例えば、「アプリケーション名」が「A帳票出力バッチ」であるものの「アプリケーションバージョン番号」は「1」である。「VMイメージ名」1203は実績に関するVMイメージの名称が記載される。例えば、「アプリケーション名」が「A帳票出力バッチ」であるものの「VMイメージ名」は「a_vm_os1」である。
【００５８】
「VMイメージバージョン番号」1204は実績に関するVMイメージのバージョン番号が記載される。例えば、「アプリケーション名」が「A帳票出力バッチ」であるものの「VMイメージバージョン番号」は「1」である。
「時刻」1205には実績が取得された時刻が記載される。例えば、「アプリケーション名」が「A帳票出力バッチ」であるものの「時刻」は「xx/7/1」である。
【００５９】
図13はポリシーパケットの例を示す図である。これは、ポリシーテーブル１１９に登録された内容の変更や追加を通知するパケットであり、ユーザの入力を受けてユーザー端末１０５で生成される。
「アプリケーション名」1301はポリシーに関するアプリケーションに一意の名称であり、行1304は「アプリケーション名」が「A帳票出力バッチ」であるものに関する記述である。
「ポリシー名」1302はポリシーの特徴を示す名称が記載される。例えば、「アプリケーション名」が「A帳票出力バッチ」であるものの「ポリシー名」は「バージョン数確保」である。「定数」1303はポリシーの特徴を示す数値が記載され、ポリシー名1302と共に参照することでポリシーの特徴を規定することができる。例えば、「アプリケーション名」が「A帳票出力バッチ」であるものの「定数」は「3」である。
【００６０】
以下、本実施形態における情報処理方法の実際手順について図に基づき説明する。以下で説明する情報処理方法に対応する各機能部は、管理計算機１０１がメモリ１０３から読み出して実行するプログラムによって実現される。そして、このプログラムは、以下に説明される各種の動作を行うためのコードから構成されている。
【００６１】
具体的な処理例の説明の前に、図２２において、各テーブル間の連携を説明する。図２２（ａ）は、ＶＭイメージ実績テーブル１２２、図２２（ｂ）はアプリケーション実績テーブル１１７の一部、図２２（ｃ）はVMイメージ候補テーブル１１８の一部、図２２（ｄ）は重複実績番号リスト１２３の更新前の状態、図２２（ｅ）は重複実績番号リスト１２３の更新後の状態である。
まず、実績パケット受信時のテーブル間の連携について説明する。管理計算機１０１は、計算機１０７、１０８、１０９から実績パケットを受信すると、新たな実行実績についてのＶＭイメージ名とＶＭバージョン番号の組に応じて、実行実績を一意に識別する実績番号を付与する。例えば、実績パケットとして「Ｂ勘定オンライン/１/a_VM_os2/１/20111211」を受け取った場合、VMイメージ名「a_VM_os2」のＶＭイメージバージョン番号「１」に対して付与されている最新の実績番号「１００２」をインクリメントして「１００３」の実績番号が付与され、ＶＭイメージ実績テーブル１２２、アプリケーション実績テーブル１１７、及びＶＭイメージ候補テーブルの最新実績番号７０５に登録される。同様に、実績パケット「Ｄバックアップ/２/a_VM_os2/2/20111211」を受け取った場合、VMイメージ名「a_VM_os2」のＶＭイメージバージョン番号「２」に対して付与されている最新の実績番号「１１０１」をインクリメントして「１１０２」の実績番号が付与され、各テーブルに登録される。なお、重複実績番号リスト１２３はVMイメージ選択処理（P3）の過程で登録されるため、実績パケットを受信した段階では処理されない。
【００６２】
次に、VMイメージ選択処理（P3）におけるテーブル間の連携について説明する。まず、重複実績番号リスト１２３が初期化され、図２２ｄ）のように重複最古実績番号２２０４及び重複最新実績番号２２０５の登録がない状態となる。そして、アプリケーション実績テーブル１１７からアプリケーション名３０２の単位で実績番号（以下、実績番号群とする）を取得する。図２２（ｂ）の場合、「Ａ帳票出力バッチ」の実績番号群２２０１、「Ｂ勘定オンライン」の実績番号群２２０２のように分かれる。
そして、「Ａ帳票出力バッチ」に適用されるポリシーが「バージョン数確保」であり、ポリシーの定数５０４は「１」であるため、アプリケーションバージョン番号３０４が最新の値である「３」に対応する実績番号「１０３」がポリシーにより保護される対象として抽出される。まず、実績番号「１０３」は、図２２(ｄ)で示す重複実績番号リスト１２３に登録されていないため、この実績番号を有するＶＭイメージは削除対象外と判断され、VMイメージ候補テーブル１１８の行2204の削除フラグに「１」が設定される。そして、VMイメージ候補テーブル１１８に登録された行2204(a_VM_os1、バージョン１)についての最古実績番号「100」が、重複実績番号リスト１２３の重複最古実績番号８０１に、最新実績番号「103」が重複最新実績番号８０２に登録される。具体的には、図２２の（ｅ）の更新後の重複実績番号リスト１２３のようになる。
【００６３】
これにより、行2203または行2204のVMイメージは削除フラグにより削除対象外のVMイメージとして扱われ、また重複実績番号リスト１２３が逐次更新されることにより、削除対象外のVMイメージか否かを高速に判断可能することができる。
【００６４】
図２３は、VMイメージ名とVMイメージバージョン番号の組を意識せずに実績パケットを受信した順に付与した場合の、テーブル間の連携を説明する図である。 図２３（ａ）は、ＶＭイメージ実績テーブル１２２、図２３（ｂ）はアプリケーション実績テーブル１１７の一部、図２３（ｃ）はVMイメージ候補テーブル１１８の一部、図２３（ｄ）は重複実績番号リスト１２３の更新前の状態、図２３（ｅ）は重複実績番号リスト１２３の更新後の状態である。
【００６５】
まず、実績パケット受信時のテーブル間の連携について説明する。管理計算機１０１は、計算機１０７、１０８、１０９から実績パケットを受信すると、実績パケットを受信した順に、新たな実行実績を一意に識別する実績番号４０１を付与する。例えば、実績パケットとして「Ｂ勘定オンライン/１/a_VM_os2/１/20111211」を新たに受け取った場合、最新の実行実績に付与されている実績番号「１３」をインクリメントして「１４」の実績番号が付与され、ＶＭイメージ実績テーブル１２２、アプリケーション実績テーブル１１７、及びＶＭイメージ候補テーブルの最新実績番号７０５に登録される。次に実績パケット「Ｄバックアップ/２/a_VM_os2/2/20111211」を受け取った場合は、最新の実績番号「１４」をインクリメントして「１５」の実績番号が付与され、各テーブルに登録される。
【００６６】
実績パケットを受信した順に実績番号を付与する場合、図２３（ｃ）で示すように、VMイメージ候補テーブル１１８は、最古実績番号７０４及び最新実績番号７０５に代えて、実績番号配列２３０３を有し、新たな実績番号は実績番号配列２３０３に登録される。実績番号配列２３０３には、該当行のVMイメージが関係する実行実績についての実績番号が記載される。例えば、行2304の場合、VMイメージ名が「a_VM_os1」、VMバージョン番号が「１」のVMイメージには、「１、3、4、5、12、13」の実行実績が登録されていることを意味する。その他の項目は、図２２の場合と同様である。
【００６７】
次に、VMイメージ選択処理（P3）におけるテーブル間の連携について説明する。基本的な処理は図２２の場合と同様であり、アプリケーションの実行実績番号群ごとに分け、実行実績番号が重複実績番号リスト１２３に登録された重複最古実績番号８０１と重複最新実績番号８０２の範囲に含まれるかを調べ、削除対処から除外するVMイメージについては該当フラグ７０７に「１」を設定して保護する。
図２２の場合と異なるのは、重複実績番号リスト１２３の更新処理である。例えば、VMイメージ選択処理（P3）において実績番号「１３」のVMイメージが削除対象外のVMイメージとして判断された場合、VMイメージ候補テーブル１１８の行2304の実績番号配列２３０３に含まれる実績番号「１、３、４、５、１２、１３」が重複実績番号リスト１２３に登録される。そしてこれらの実績番号から連続性のある実績番号をまとめ、重複最古実績番号８０１と重複最新実績番号８０２、は「１、１」、「３、５」、「１２、１３」という組になり、図２３（ｄ）のように登録される。次いで実績番号「１４」のVMイメージが削除対象外のVMイメージとして判断されると、行2305の実績番号配列２３０３に含まれる実績番号「９、１０、１１、１４、１５」が、さらに重複実績番号リスト１２３に追加される。そして、「１、３、４、５、１２、１３」、「９、１０、１１、１４、１５」の中で連続性のある実績番号をまとめ、「１、１」、３、５」、「９、１５」という組となり、図２３（ｅ）のように登録される。これにより、図２２の場合と同様に、削除対象外でのVMイメージか否かを高速に判断可能することができる。
なお、図１４以降では図２２で説明した実績番号の付与方法を用いた処理例を説明するが、上記の相違点を適用することにより、図２３の場合も同様に処理可能である。
【００６８】
図14は本実施形態における全体処理の流れを示すシーケンス図である。本実施形態では、ユーザー端末１０５がユーザによるポリシー入力を受け付けた場合、もしくは実績収集部２０２から実績パケットを受信した場合に全体処理を開始する。
最初に、ユーザー端末１０５はユーザーからのポリシー入力を受け付ける（1401）。次に、ユーザー端末１０５は、ポリシー入力の情報を含むポリシーパケットを生成し、VMイメージ選択部１２０へ送信する（1402）。次に、VMイメージ選択部１２０はポリシーパケットを受信し、ポリシーテーブル更新処理（P1）を行う（1403）。次に、VMイメージ選択部１２０はVMイメージ選定処理（P3）行う(1404)。
【００６９】
また、符号１４０１から１４０４の処理と同時に、実績収集部２０２は計算機を監視し実績収集処理（P6）を行う（1405）。次に、実績収集部２０２は、監視結果を含む実績パケットを作成しVMイメージ選択部１２０へ送信する（1406）。次に、VMイメージ選択部１２０は実績パケットを受信しアプリケーション実績テーブルおよびVMイメージ実績テーブル更新処理（P2）を行う（1407）。最後に、VMイメージ選択部１２０はVMイメージ選定処理（P3）を行う（1408）。符号１４０１から１４０４までの処理と符号１４０５から１４０８までの処理は並列に実施されるため、どちらが先に実施されても良い。また、符号１４０４の処理と符号１４０８の処理は同じであり、符号１４０３もしくは符号１４０７のどちらかを契機に実施される。そのため、一方の契機がまったく実施されなくてもよい。なお、VMイメージ選定処理（P3）(1404、1408)により削除対象となるVMイメージが対象VMイメージリスト１２４に登録された場合、削除対象のVMイメージは適切なタイミングに任意の方法で削除等される。また、対象VMイメージリスト１２４に登録されたVMイメージを削除するのではなく、移動や圧縮等してもよい。
【００７０】
図１５は本実施形態における情報処理方法の手順例２を示すフローチャート図である。このフローチャートは、ポリシーテーブル更新処理（P1）を示すフローチャートである。このフローチャートは、図１４に示した通り、ユーザー端末１０５からのポリシーパケット受信したときにＶＭイメージ選択部１２０によって実行されるものとなる。このフローチャートに基づき、ＶＭイメージ選択部１２０は、ユーザーによって入力されたポリシーの設定内容をポリシーテーブル１１９に追加またはポリシーテーブル１１９を更新し、後述のポリシー判定処理で利用できるようにする。
【００７１】
ステップ1501はポリシーパケットをユーザー端末１０５から受信する処理である。次に、ステップ1502はポリシーテーブル１１９の中に、ポリシーパケットで指定されたアプリケーション名１３０１と同一の行があるかどうか調べる処理である。ポリシーテーブル１１９の中に、ポリシーパケットのアプリケーション名１３０１と同一の行がある場合は、ステップ1503へ進み、ない場合はステップ1504へ進む。ステップ1503は、ポリシーテーブル１１９の該当行のポリシー名５０２と定数５０４を、ポリシーパケットで指定されたポリシー名１３０２と定数１３０３で置き換える処理である。ステップ1504はポリシーID５０１を生成する処理である。ステップ1505はポリシーID５０１に加えて、ポリシーパケット内のアプリケーション名１３０１、ポリシー名１３０２および定数１３０３を含む行をポリシーテーブル１１９に追加する処理である。
【００７２】
図16は、本実施形態における情報処理方法の手順例３を示すフローチャート図である。このフローチャートは、アプリケーション実績テーブルおよびVMイメージ実績テーブル更新処理（P2）を示すフローチャートである。このフローチャートは、図１４に示したとおり、実績収集部２０２から実績パケットを受信したときに、ＶＭイメージ選択部１２０によって実施される。このフローチャートに基づき、ＶＭイメージ選択部１２０は、実績収集部２０２が取得した実績情報をアプリケーション実績テーブル１１７およびＶＭイメージ実績テーブル１１８に追加し、後述するポリシー判定処理で利用できるようにする。
【００７３】
ステップ1601は実績パケットを受信する処理である。ステップ1602は実績パケットのVMイメージ名１２０３とVMイメージバージョン番号１２０４と同一であるVMイメージ候補テーブル１２２の行を検索する処理である。ステップ1603は、ステップ１６０２の該当行の最新実績番号７０５の値を取得し、1を加えて新たな実績番号を生成し、VMイメージ候補テーブル１２２の最新実績番号７０５を更新する処理である。ステップ1604は、新たな実績番号と実績パケットで指定されたVMイメージ名１２０３とVMイメージバージョン番号１２０４を含む行をVMイメージ実績テーブル１１８に追加する。このとき、実績番号の順が昇順となるように行を追加する。ステップ1605は、新たな最新実績番号と実績パケットで指定されたアプリケーション名１２０１とアプリケーションバージョン番号１２０２と時刻１２０５を含む行をアプリケーション実績テーブル１１７に追加する。このときアプリケーション名が同一の行があればその行の前後に、アプリケーションバージョン番号が昇順となるように行を追加する処理である。
【００７４】
図17は、VMイメージ選択処理（P3）を示すフローチャートである。
このフローチャートは、図１４に示した通り、ポリシーテーブル更新処理（P1）もしくはアプリケーション実績テーブルおよびVM イメージ実績テーブル更新処理（P2）を実行したあとに実施される。このフローチャートに基づき、ＶＭイメージ選択部１２０は、アプリケーション復元に必要なＶＭイメージを除外した上でＶＭスプロールを回避するために削除ないし圧縮もしくは移動する対象となるＶＭイメージを選択する。
【００７５】
ステップ1701は初期化:対象VMイメージリストを空にする処理である。
ステップ1702はポリシー判定処理（P4）を実施し、対象VMイメージリスト１２４を取得する処理である。ポリシー判定処理（P4）については後述する。ステップ1703は対象VMイメージリスト１２４が空かどうか調べる処理である。もし対象VMイメージリスト１２４が空であれば、ポリシー判定処理（P4）において削除対象となりえるVMイメージを得ることができなかったことを意味し、ステップ1704へ進む。もし対象VMイメージリストが空でなければ、ポリシー判定処理（P4）において削除または移動可能なVMイメージを得ることができたので、VMイメージ選択処理(P3)は終了する。
ステップ1704は代替対象判定処理（P5）を実施し、代替案リスト１２５を得る処理である。代替対象判定処理（P5）については後述する。ステップ1705は代替案あったかどうか調べる処理である。代替対象判定処理（P5）において代替案リストを得られた場合は、代替案ありとなってステップ1706へ進む。もし代替案がなければ、代替関係にあるVMイメージも得られなかったため、VMイメージ選択処理(P3)は終了する。ステップ1706はユーザー端末１０５に代替案リスト１２５の情報を送信し、ユーザーに代替案を通知する処理である。ステップ1707は、通知した代替案に対するユーザーから返答が「了承」であるか調べる処理である。もしユーザー端末１０５から代替を認める意味の「了承」の返答を得た場合は、ステップ1708へ進む。もしユーザーから「了承」の返答を得ない場合は、代替は認められないため、VMイメージ選択処理(P3)は終了する。ステップ1708は、代替案リストに登録された代替対象のVMイメージに関する情報を対象VMイメージリストに追加する処理である。
【００７６】
図18は、ポリシー判定（P4）を示すフローチャート図である。
ステップ1801は初期化:VMイメージ候補テーブル１２２を初期化し（該当フラグ７０６、ポリシーIDごとのポリシー適用有無に関する項目７０７〜７１１、評価値合計７１２の列を空にする）、重複実績リスト１２３を初期化する（重複最古実績番号８０１、重複最新実績番号８０２を空にする）処理である。ステップ1802は、ポリシーテーブル１１９を参照し、次のアプリケーション名５０３とポリシー名５０２とポリシーID５０１と定数５０４を取得する処理である。
【００７７】
ステップ1803はポリシーテーブル１１９に未処理のアプリケーションがあるかどうか調べる処理であり、ポリシーテーブルに登録された各アプリケーションについて順にステップ１８０４の処理をおこなう。もしポリシーテーブルに次の未処理のアプリケーションがある場合は、ステップ1804へ進み、次の未処理のアプリケーションがない場合は、ステップ1805へ進む。ステップ1804は該当行検索処理（P4-1）する処理である。
ステップ1805はVMイメージ候補テーブル１２２の該当フラグ７０６が「0」である行を検索する処理である。ステップ1806は該当行があったかかどうか調べる処理である。もし該当行があったかであれば、ステップ1807へ進む。もし該当行がなければ、ポリシー判定(P4)を終了する。ステップ1807は該当フラグ７０６が「０」であった行の、VMイメージ名とVMイメージバージョン番号の組を対象VMイメージリスト１２４に追記する処理である。
【００７８】
図19は、該当行検索処理（P4-1）を示すフローチャート図である。該当行検索処理（P4-1）は、ポリシーテーブル１１９に登録された定数５０３で定められた所定のタイミングまでアプリケーションを戻すことができるように、削除対象から除外すべきVMイメージを選定するための処理である。
【００７９】
ステップ1901はアプリケーション実績テーブルからアプリケーション名が一致する最後の行を選択する処理である。例えばポリシーテーブル１１９の行５０６の場合、ポリシーID５０１が「P1_A」のアプリケーション名５０３は「A帳票出力バッチ」であるため、アプリケーション実績テーブル１１７の行３０５から行３０７が選択される。ステップ1902はポリシー名５０２が「バージョン数確保」かどうか調べる処理である。もしポリシー名が「バージョン数確保」の場合であれば、ステップ1903へ進む。もしポリシー名が「バージョン数確保」の場合でなければ、ステップ1904へ進む。ステップ1903は、ステップ１９０１で選択した行からさかのぼり、定数５０４で指定された行までの実績番号を主記憶に記憶する処理である。例えばアプリケーション名「A帳票出力バッチ」の場合、定数５０４は「２」であるため、行３０６及び行３０７はポリシーにより保護されるため該当行検索処理(P4-1)の対象となり、行３０６、３０７の有する実績番号３０４「１００」と「１０１」が主記憶に記憶される。これにより、定数５０３で定めたタイミングまでアプリケーションを戻すことができる。
【００８０】
ステップ1904はポリシー名が「遡及時間確保」か調べる処理である。もしポリシー名が「遡及時間確保」の場合であれば、ステップ1905へ進む。もしポリシー名が「遡及時間確保」の場合でなければ、該当行検索処理（P4-1）を終了する。ステップ1905は、ステップ１９０１で選択した行から、最古時刻３０３が現在時刻から定数５０４で指定された月数より古い行を除外し、実績番号を主記憶に記憶する処理である。このように、ポリシーの内容に基づき、あるバージョン数や月日等、利用実態に合わせて遡及時間を指定してアプリケーションを戻すことができる。
【００８１】
ステップ1906以降の各ステップは、主記憶に記憶した実績番号の各々について順に実施する。ステップ1906では、主記憶に記憶した各実績番号を処理し終えたかをチェックする処理である。主記憶に記憶した各実績番号を処理し終えた場合は、該当行検索処理（P4-1）を終了し、処理を終えていない実績番号があればステップ1907へ進む。ステップ1907は、重複番号リスト１２３に登録された重複最古実績番号８０１及び重複最新実績番号８０２の各々と実績番号を比較する処理である。ステップ1908では、ステップ1907の比較結果から、「重複最古実績番号<主記憶に記憶した実績番号<重複最新実績番号」の行がなかった場合はステップ1909へ進み、「重複最古実績番号<記憶した実績番号<重複最新実績番号」の行があった場合は、ステップ1906に戻り、次の実績番号の処理へと移る。
ステップ1909はVMイメージ実績テーブル１１８から実績番号４０１が同一の行のVMイメージ名４０２とVMイメージバージョン番号４０３とを記憶する処理である。ステップ1910は、VMイメージ候補テーブル１２２のVMイメージ名７０２とVMイメージバージョン番号７０３の組がステップ1909で取得した値と同一の行の該当フラグ７０６を「1」に更新する処理である。ステップ1911は、VMイメージ候補テーブル１２２のP1_A７０７、P1_B７０８、P2_C７０９、P2_D７１０、P3７１１のうち、ポリシーテーブル１１９から取得したポリシーID同一の列の値を「1」に更新する処理である。ステップ1912は、一連の処理の対象となった実績番号に基づきVMイメージ候補テーブル１２２の最古実績番号７０５と最新実績番号を更新し、さらに、VMイメージ候補テーブル１２２に基づき、重複実績番号リスト１２３の重複最古実績番号８０１に最古実績番号を、重複最新実績番号８０２に最新実績番号を持つ行を追加する処理である。重複実績番号リスト１２３への実績番号の追加処理は、図２２で述べたように行う。
【００８２】
なお、ＶＭイメージ実績テーブル１１８に承継元のVMイメージが登録されている場合は、ステップ１９１０において、承継元を必要とするVMイメージの該当フラグが１に更新されたときに、あわせて承継元のVMイメージについての行の該当フラグも１に更新する。これにより、ステップ１８０７において、承継元のVMイメージが対象VMイメージリストに追記されるのを防ぐ。
【００８３】
図20は、代替対象判定（P5）を示すフローチャート図である。代替対象判定（P5）では、各VMイメージの評価係数の値から、削除、移動または圧縮するとVMスプロール回避に効果的なVMイメージを検索する。
ステップ2001はVMイメージ候補テーブル１２２の評価値合計７１２の列を「0」にする処理である。ステップ2002はVMイメージ候補テーブル１２２の該当フラグ７０７がすべて「1」である前提を確認する処理である。ステップ2003以降のステップは、ポリシーテーブル１１９に登録された各ポリシーについて処理し、ステップ2003は、未処理のポリシーがないか調べる処理である。もしポリシーテーブル１１９に未処理のポリシーがあれば、ステップ2004へ進み、未処理のポリシーがなければ、ステップ2007へ進む。ステップ2004は処理対象のポリシーのポリシーID５０１と評価係数５０５を記憶する処理である。
【００８４】
ここで、評価係数として、
（数１）
評価係数＝−（ストレージ使用量）×（削除可能になるまでの時間）
を計算するプログラムが含まれている場合、評価係数として、（数１）のプログラムをＣＰＵ１０３において計算し、その結果である値を評価係数５０５として使用する。（数１）に代入すべき値は、主記憶の他の部分に記憶しておくものを使用して良い。この計算式は、特定のＶＭイメージが削除可能になるまで保存しておくために使用するストレージ使用量と期間の積算を算定する式である。この値を評価係数として用いることで、後述するステップ２００６で合計値が小さいものは長期にわたってストレージ使用量を節約する効果を生むという判定をすることができる。
【００８５】
ステップ2005はVMイメージ候補テーブル１２２のP1_A７０７、P1_B７０８、P2_C７０９、P2_D７１０、P3７１１の項目のうち、取得したポリシーIDと一致する列について、値が「1」であるセルを検索する処理である。つまり、ポリシーが「適用あり」と設定されているVMイメージ名とVMイメージバージョン番号の組を特定する。ステップ2006はステップ２００５で特定したVMイメージのVMイメージ候補テーブル１２２の評価値合計７１２に取得したポリシーIDの評価係数５０５を加算する処理である。この結果、各VMイメージ名とVMイメージバージョン番号の組について、適用ありと設定されているポリシーの評価係数５０５の合算地が評価値合計７１３に登録される。
ステップ2007はVMイメージ候補テーブル１２２の評価値合計７１２が最小である行を検索する処理である。ステップ2008は該当行のVMイメージ名７０２とVMイメージバージョン番号７０３を代替案リスト１２５に追加する処理である。
【００８６】
ここで、代替案リスト１２５の有する、代替先VMイメージバージョン名１００４及び代替先VMイメージバージョン番号１００５の取得方法について説明する。まず、VMイメージ候補テーブル１２２から、ステップ２００８で代替リスト１２５に追加した代替対象のVMイメージと一致する行を検索する。該当した行のP1_A７０７、P1_B７０８、P2_C７０９、P2_D７１０、P3７１１の設定値(ポリシーの適用有無）を取得する。そして、VMイメージ候補テーブル１２２の他の行に、代替対象のVMイメージと同一VMイメージ名であり、代替対象のVMイメージで適用ありとなっているポリシーと同一のポリシーが適用あり（セルの値が「１」）であるVMイメージを検索し、該当したVMイメージが代替先VMイメージとなり、代替案リスト１２５の代替先VMイメージバージョン名１００４及び代替先VMイメージバージョン番号１００５に登録される。
【００８７】
例えば、代替対象のVMイメージがVMイメージ名「a_vm_os1」、VMイメージバージョン番号「１」の場合、VMイメージ候補テーブル１２２の該当する行は行７１３であり、適用されるポリシーはP1_Bである。そして、VMイメージ候補テーブル１２２の中でVMイメージ名が「a_vm_os1」でありポリシーP1_Bが適用されるのは、行７１４のVMイメージであり、このVMイメージに関する情報が代替案リスト１２５に登録される。
【００８８】
図21は、実績収集処理（P6）を示すフローチャート図である。実績収集処理（P6）は、稼動中のVMイメージ及びアプリケーションに関する情報を計算機１０７、１０８、１０９が収集し、実績パケットを作成して管理計算機１０１に送信する処理である。
【００８９】
ステップ2101はアプリケーション別実績収集方法テーブル１２６を管理計算機１０１から受信する処理である。ステップ2102は計算機１０７、１０８、１０９のOSの機能を用いて起動中のプロセスを監視する処理である。ステップ2103は、監視しているプロセスの中に、アプリケーション別実績収集方法テーブル１２６のアプリケーション名１１０１(またはプロセス名１１０２）が一致するプロセスが存在するか調べる処理である。もしアプリケーション名が一致するプロセスが存在であれば、ステップ2104へ進む。もしアプリケーション名が一致するプロセスが存在でなければ、実績収集処理（P6）を終了する。
【００９０】
ステップ2104はアプリケーション別実績収集方法テーブル１２６の正常動作確認方法１１０４の内容を基準として、アプリケーションの動作が「正常」かどうか調べる処理である。もしアプリケーション別実績収集方法テーブルの正常動作確認方法１１０４の内容を実行し、「正常」である場合は、ステップ2105へ進む。「正常」ではない場合は、実績収集処理（P6）を終了する。ステップ2105は稼動中のVMイメージから、VMイメージ名２０５とVMイメージバージョン番号２０６を取得する処理である。ステップ2106はアプリケーション別実績収集方法テーブル１２６のアプリケーションバージョン確認方法１１０３の内容を実行し、バージョン番号を取得する処理である。ステップ2107は取得したVMイメージ名、VMイメージバージョン番号、アプリケーション名、アプリケーションバージョン番号から実績パケットを作成し、VMイメージ選択部１２０に送信する処理である。
【００９１】
なお本実施形態においては、ＶＭスプロールを回避する場合の処理として、ＶＭイメージの削除もしくは圧縮、移動処理を採用した例を示した。しかしこれに限定されることはなく、ファイル重複排除、アーカイブ処理など他のファイルサイズ縮小技術を用いても同様に実施できる。
【００９２】
なお、本発明は、上記実施の形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化することができる。また、上記実施の形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成することができる。例えば、実施の形態に示される全構成要素からいくつかの構成要素を削除してもよい。さらに、異なる実施の形態にわたる構成要素を適宜組み合わせても良い。
【００９３】
以上、本発明を実施するための最良の形態などについて具体的に説明したが、本発明はこれに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能である。
【００９４】
こうした本実施形態によれば、クラウドシステムにおけるアプリケーション復元可能としながらＶＭスプロールを回避することが可能となる。
【符号の説明】
【００９５】
101…管理計算機
102…ＣＰＵ
103…メモリ
104…通信部
105…ユーザ端末
106…計算機部
107…計算機
108…計算機
109…計算機
110…ストレージ部
111…ストレージ
112…ストレージ
113…ストレージ
114…VMイメージ
115…VMイメージ
116…アーカイブ
117…アプリケーション実績テーブル
118…ＶＭイメージ実績テーブル
119…ポリシーテーブル
120…VMイメージ選択部
121…時刻取得部
122…VMイメージ候補テーブル
123…重複実績番号リスト
124…対象VMイメージリスト
125…代替案リスト
126…アプリケーション別実績収集方法テーブル
201…VMイメージ
202…実績収集部
203…通信部
204…時刻取得部
【図１】
2013148938.tif 000003
【図２】
2013148938.tif 000004
【図３】
2013148938.tif 000005
【図４】
2013148938.tif 000006
【図５】
2013148938.tif 000007
【図６】
2013148938.tif 000008
【図７】
2013148938.tif 000009
【図８】
2013148938.tif 000010
【図９】
2013148938.tif 000011
【図１０】
2013148938.tif 000012
【図１１】
2013148938.tif 000013
【図１２】
2013148938.tif 000014
【図１３】
2013148938.tif 000015
【図１４】
2013148938.tif 000016
【図１５】
2013148938.tif 000017
【図１６】
2013148938.tif 000018
【図１７】
2013148938.tif 000019
【図１８】
2013148938.tif 000020
【図１９】
2013148938.tif 000021
【図２０】
2013148938.tif 000022
【図２１】
2013148938.tif 000023
【図２２】
2013148938.tif 000024
【図２３】
2013148938.tif 000025