JP2013148938A - 情報処理装置及び情報処理システム - Google Patents

情報処理装置及び情報処理システム Download PDF

Info

Publication number
JP2013148938A
JP2013148938A JP2012006674A JP2012006674A JP2013148938A JP 2013148938 A JP2013148938 A JP 2013148938A JP 2012006674 A JP2012006674 A JP 2012006674A JP 2012006674 A JP2012006674 A JP 2012006674A JP 2013148938 A JP2013148938 A JP 2013148938A
Authority
JP
Japan
Prior art keywords
image
application
achievement
policy
identifier
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2012006674A
Other languages
English (en)
Inventor
Hiroyuki Osaki
裕之 大▲崎▼
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2012006674A priority Critical patent/JP2013148938A/ja
Publication of JP2013148938A publication Critical patent/JP2013148938A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

【課題】クラウドシステムにおいて、アプリケーションの復元を可能にし、かつVMスプロールを回避する。
【解決手段】管理計算機101が、VMイメージ上でのアプリケーションの実行実績を、時系列で定められる実績番号によってアプリケーションの情報と対応付けながら、VMイメージ名とVMイメージバージョン番号の組を登録したVMイメージ実績テーブル118と、アプリケーション名とアプリケーションバージョン番号の組を登録したアプリケーション実績テーブル117に各々管理し、新たな実行実績を取得した際に、実行実績の時系列の情報及びポリシーテーブル119に定められたアプリケーションに適用されるポリシーに基づき、アプリケーションの復元に必要なVMイメージをVMイメージ名とVMイメージバージョン番号の組を指定して削除対象から除外する。
【選択図】図1

Description

本発明は、情報処理装置、情報処理方法、およびプログラムに関するものであり、具体的には、VMイメージとアプリケーションの関係を用いてクラウドシステムにおけるVMスプロールを回避する技術に関する。
VM(Virtual Machine)を起動可能な計算機システムでは、計算機に接続されたストレージにVMイメージが格納されている。計算機はストレージからVMイメージを読み込み、VMを起動する。また、計算機上でのアプリケーション起動に必要なライブラリやデータは、ストレージに格納されるVMイメージ内に含まれている。ストレージの容量が不足すると、VMイメージの追加やそれに含まれるライブラリおよびデータの追加ができなくなる。この場合、新規ユーザーのアプリケーションを動作させられない、もしくは既存のVMが正常に動作しなくなる恐れがある。こうしたストレージにおける容量不足に伴う問題を解決する方法として、以下のような従来技術が提案されてきた。
例えば、記憶媒体へのランダムアクセスが可能で、少なくとも2つの論理パーティションを備えた記憶方法およびその装置であって、うち少なくとも1つの論理パーティションを圧縮データ領域とし、残りの論理パーティションを非圧縮データ領域とし、各パーティションへのデータの書き込みおよび読み出しはクラスタを単位として行なわれ、それぞれのクラスタのアクセス頻度を記憶保持するテーブルを備えており、このテーブルに基づいてアクセス頻度の高いクラスタを優先的に非圧縮データ領域に移動し、アクセス頻度の低いクラスタを優先的に圧縮データ領域に移動する手段を備えることを特徴とする記憶方法およびその装置(特許文献1参照)がある。
また、ストレージ装置内に構築された管理対象のファイルシステムの少なくとも一部の内容を表すストレージイメージを含むイメージファイルを記憶装置に登録するイメージファイル登録手段と、記憶装置に登録されたイメージファイルと、版更新時点におけるイメージファイルとの差を表す差分情報を含む更新ファイルを記憶装置に登録し、記憶装置に登録されたイメージファイルの版に対応するファイルシステムに対して版更新時点までに実行された各変更イベントを示す変更情報を版管理表に記録する更新ファイル登録手段とを備える版管理システム(特許文献2参照)がある。
また、仮想マシンがアクセスする論理的な記憶装置である仮想記憶装置が、ホストOS(オペレーティングシステム)がアクセスする物理記憶装置内のマスタデータファイルと差分データファイルとで構成されており、仮想マシンが仮想記憶装置内のデータを更新する際の更新データのブロック位置情報を記録する更新位置情報ファイルからブロック位置情報を取得する更新位置情報取得手段と、コンピュータ上に仮想環境を実現する仮想環境基盤ソフトウェアを通じて仮想記憶装置にアクセスし、仮想記憶装置に構築されたファイルシステムを解析して、取得したブロック位置情報に該当するブロックの使用状況を調べる使用状況確認手段と、取得したブロック位置情報に該当するブロックが未使用領域であると判断されると、差分データファイルと、更新位置情報ファイルとから、該当するブロック番号のデータの削除を行うデータ削除手段とを備える差分データ圧縮装置(特許文献3参照)がある。
また、複数の仮想マシンが動作する仮想マシンサーバにおいて、それら複数の仮想マシンを管理する仮想マシン管理システムであって、各仮想マシン毎に、その仮想マシン上で動作するゲストOSが管理する仮想ハードディスク上に仮想APイメージファイルを作成する手段と、任意の仮想マシン上で動作する任意のモジュールが、その仮想マシン上で動作するゲストOSが管理する仮想ハードディスク上の任意の領域に対して、任意のデータの書き込みまたは読み込みの処理を試みた場合に、書き込みまたは読み込みが指示された領域から、仮想ハードディスク上に存在する仮想APイメージファイル上の所定の領域にリダイレクトを行い、書き込みまたは読み込み先を変更して書き込みまたは読み込みを実行することにより、任意のデータを仮想APイメージファイルに分離する手段と、仮想APイメージファイルを、仮想ハードディスクから仮想マシンサーバ上のホストOSが管理する物理ハードディスク上へバックアップする手段と、物理ハードディスク上の仮想APイメージファイルを、仮想ハードディスク上にダウンロードする手段とを備え、任意の仮想マシン上で動作するモジュールに関連するデータをゲストOSのイメージファイルから分離することにより、ゲストOSのイメージファイルを一元的に扱うことを可能にしたことを特徴とする仮想マシン管理システム(特許文献4参照)がある。
特開2002−132546号公報 WO2009/154272号公報 特開2010−237956号公報 特開2008−84029号公報
ところで、昨今のクラウドコンピューティングの技術において、課題が2つある。1つには、VMスプロールを回避すること、1つにはアプリケーション復元に必要なVMイメージは原型でストレージ上に残しておくことである。
まずVMスプロールの回避について説明する。ユーザーが利用するアプリケーションはユーザーが用意し、アプリケーションが動作するために必要なライブラリ、データ等はVMイメージという形で、ネットワークを介した計算機およびそれに接続されたストレージ上に用意されている。アプリケーションはユーザーによって管理され、VMイメージはマネージャーによって管理される。一方、サーバにおいては、そのストレージ容量には限りがあるにもかかわらず、生成後一定期間使用した後は使用されていないVMイメージが増加する傾向にある。特に、マネージャーによって、アップデートされたOSやライブラリを含む新しいVMイメージが、頻繁に生成され増加する。その場合、ストレージ空き容量が不足し、VMスプロールと呼ばれる状態となる。VMスプロールを放置しストレージ容量が不足した場合、新規ユーザーのアプリケーションを動作させられない、もしくは既存のVMが正常に動作しなくなるなどのおそれがあり、ユーザーのニーズに答えられない。
ストレージ空き容量不足となった場合、節約するためにいずれかのVMイメージを削除もしくは圧縮もしくはアーカイブ装置と呼ばれるような他のストレージに移動する方法が考えられるが、対象とするVMイメージを選択する必要がある。従来であれば、アクセス頻度などに基づいて、ストレージ中のファイルを選択し圧縮していた。この方式によれば、上記VMスプロール状態においても、使用頻度が低いVMイメージを削除もしくは圧縮もしくはアーカイブすなわち大容量記憶装置や別計算機に接続されたストレージに移動することで、ストレージ空き容量を拡大しVMスプロールを回避することができる。
次に、アプリケーション復元に必要な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イメージのバージョン番号の組み合わせ、すなわち実績を記録しておく方法が有用であると考えられる。
ここで、アプリケーションのバージョン番号とVMイメージのバージョン番号との組み合わせである実績は複数あり、いずれかのバージョンが更新されたあとに新たに実績が追加されるため、徐々に増えていくことを想定している。
また、マネージャーがVMイメージのバージョン番号が更新されるのと並行して、前述のとおりユーザーによってアプリケーションのバージョンは更新される。VMイメージのバージョン更新とアプリケーションのバージョン更新は必ずしも同時ではない。そのため、実績の中にはVMイメージのバージョン番号が同一であるが異なるアプリケーションのバージョン番号と組み合わせになった実績も存在する。また、その逆で、アプリケーションのバージョン番号が同一であるが、異なるVMイメージのバージョン番号との組み合わせになった実績も存在する
さらに、VMイメージは複数にコピーされ、複数のアプリケーションによって使用されることが可能である。具体的には、VMイメージAのバージョン番号1はアプリケーションXとアプリケーションYによって使用された実績があり、VMイメージAのバージョン番号2はアプリケーションXに使用された実績がある、という状況があり得る。よって、VMイメージのバージョン番号が同一であるが、異なるアプリケーション名と組み合わせになった実績も存在する。
さらに、VMイメージのバージョンが異なるものは、含まれるデータやライブラリの種類は同一だがアップデートされるなどで多少の変更が加えられたものを意味する。バージョン番号は、そのVMイメージの状態が作成された時刻が古い順番に小さな番号が付与されるのが通常である。
以上の2つの課題を鑑みると、マネージャーは、ユーザーが特定のアプリケーションのバージョンに復元するために必要な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イメージのバージョン番号の組合せごとに、当該組合せの実績番号のうち、最も古い実績番号である重複最古実績番号と、最も新しい実績番号である重複最新実績番号と、を登録した重複実績番号リストと、を記憶する記憶手段と、前記アプリケーション実績テーブルから、前記アプリケーションの識別子ごとに、当該アプリケーションの識別子を有する1つ以上の実績番号を、実績番号のリストとして取得する実績番号取得手段と、前記実績番号のリストに含まれる実績番号が、前記重複実績番号リストに登録されたいずれかの重複最古実績番号から重複最新実績番号の範囲に含まれるかを判断する前記削除対象判断手段と、前記実績番号のリストに含まれる実績番号が、いずれの前記組合せの重複最古実績番号から重複最新実績番号の範囲にも属さない場合は、前記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イメージバージョン番号の組を意識せずに実績パケットを受信した順に実績番号を付与した場合の、各テーブルの連携を示す図である。
以下に本発明の実施形態について図面を用いて詳細に説明する。図1は、本実施形態における情報処理装置(管理計算機)を含むシステム構成図である。図1に示す管理計算機101は、クラウドシステムにおけるVMスプロールを回避するため、削除もしくは圧縮、アーカイブへ移動するVMイメージを選択するコンピュータ装置である。
図1に例示するシステムにおいては、管理計算機101の他に、VMイメージを記憶した複数のストレージ111,112,113、ストレージからVMイメージ114、115を読み出して実行することで仮想計算機を実装する複数の計算機107,108,109、およびポリシー入力に基づくポリシーパケットを管理計算機101に送ってくるユーザー端末105を含んでいる。このユーザー端末105は、ユーザーのデータ入力を受け付けて、管理計算機101にポリシーパケットとして送信する装置である。ユーザー端末105は通信機能を備えており、ネットワーク5を介して管理計算機101の通信部104と接続されている。
図1の例では、管理計算機101を単体のコンピュータ装置として示しているが、本実施形態の情報処理装置として必要な機能を実装した他装置とネットワークを介して互いに協働し、複数装置をもって管理計算機101を構成するとしても問題ない。
管理計算機101のハードウェア構成は以下の如くとなる。管理計算機101は、ハードディスクドライブなど適宜な不揮発性記憶装置で構成されるメモリ103(記憶部)、メモリ103に保持されるプログラム類を読み出すなどして実行し装置自体の統括制御を行なうとともに各種判定、演算及び制御処理を行なうCPU102(演算部)、ユーザー端末127とのデータ通信を担う通信部104、を備える。図1に示す例では、ユーザー端末105が管理計算機101の入力部とも言える。
なお、メモリ103には、本実施形態の情報処理装置として必要な機能を実装する為のプログラム、および各種テーブル等が格納されている。本実施形態の情報処理装置として備えるべき機能は、管理計算機101が備えるプログラムを実行することで実装される機能と言える。図1においては、こうした機能を処理部として示している。
メモリ103に含まれる処理部としては、VMイメージ選択部120、時刻取得部121がある。また、メモリ103に含まれるテーブルやデータとしては、アプリケーション実績テーブル117、VMイメージ実績テーブル118、ポリシーテーブル119、VMイメージ候補テーブル122、重複実績番号リスト123、対象VMイメージリスト124、代替案リスト125、アプリケーション別実績収集方法テーブル126、がある。
上記の管理計算機101とネットワーク5で接続されたストレージ部110は、1台以上のストレージを含むコンピュータ装置である。各ストレージはハードディスクドライブなどの不揮発性記憶装置で構成されており、ファイルを格納することができる。このストレージ部110は、ストレージ111、ストレージ112、ストレージ113の他に、アーカイブ対象のVMイメージを格納するための記憶装置であるアーカイブ116を備えている。このアーカイブ116は、ストレージの一種でありストレージ111、112より容量が大きいが、計算機107、108、109からのアクセス速度が遅いものとなる。また、アーカイブ116はVMイメージをストレージ111,112から受信し格納することができる。
ストレージ111はVMイメージ114を格納しており、計算機107、アーカイブ116と接続されている。また、ストレージ112はVMイメージ115を格納しており、計算機108、アーカイブ116と接続されている。
一方、計算機部106は1台以上の計算機を含むコンピュータ装置である。各計算機はVMイメージを実行することで仮想計算機たるVM(以下、VMとする)を起動することができる。また、VMはアプリケーションを実行することができる。計算機部106を構成する各計算機らは通信機能を備えており、ネットワーク5を介して管理計算機101の通信部104と接続されている。
計算機部106をなす計算機107は、ストレージ111と接続されている。また、計算機108はストレージ112と接続されている。計算機109はストレージ113と接続されている。ストレージ113は計算機109、アーカイブ116と接続されている。
続いて、管理計算機101が実行する処理について説明しておく。管理計算機101は、ユーザー端末105を介しユーザから指定されたアプリケーションないしアプリケーション実績テーブル117にデータが格納されているいずれかのアプリケーションについて、VMイメージ実績テーブル118のデータとポリシーテーブル119のデータを照合してVMイメージ選択処理を実行する。
なお、管理計算機101は、ポリシーテーブル119において、所定ポリシーが該当する場合の評価値として、1つ以上の評価係数505を含み、CPU102は、削除対象となるVMイメージを特定する処理において、アプリケーションごとに該当したポリシーに対応する評価係数505を用いて、アプリケーションごとの評価値合計を算出し、評価値合計を用いて削除対象となるVMイメージのVMイメージ名とVMイメージバージョン番号の組を選択することができる。
また、メモリ103は、ポリシーテーブル119において、各ポリシーに対応する評価係数505を計算する処理として、1つ以上のプログラムを含み、CPU102は削除対象となるVMイメージを特定する処理において、アプリケーションごとに該当したポリシーに対応するプログラムを用いて、アプリケーションごとの評価値合計を算出し、評価値合計を用いて削除対象となるVMイメージのVMイメージ名とVMイメージバージョン番号の組を選択することができる。
また、あるVMイメージバージョン番号を有するVMイメージを稼動するには別のVMイメージバージョン番号のVMイメージ(承継元)が必要な場合は、メモリ103は、VMイメージ実績テーブル118に1つ以上の継承元VMイメージバージョン番号を含み、CPU102は、削除対象となるVMイメージを特定する処理において、継承元VMイメージバージョン番号に対しても該当フラグ710を付与することができる。これにより、承継元のVMイメージが削除されてしまい、承継元を必要とするVMイメージが再現できなくなることを防ぐことができる。
図2は、本実施形態におけるVMイメージ114、115の内容を示す図である。図2に示すVMイメージ114、115は、図1に示す管理計算機101と通信し、管理計算機101が各テーブル更新処理を実施するために必要な実績パケットを送受信する。なお、VMイメージ114、115は計算機によって実行されるプログラムであり、その中に含まれる各種の処理部も、物理的には計算機上で実行されるものである。
VMイメージ201は、VMイメージ名205、VMイメージバージョン番号206、実績収集部202から構成されている。実績収集部202は通信部203、時刻取得部204から構成されている。実績収集部202,通信部203,時刻取得部204はいずれも計算機で実行可能なプログラムである。実績収集部202は、実績収集処理を実行し実績パケットを作成する。時刻取得部204は、実績パケット作成時の時刻を取得する。通信部203は、実績パケットを管理計算機101に送信する。
次に、本実施形態の管理計算機101等が用いるテーブル、データ類の例について説明する。
図3は本実施形態のアプリケーション実績テーブル117の例を示す図である。アプリケーション実績テーブル117は、アプリケーション名とアプリケーションバージョン番号を管理し、計算機107,108、109が使用する各アプリケーション固有のデータと実績番号を対応付けたレコードの集合体となっている。アプリケーション固有のデータとしては、アプリケーション名301とアプリケーションバージョン番号302および最古時刻304となる。アプリケーション実績テーブル117は、管理計算機101が参照し、削除対象となるVMイメージの選択処理に使用する。
「アプリケーション名」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」である。
ここで実績番号304は、実績パケットを受信した順に付与される数値を想定しており、時系列で古いもの、もしくはVMイメージ名の辞書順に小さい値が付いている。それに対し、アプリケーション実績テーブル117は、アプリケーション名301とアプリケーションバージョン番号302で辞書順に整列している。そのため、実績番号304は必ずしも小さい値から順番に並んでいるとは限らない。 アプリケーション実績テーブル117がアプリケーション名301とアプリケーションバージョン番号302について辞書順に整列している理由は、後述するポリシー判定処理においてポリシーに基づいて該当行を選択するためである。
なお、本実施形態では、VMイメージ名とVMイメージバージョン番号の組ごとに区別された実績番号を付与してているが、VMイメージ名とVMイメージバージョン番号の組を区別せずに実績パケットを受信した順に実績番号を付与しても良い。
また、本実施形態におけるアプリケーション名およびアプリケーションバージョン番号は、単一のプログラムの名称およびバージョンを表すが、その限りではない。例えば、ユーザーが複数のVMを区別するためにホスト名を付与し、さらに時間経過によるVMの変化を区別するためにホストバージョン番号を付与するような計算機システムにおいては、アプリケーション名の代わりにホスト名を使用し、アプリケーションバージョン番号の代わりにホストバージョン番号を使用しても良い。もしくはユーザーがVMのグループを区別するためにVMグループ名とVMグループバージョンを付与する計算機システムにおいては、アプリケーション名とアプリケーションバージョン番号の代わりにVMグループ名とVMグループバージョン番号の値を代わりに用いても良い。これにより、アプリケーションを復元する他にも、特定時点のホスト、もしくは特定時点のVMグループを復元する目的で本発明を使用することも可能である。
図4はVMイメージ実績テーブル118の例を示す図である。VMイメージ実績テーブル118は、VMイメージ名とVMイメージバージョン番号を管理し、VMイメージ固有の情報と実績番号を対応付けたレコードの集合体である。アプリケーション実績テーブル117と同様に、管理計算機101がVMイメージ選択処理をするために使用する。
「実績番号」401はVMイメージに関する実績を一意に示すIDであり、図3の実績番号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」である。
上記のように実績番号一つに対して、VMイメージ名とVMイメージバージョン番号が一意に決まるパターンの他に、実績番号一つに対して、VMイメージ名が複数、もしくはVMイメージバージョン番号が複数ある場合も考えられる。この例として、一つのアプリケーションが稼働するために複数のVMイメージが必要になる場合があり、分散処理系のアプリケーションでは複数のVMを使用することが考えられる。この場合は、VMイメージ実績テーブルにおいて、同一の実績番号を保持する行が複数あるということが考えられる。
図5はポリシーテーブルの例を示す図である。ポリシーテーブル119は、ポリシーIDとポリシーとアプリケーション名を対応付けたレコードの集合体である。ポリシーテーブルは、管理計算機101が削除対象となるVMイメージを選択する処理に使用する。
「ポリシー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」であるものの「ポリシー名」は「唯一のバージョン」である。
ここで、ポリシー名502が「バージョン数確保」であれば、後述するポリシー判定処理において、VMイメージ名とVMイメージバージョン番号を選択するときに「確保できるバージョン数」が守られるような処理を実施する。もしくは、ポリシー名502が「遡及時間確保」であれば、「遡及時間までアプリケーションを戻すことができる」ことを守れるように処理を実施する。
「アプリケーション名」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」であるものの「定数」は「-」である。これは、後述するポリシー判定処理において使用する値であり、例えばポリシー名502が「遡及時間確保」のポリシーで定数504が「1」の場合は、1ヶ月前までのアプリケーションを復元できるようにポリシー判定処理が行われる。また、ポリシー名502が「バージョン数確保」のポリシーで定数504が「2」の場合、現在から2バージョン前までのアプリケーションを復元できるようにポリシー判定処理が行われることを意味する。定数504が「−」の場合は、ある時点までアプリケーションを復元できるようにする必要がないことを意味する。
「評価係数」505はポリシー自身が持つ数値が記載される。評価係数は、ポリシーが適用されるVMイメージを削除することによる効果を表す値であり、具体的な例は後述する。例えば、「ポリシーID」が「P1_A」であるものの「評価係数」は「6」であり、「ポリシーID」が「P1_B」であるものの「評価係数」は「4」であり、「ポリシーID」が「P2_A」であるものの「評価係数」は「2」であり、「ポリシーID」が「P2_B」であるものの「評価係数」は「1」であり、「ポリシーID」が「P3」であるものの「評価係数」は「10」である。
図6は時刻情報の例を示す図である。これは、現在時刻を保持する情報であり、時刻取得部121によって生成される。この図において、現在時刻601はxx/9/1であり日付を意味する情報が入力されているが、日付と併せて時刻が保持されても良い。
図7はVMイメージ候補テーブルの例を示す図である。このテーブルは、管理計算機101がVMイメージ選択処理を実施する中で、候補となるVMイメージを蓄積するために作成する。
「VMイメージID」701はVMイメージを一意に示すIDであり、行714は「VMイメージID」が「00」であるものに関する記述であり、行715は「VMイメージID」が「01」であるものに関する記述であり、行716は「VMイメージID」が「10」であるものに関する記述であり、行717は「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」である。
「最古実績番号」704はVMイメージが関係する実績における最古の実績番号が記載される。例えば、「VMイメージID」が「00」であるものの「最古実績番号」は「1」であり、「VMイメージID」が「01」であるものの「最古実績番号」は「100」であり、「VMイメージID」が「10」であるものの「最古実績番号」は「1000」であり、「VMイメージID」が「11」であるものの「最古実績番号」は「1100」である。
「最新実績番号」705はVMイメージが関係する実績における最新の実績番号が記載される。例えば、「VMイメージID」が「00」であるものの「最新実績番号」は「3」であり、「VMイメージID」が「01」であるものの「最新実績番号」は「102」であり、「VMイメージID」が「10」であるものの「最新実績番号」は「1000」であり、「VMイメージID」が「11」であるものの「最新実績番号」は「1103」である。
「該当フラグ」706はVMイメージが削除対象外のVMイメージに該当するかどうかを示す情報が記載され、例えば「1」は削除対象外に「該当する」、「0」は削除対象外に「該当しない」というバイナリ情報を記載する。例えば、「VMイメージID」が「00」であるものの「該当フラグ」は「1」であり、「VMイメージID」が「01」であるものの「該当フラグ」は「1」であり、「VMイメージID」が「10」であるものの「該当フラグ」は「0」であり、「VMイメージID」が「11」であるものの「該当フラグ」は「1」である。
「P1_A」707、「P1_B」708、「P2_C」709、「P2_D」710、「P3」711は、これら項目の名称と同一の各ポリシーIDを有するポリシーが適用されるVMイメージがあったかどうかについての情報が記載される。該当するVMイメージがあった場合は、その要素が「1」という値を持つ。例えば、「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」である。
「評価値合計」712は、「P1_A」707、「P1_B」708、「P2_C」709、「P2_D」710、「P3」711において「適用あり」となっているポリシーについての評価係数505を合計した値であり、代替対象判定処理で使用される。例えば、「VMイメージID」が「00」であるものの「評価値合計」は「4」であり、「VMイメージID」が「01」であるものの「評価値合計」は「10」であり、「VMイメージID」が「10」であるものの「評価値合計」は「0」であり、「VMイメージID」が「11」であるものの「評価値合計」は「13」である。
図8は、重複実績番号リストの例を示す図である。重複実績番号リスト123は、管理計算機101がVMイメージ選択処理を高速に実施するために作成および使用する。
「重複最古実績番号」801は、削除対象から除外されるVMイメージの実績番号の中で最古の実績番号であり、行803は「重複最古実績番号」が「1」であるものに関する記述である。
「重複最新実績番号」802は、削除対象から除外されるVMイメージの実績番号の中で最新の実績番号が記載される。例えば、「重複最古実績番号」が「1」であるものの「重複最新実績番号」は「3」である。
なお、重複実績番号リストの生成、更新手順については後述する。
図9は対象VMイメージリストの例を示す図である。対象VMイメージリスト124には、削除対象のVMイメージの選択処理の結果、削除、移動又は圧縮の対象となったVMイメージの情報が登録される。
「VMイメージ名」901はVMイメージ名であり、行903は「VMイメージ名」が「b_vm_os1」であるものに関する記述である。
「VMイメージバージョン番号」902はVMイメージバージョン番号が記載される。例えば、「VMイメージ名」が「b_vm_os1」であるものの「VMイメージバージョン番号」は「1」である。
図10は代替案リストを示す図である。代替案リストは、管理計算機101がVMイメージ選択処理の中の代替対象判定処理を実施して作成する。代替対象判定処理は、VMイメージ選択処理で適切なVMイメージがない場合に実施され、代替案リストに代替のVMイメージについての複数の代替案の情報を追加する。
「代替案番号」1001は代替案に一意の番号であり、行1006は「代替案番号」が「1」であるものに関する記述であり、行1007は「代替案番号」が「2」であるものに関する記述である。
「代替対象VMイメージ名」1002は代替案に関わる代替対象(削除又は移動の対象となるVMイメージ)となるVMイメージの名称が記載される。例えば、「代替案番号」が「1」であるものの「代替対象VMイメージ名」は「b_vm_os2」である。「代替対象VMイメージバージョン番号」1003は代替案に関わる代替対象となるVMイメージのバージョン番号が記載される。例えば、「代替案番号」が「1」であるものの「代替対象VMイメージバージョン番号」は「1」である。
「代替先VMイメージ名」1004は代替案に関わる代替先(代替対象のVMイメージに替わってアプリケーションを実行するVMイメージ)となるVMイメージの名称が記載される。例えば、「代替案番号」が「1」であるものの「代替先VMイメージ名」は「b_vm_os2」である。「代替先VMイメージバージョン番号」1005は代替案に関わる代替先となるVMイメージのバージョン番号が記載される。例えば、「代替案番号」が「1」であるものの「代替先VMイメージバージョン番号」は「2」である。
図11はアプリケーション別実績収集方法テーブルの例を示す図である。アプリケーション別実績収集方法テーブル126には、アプリケーションごとに異なる、実績パケットを作成するために必要となる実績の収集方法を記載する。
「アプリケーション名」1101はアプリケーションに一意の名称であり、行1105は「アプリケーション名」が「A帳票出力バッチ」であるものに関する記述であり、行1106は「アプリケーション名」が「B勘定オンライン」であるものに関する記述である。
「プロセス名」1102はアプリケーション稼働中に実行されるプロセスの名称が記載される。例えば、「アプリケーション名」が「A帳票出力バッチ」であるものの「プロセス名」は「print.bat」であり、「アプリケーション名」が「B勘定オンライン」であるものの「プロセス名」は「oltp.bin」である。
「アプリケーションバージョン確認方法」1103は、アプリケーションのバージョン番号を確認するために実績収集部が実施すべき方法が記載される。例えば、「アプリケーション名」が「A帳票出力バッチ」であるものの「アプリケーションバージョン確認方法」は「ログファイルA1のヘッダのバージョン番号を参照する」であり、「アプリケーション名」が「B勘定オンライン」であるものの「アプリケーションバージョン確認方法」は「通信パケットのヘッダのバージョン番号を参照する」である。
「正常動作確認方法」1104はアプリケーションが正常に動作しているかどうかを確認するために実績収集部が実施すべき方法が記載される。例えば、「アプリケーション名」が「A帳票出力バッチ」であるものの「正常動作確認方法」は「ログファイルA1を参照しエラー行がない」であり、「アプリケーション名」が「B勘定オンライン」であるものの「正常動作確認方法」は「ACKパケットが返答される」である。
図12は実績パケットの例を示す図である。これは、VMイメージ上でのアプリケーションの稼動実績を管理計算機101へ通知するパケットであり、実績収集部202が生成する。
「アプリケーション名」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はポリシーパケットの例を示す図である。これは、ポリシーテーブル119に登録された内容の変更や追加を通知するパケットであり、ユーザの入力を受けてユーザー端末105で生成される。
「アプリケーション名」1301はポリシーに関するアプリケーションに一意の名称であり、行1304は「アプリケーション名」が「A帳票出力バッチ」であるものに関する記述である。
「ポリシー名」1302はポリシーの特徴を示す名称が記載される。例えば、「アプリケーション名」が「A帳票出力バッチ」であるものの「ポリシー名」は「バージョン数確保」である。「定数」1303はポリシーの特徴を示す数値が記載され、ポリシー名1302と共に参照することでポリシーの特徴を規定することができる。例えば、「アプリケーション名」が「A帳票出力バッチ」であるものの「定数」は「3」である。
以下、本実施形態における情報処理方法の実際手順について図に基づき説明する。以下で説明する情報処理方法に対応する各機能部は、管理計算機101がメモリ103から読み出して実行するプログラムによって実現される。そして、このプログラムは、以下に説明される各種の動作を行うためのコードから構成されている。
具体的な処理例の説明の前に、図22において、各テーブル間の連携を説明する。図22(a)は、VMイメージ実績テーブル122、図22(b)はアプリケーション実績テーブル117の一部、図22(c)はVMイメージ候補テーブル118の一部、図22(d)は重複実績番号リスト123の更新前の状態、図22(e)は重複実績番号リスト123の更新後の状態である。
まず、実績パケット受信時のテーブル間の連携について説明する。管理計算機101は、計算機107、108、109から実績パケットを受信すると、新たな実行実績についてのVMイメージ名とVMバージョン番号の組に応じて、実行実績を一意に識別する実績番号を付与する。例えば、実績パケットとして「B勘定オンライン/1/a_VM_os2/1/20111211」を受け取った場合、VMイメージ名「a_VM_os2」のVMイメージバージョン番号「1」に対して付与されている最新の実績番号「1002」をインクリメントして「1003」の実績番号が付与され、VMイメージ実績テーブル122、アプリケーション実績テーブル117、及びVMイメージ候補テーブルの最新実績番号705に登録される。同様に、実績パケット「Dバックアップ/2/a_VM_os2/2/20111211」を受け取った場合、VMイメージ名「a_VM_os2」のVMイメージバージョン番号「2」に対して付与されている最新の実績番号「1101」をインクリメントして「1102」の実績番号が付与され、各テーブルに登録される。なお、重複実績番号リスト123はVMイメージ選択処理(P3)の過程で登録されるため、実績パケットを受信した段階では処理されない。
次に、VMイメージ選択処理(P3)におけるテーブル間の連携について説明する。まず、重複実績番号リスト123が初期化され、図22d)のように重複最古実績番号2204及び重複最新実績番号2205の登録がない状態となる。そして、アプリケーション実績テーブル117からアプリケーション名302の単位で実績番号(以下、実績番号群とする)を取得する。図22(b)の場合、「A帳票出力バッチ」の実績番号群2201、「B勘定オンライン」の実績番号群2202のように分かれる。
そして、「A帳票出力バッチ」に適用されるポリシーが「バージョン数確保」であり、ポリシーの定数504は「1」であるため、アプリケーションバージョン番号304が最新の値である「3」に対応する実績番号「103」がポリシーにより保護される対象として抽出される。まず、実績番号「103」は、図22(d)で示す重複実績番号リスト123に登録されていないため、この実績番号を有するVMイメージは削除対象外と判断され、VMイメージ候補テーブル118の行2204の削除フラグに「1」が設定される。そして、VMイメージ候補テーブル118に登録された行2204(a_VM_os1、バージョン1)についての最古実績番号「100」が、重複実績番号リスト123の重複最古実績番号801に、最新実績番号「103」が重複最新実績番号802に登録される。具体的には、図22の(e)の更新後の重複実績番号リスト123のようになる。
これにより、行2203または行2204のVMイメージは削除フラグにより削除対象外のVMイメージとして扱われ、また重複実績番号リスト123が逐次更新されることにより、削除対象外のVMイメージか否かを高速に判断可能することができる。
図23は、VMイメージ名とVMイメージバージョン番号の組を意識せずに実績パケットを受信した順に付与した場合の、テーブル間の連携を説明する図である。 図23(a)は、VMイメージ実績テーブル122、図23(b)はアプリケーション実績テーブル117の一部、図23(c)はVMイメージ候補テーブル118の一部、図23(d)は重複実績番号リスト123の更新前の状態、図23(e)は重複実績番号リスト123の更新後の状態である。
まず、実績パケット受信時のテーブル間の連携について説明する。管理計算機101は、計算機107、108、109から実績パケットを受信すると、実績パケットを受信した順に、新たな実行実績を一意に識別する実績番号401を付与する。例えば、実績パケットとして「B勘定オンライン/1/a_VM_os2/1/20111211」を新たに受け取った場合、最新の実行実績に付与されている実績番号「13」をインクリメントして「14」の実績番号が付与され、VMイメージ実績テーブル122、アプリケーション実績テーブル117、及びVMイメージ候補テーブルの最新実績番号705に登録される。次に実績パケット「Dバックアップ/2/a_VM_os2/2/20111211」を受け取った場合は、最新の実績番号「14」をインクリメントして「15」の実績番号が付与され、各テーブルに登録される。
実績パケットを受信した順に実績番号を付与する場合、図23(c)で示すように、VMイメージ候補テーブル118は、最古実績番号704及び最新実績番号705に代えて、実績番号配列2303を有し、新たな実績番号は実績番号配列2303に登録される。実績番号配列2303には、該当行のVMイメージが関係する実行実績についての実績番号が記載される。例えば、行2304の場合、VMイメージ名が「a_VM_os1」、VMバージョン番号が「1」のVMイメージには、「1、3、4、5、12、13」の実行実績が登録されていることを意味する。その他の項目は、図22の場合と同様である。
次に、VMイメージ選択処理(P3)におけるテーブル間の連携について説明する。基本的な処理は図22の場合と同様であり、アプリケーションの実行実績番号群ごとに分け、実行実績番号が重複実績番号リスト123に登録された重複最古実績番号801と重複最新実績番号802の範囲に含まれるかを調べ、削除対処から除外するVMイメージについては該当フラグ707に「1」を設定して保護する。
図22の場合と異なるのは、重複実績番号リスト123の更新処理である。例えば、VMイメージ選択処理(P3)において実績番号「13」のVMイメージが削除対象外のVMイメージとして判断された場合、VMイメージ候補テーブル118の行2304の実績番号配列2303に含まれる実績番号「1、3、4、5、12、13」が重複実績番号リスト123に登録される。そしてこれらの実績番号から連続性のある実績番号をまとめ、重複最古実績番号801と重複最新実績番号802、は「1、1」、「3、5」、「12、13」という組になり、図23(d)のように登録される。次いで実績番号「14」のVMイメージが削除対象外のVMイメージとして判断されると、行2305の実績番号配列2303に含まれる実績番号「9、10、11、14、15」が、さらに重複実績番号リスト123に追加される。そして、「1、3、4、5、12、13」、「9、10、11、14、15」の中で連続性のある実績番号をまとめ、「1、1」、3、5」、「9、15」という組となり、図23(e)のように登録される。これにより、図22の場合と同様に、削除対象外でのVMイメージか否かを高速に判断可能することができる。
なお、図14以降では図22で説明した実績番号の付与方法を用いた処理例を説明するが、上記の相違点を適用することにより、図23の場合も同様に処理可能である。
図14は本実施形態における全体処理の流れを示すシーケンス図である。本実施形態では、ユーザー端末105がユーザによるポリシー入力を受け付けた場合、もしくは実績収集部202から実績パケットを受信した場合に全体処理を開始する。
最初に、ユーザー端末105はユーザーからのポリシー入力を受け付ける(1401)。次に、ユーザー端末105は、ポリシー入力の情報を含むポリシーパケットを生成し、VMイメージ選択部120へ送信する(1402)。次に、VMイメージ選択部120はポリシーパケットを受信し、ポリシーテーブル更新処理(P1)を行う(1403)。次に、VMイメージ選択部120はVMイメージ選定処理(P3)行う(1404)。
また、符号1401から1404の処理と同時に、実績収集部202は計算機を監視し実績収集処理(P6)を行う(1405)。次に、実績収集部202は、監視結果を含む実績パケットを作成しVMイメージ選択部120へ送信する(1406)。次に、VMイメージ選択部120は実績パケットを受信しアプリケーション実績テーブルおよびVMイメージ実績テーブル更新処理(P2)を行う(1407)。最後に、VMイメージ選択部120はVMイメージ選定処理(P3)を行う(1408)。符号1401から1404までの処理と符号1405から1408までの処理は並列に実施されるため、どちらが先に実施されても良い。また、符号1404の処理と符号1408の処理は同じであり、符号1403もしくは符号1407のどちらかを契機に実施される。そのため、一方の契機がまったく実施されなくてもよい。なお、VMイメージ選定処理(P3)(1404、1408)により削除対象となるVMイメージが対象VMイメージリスト124に登録された場合、削除対象のVMイメージは適切なタイミングに任意の方法で削除等される。また、対象VMイメージリスト124に登録されたVMイメージを削除するのではなく、移動や圧縮等してもよい。
図15は本実施形態における情報処理方法の手順例2を示すフローチャート図である。このフローチャートは、ポリシーテーブル更新処理(P1)を示すフローチャートである。このフローチャートは、図14に示した通り、ユーザー端末105からのポリシーパケット受信したときにVMイメージ選択部120によって実行されるものとなる。このフローチャートに基づき、VMイメージ選択部120は、ユーザーによって入力されたポリシーの設定内容をポリシーテーブル119に追加またはポリシーテーブル119を更新し、後述のポリシー判定処理で利用できるようにする。
ステップ1501はポリシーパケットをユーザー端末105から受信する処理である。次に、ステップ1502はポリシーテーブル119の中に、ポリシーパケットで指定されたアプリケーション名1301と同一の行があるかどうか調べる処理である。ポリシーテーブル119の中に、ポリシーパケットのアプリケーション名1301と同一の行がある場合は、ステップ1503へ進み、ない場合はステップ1504へ進む。ステップ1503は、ポリシーテーブル119の該当行のポリシー名502と定数504を、ポリシーパケットで指定されたポリシー名1302と定数1303で置き換える処理である。ステップ1504はポリシーID501を生成する処理である。ステップ1505はポリシーID501に加えて、ポリシーパケット内のアプリケーション名1301、ポリシー名1302および定数1303を含む行をポリシーテーブル119に追加する処理である。
図16は、本実施形態における情報処理方法の手順例3を示すフローチャート図である。このフローチャートは、アプリケーション実績テーブルおよびVMイメージ実績テーブル更新処理(P2)を示すフローチャートである。このフローチャートは、図14に示したとおり、実績収集部202から実績パケットを受信したときに、VMイメージ選択部120によって実施される。このフローチャートに基づき、VMイメージ選択部120は、実績収集部202が取得した実績情報をアプリケーション実績テーブル117およびVMイメージ実績テーブル118に追加し、後述するポリシー判定処理で利用できるようにする。
ステップ1601は実績パケットを受信する処理である。ステップ1602は実績パケットのVMイメージ名1203とVMイメージバージョン番号1204と同一であるVMイメージ候補テーブル122の行を検索する処理である。ステップ1603は、ステップ1602の該当行の最新実績番号705の値を取得し、1を加えて新たな実績番号を生成し、VMイメージ候補テーブル122の最新実績番号705を更新する処理である。ステップ1604は、新たな実績番号と実績パケットで指定されたVMイメージ名1203とVMイメージバージョン番号1204を含む行をVMイメージ実績テーブル118に追加する。このとき、実績番号の順が昇順となるように行を追加する。ステップ1605は、新たな最新実績番号と実績パケットで指定されたアプリケーション名1201とアプリケーションバージョン番号1202と時刻1205を含む行をアプリケーション実績テーブル117に追加する。このときアプリケーション名が同一の行があればその行の前後に、アプリケーションバージョン番号が昇順となるように行を追加する処理である。
図17は、VMイメージ選択処理(P3)を示すフローチャートである。
このフローチャートは、図14に示した通り、ポリシーテーブル更新処理(P1)もしくはアプリケーション実績テーブルおよびVM イメージ実績テーブル更新処理(P2)を実行したあとに実施される。このフローチャートに基づき、VMイメージ選択部120は、アプリケーション復元に必要なVMイメージを除外した上でVMスプロールを回避するために削除ないし圧縮もしくは移動する対象となるVMイメージを選択する。
ステップ1701は初期化:対象VMイメージリストを空にする処理である。
ステップ1702はポリシー判定処理(P4)を実施し、対象VMイメージリスト124を取得する処理である。ポリシー判定処理(P4)については後述する。ステップ1703は対象VMイメージリスト124が空かどうか調べる処理である。もし対象VMイメージリスト124が空であれば、ポリシー判定処理(P4)において削除対象となりえるVMイメージを得ることができなかったことを意味し、ステップ1704へ進む。もし対象VMイメージリストが空でなければ、ポリシー判定処理(P4)において削除または移動可能なVMイメージを得ることができたので、VMイメージ選択処理(P3)は終了する。
ステップ1704は代替対象判定処理(P5)を実施し、代替案リスト125を得る処理である。代替対象判定処理(P5)については後述する。ステップ1705は代替案あったかどうか調べる処理である。代替対象判定処理(P5)において代替案リストを得られた場合は、代替案ありとなってステップ1706へ進む。もし代替案がなければ、代替関係にあるVMイメージも得られなかったため、VMイメージ選択処理(P3)は終了する。ステップ1706はユーザー端末105に代替案リスト125の情報を送信し、ユーザーに代替案を通知する処理である。ステップ1707は、通知した代替案に対するユーザーから返答が「了承」であるか調べる処理である。もしユーザー端末105から代替を認める意味の「了承」の返答を得た場合は、ステップ1708へ進む。もしユーザーから「了承」の返答を得ない場合は、代替は認められないため、VMイメージ選択処理(P3)は終了する。ステップ1708は、代替案リストに登録された代替対象のVMイメージに関する情報を対象VMイメージリストに追加する処理である。
図18は、ポリシー判定(P4)を示すフローチャート図である。
ステップ1801は初期化:VMイメージ候補テーブル122を初期化し(該当フラグ706、ポリシーIDごとのポリシー適用有無に関する項目707〜711、評価値合計712の列を空にする)、重複実績リスト123を初期化する(重複最古実績番号801、重複最新実績番号802を空にする)処理である。ステップ1802は、ポリシーテーブル119を参照し、次のアプリケーション名503とポリシー名502とポリシーID501と定数504を取得する処理である。
ステップ1803はポリシーテーブル119に未処理のアプリケーションがあるかどうか調べる処理であり、ポリシーテーブルに登録された各アプリケーションについて順にステップ1804の処理をおこなう。もしポリシーテーブルに次の未処理のアプリケーションがある場合は、ステップ1804へ進み、次の未処理のアプリケーションがない場合は、ステップ1805へ進む。ステップ1804は該当行検索処理(P4-1)する処理である。
ステップ1805はVMイメージ候補テーブル122の該当フラグ706が「0」である行を検索する処理である。ステップ1806は該当行があったかかどうか調べる処理である。もし該当行があったかであれば、ステップ1807へ進む。もし該当行がなければ、ポリシー判定(P4)を終了する。ステップ1807は該当フラグ706が「0」であった行の、VMイメージ名とVMイメージバージョン番号の組を対象VMイメージリスト124に追記する処理である。
図19は、該当行検索処理(P4-1)を示すフローチャート図である。該当行検索処理(P4-1)は、ポリシーテーブル119に登録された定数503で定められた所定のタイミングまでアプリケーションを戻すことができるように、削除対象から除外すべきVMイメージを選定するための処理である。
ステップ1901はアプリケーション実績テーブルからアプリケーション名が一致する最後の行を選択する処理である。例えばポリシーテーブル119の行506の場合、ポリシーID501が「P1_A」のアプリケーション名503は「A帳票出力バッチ」であるため、アプリケーション実績テーブル117の行305から行307が選択される。ステップ1902はポリシー名502が「バージョン数確保」かどうか調べる処理である。もしポリシー名が「バージョン数確保」の場合であれば、ステップ1903へ進む。もしポリシー名が「バージョン数確保」の場合でなければ、ステップ1904へ進む。ステップ1903は、ステップ1901で選択した行からさかのぼり、定数504で指定された行までの実績番号を主記憶に記憶する処理である。例えばアプリケーション名「A帳票出力バッチ」の場合、定数504は「2」であるため、行306及び行307はポリシーにより保護されるため該当行検索処理(P4-1)の対象となり、行306、307の有する実績番号304「100」と「101」が主記憶に記憶される。これにより、定数503で定めたタイミングまでアプリケーションを戻すことができる。
ステップ1904はポリシー名が「遡及時間確保」か調べる処理である。もしポリシー名が「遡及時間確保」の場合であれば、ステップ1905へ進む。もしポリシー名が「遡及時間確保」の場合でなければ、該当行検索処理(P4-1)を終了する。ステップ1905は、ステップ1901で選択した行から、最古時刻303が現在時刻から定数504で指定された月数より古い行を除外し、実績番号を主記憶に記憶する処理である。このように、ポリシーの内容に基づき、あるバージョン数や月日等、利用実態に合わせて遡及時間を指定してアプリケーションを戻すことができる。
ステップ1906以降の各ステップは、主記憶に記憶した実績番号の各々について順に実施する。ステップ1906では、主記憶に記憶した各実績番号を処理し終えたかをチェックする処理である。主記憶に記憶した各実績番号を処理し終えた場合は、該当行検索処理(P4-1)を終了し、処理を終えていない実績番号があればステップ1907へ進む。ステップ1907は、重複番号リスト123に登録された重複最古実績番号801及び重複最新実績番号802の各々と実績番号を比較する処理である。ステップ1908では、ステップ1907の比較結果から、「重複最古実績番号<主記憶に記憶した実績番号<重複最新実績番号」の行がなかった場合はステップ1909へ進み、「重複最古実績番号<記憶した実績番号<重複最新実績番号」の行があった場合は、ステップ1906に戻り、次の実績番号の処理へと移る。
ステップ1909はVMイメージ実績テーブル118から実績番号401が同一の行のVMイメージ名402とVMイメージバージョン番号403とを記憶する処理である。ステップ1910は、VMイメージ候補テーブル122のVMイメージ名702とVMイメージバージョン番号703の組がステップ1909で取得した値と同一の行の該当フラグ706を「1」に更新する処理である。ステップ1911は、VMイメージ候補テーブル122のP1_A707、P1_B708、P2_C709、P2_D710、P3711のうち、ポリシーテーブル119から取得したポリシーID同一の列の値を「1」に更新する処理である。ステップ1912は、一連の処理の対象となった実績番号に基づきVMイメージ候補テーブル122の最古実績番号705と最新実績番号を更新し、さらに、VMイメージ候補テーブル122に基づき、重複実績番号リスト123の重複最古実績番号801に最古実績番号を、重複最新実績番号802に最新実績番号を持つ行を追加する処理である。重複実績番号リスト123への実績番号の追加処理は、図22で述べたように行う。
なお、VMイメージ実績テーブル118に承継元のVMイメージが登録されている場合は、ステップ1910において、承継元を必要とするVMイメージの該当フラグが1に更新されたときに、あわせて承継元のVMイメージについての行の該当フラグも1に更新する。これにより、ステップ1807において、承継元のVMイメージが対象VMイメージリストに追記されるのを防ぐ。
図20は、代替対象判定(P5)を示すフローチャート図である。代替対象判定(P5)では、各VMイメージの評価係数の値から、削除、移動または圧縮するとVMスプロール回避に効果的なVMイメージを検索する。
ステップ2001はVMイメージ候補テーブル122の評価値合計712の列を「0」にする処理である。ステップ2002はVMイメージ候補テーブル122の該当フラグ707がすべて「1」である前提を確認する処理である。ステップ2003以降のステップは、ポリシーテーブル119に登録された各ポリシーについて処理し、ステップ2003は、未処理のポリシーがないか調べる処理である。もしポリシーテーブル119に未処理のポリシーがあれば、ステップ2004へ進み、未処理のポリシーがなければ、ステップ2007へ進む。ステップ2004は処理対象のポリシーのポリシーID501と評価係数505を記憶する処理である。
ここで、評価係数として、
(数1)
評価係数=−(ストレージ使用量)×(削除可能になるまでの時間)
を計算するプログラムが含まれている場合、評価係数として、(数1)のプログラムをCPU103において計算し、その結果である値を評価係数505として使用する。(数1)に代入すべき値は、主記憶の他の部分に記憶しておくものを使用して良い。この計算式は、特定のVMイメージが削除可能になるまで保存しておくために使用するストレージ使用量と期間の積算を算定する式である。この値を評価係数として用いることで、後述するステップ2006で合計値が小さいものは長期にわたってストレージ使用量を節約する効果を生むという判定をすることができる。
ステップ2005はVMイメージ候補テーブル122のP1_A707、P1_B708、P2_C709、P2_D710、P3711の項目のうち、取得したポリシーIDと一致する列について、値が「1」であるセルを検索する処理である。つまり、ポリシーが「適用あり」と設定されているVMイメージ名とVMイメージバージョン番号の組を特定する。ステップ2006はステップ2005で特定したVMイメージのVMイメージ候補テーブル122の評価値合計712に取得したポリシーIDの評価係数505を加算する処理である。この結果、各VMイメージ名とVMイメージバージョン番号の組について、適用ありと設定されているポリシーの評価係数505の合算地が評価値合計713に登録される。
ステップ2007はVMイメージ候補テーブル122の評価値合計712が最小である行を検索する処理である。ステップ2008は該当行のVMイメージ名702とVMイメージバージョン番号703を代替案リスト125に追加する処理である。
ここで、代替案リスト125の有する、代替先VMイメージバージョン名1004及び代替先VMイメージバージョン番号1005の取得方法について説明する。まず、VMイメージ候補テーブル122から、ステップ2008で代替リスト125に追加した代替対象のVMイメージと一致する行を検索する。該当した行のP1_A707、P1_B708、P2_C709、P2_D710、P3711の設定値(ポリシーの適用有無)を取得する。そして、VMイメージ候補テーブル122の他の行に、代替対象のVMイメージと同一VMイメージ名であり、代替対象のVMイメージで適用ありとなっているポリシーと同一のポリシーが適用あり(セルの値が「1」)であるVMイメージを検索し、該当したVMイメージが代替先VMイメージとなり、代替案リスト125の代替先VMイメージバージョン名1004及び代替先VMイメージバージョン番号1005に登録される。
例えば、代替対象のVMイメージがVMイメージ名「a_vm_os1」、VMイメージバージョン番号「1」の場合、VMイメージ候補テーブル122の該当する行は行713であり、適用されるポリシーはP1_Bである。そして、VMイメージ候補テーブル122の中でVMイメージ名が「a_vm_os1」でありポリシーP1_Bが適用されるのは、行714のVMイメージであり、このVMイメージに関する情報が代替案リスト125に登録される。
図21は、実績収集処理(P6)を示すフローチャート図である。実績収集処理(P6)は、稼動中のVMイメージ及びアプリケーションに関する情報を計算機107、108、109が収集し、実績パケットを作成して管理計算機101に送信する処理である。
ステップ2101はアプリケーション別実績収集方法テーブル126を管理計算機101から受信する処理である。ステップ2102は計算機107、108、109のOSの機能を用いて起動中のプロセスを監視する処理である。ステップ2103は、監視しているプロセスの中に、アプリケーション別実績収集方法テーブル126のアプリケーション名1101(またはプロセス名1102)が一致するプロセスが存在するか調べる処理である。もしアプリケーション名が一致するプロセスが存在であれば、ステップ2104へ進む。もしアプリケーション名が一致するプロセスが存在でなければ、実績収集処理(P6)を終了する。
ステップ2104はアプリケーション別実績収集方法テーブル126の正常動作確認方法1104の内容を基準として、アプリケーションの動作が「正常」かどうか調べる処理である。もしアプリケーション別実績収集方法テーブルの正常動作確認方法1104の内容を実行し、「正常」である場合は、ステップ2105へ進む。「正常」ではない場合は、実績収集処理(P6)を終了する。ステップ2105は稼動中のVMイメージから、VMイメージ名205とVMイメージバージョン番号206を取得する処理である。ステップ2106はアプリケーション別実績収集方法テーブル126のアプリケーションバージョン確認方法1103の内容を実行し、バージョン番号を取得する処理である。ステップ2107は取得したVMイメージ名、VMイメージバージョン番号、アプリケーション名、アプリケーションバージョン番号から実績パケットを作成し、VMイメージ選択部120に送信する処理である。
なお本実施形態においては、VMスプロールを回避する場合の処理として、VMイメージの削除もしくは圧縮、移動処理を採用した例を示した。しかしこれに限定されることはなく、ファイル重複排除、アーカイブ処理など他のファイルサイズ縮小技術を用いても同様に実施できる。
なお、本発明は、上記実施の形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化することができる。また、上記実施の形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成することができる。例えば、実施の形態に示される全構成要素からいくつかの構成要素を削除してもよい。さらに、異なる実施の形態にわたる構成要素を適宜組み合わせても良い。
以上、本発明を実施するための最良の形態などについて具体的に説明したが、本発明はこれに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能である。
こうした本実施形態によれば、クラウドシステムにおけるアプリケーション復元可能としながらVMスプロールを回避することが可能となる。
101…管理計算機
102…CPU
103…メモリ
104…通信部
105…ユーザ端末
106…計算機部
107…計算機
108…計算機
109…計算機
110…ストレージ部
111…ストレージ
112…ストレージ
113…ストレージ
114…VMイメージ
115…VMイメージ
116…アーカイブ
117…アプリケーション実績テーブル
118…VMイメージ実績テーブル
119…ポリシーテーブル
120…VMイメージ選択部
121…時刻取得部
122…VMイメージ候補テーブル
123…重複実績番号リスト
124…対象VMイメージリスト
125…代替案リスト
126…アプリケーション別実績収集方法テーブル
201…VMイメージ
202…実績収集部
203…通信部
204…時刻取得部

Claims (13)

  1. 仮想環境の運用を管理する管理装置であって、
    VMイメージ上でのアプリケーションの実行実績について、
    前記実行実績に係るVMイメージの、VMイメージの識別子と、VMイメージのバージョン番号と、VMイメージの識別子とVMイメージのバージョン番号の組合せごとに前記実行実績を時系列に一意に識別する実績番号と、を登録したVMイメージ実績テーブルと、
    前記実行ad実績に係るアプリケーションの、アプリケーションの識別子と、アプリケーションのバージョン番号と、当該実行実績についての前記実績番号と、を登録したアプリケーション実績テーブルと、
    VMイメージの識別子とVMイメージのバージョン番号の組合せごとに、最も古い実績番号である最古実績番号と、最も新しい実績番号である最新実績番号と、当該組合せに係るVMイメージが削除可能か否かを設定する削除フラグと、を登録したVMイメージ候補テーブルと、
    削除対象となるVMイメージの候補を抽出する削除対象判断手段によって削除不可能と判断されたVMイメージの識別子とVMイメージのバージョン番号の組合せごとに、当該組合せの実績番号のうち、最も古い実績番号である重複最古実績番号と、最も新しい実績番号である重複最新実績番号と、を登録した重複実績番号リストと、
    を記憶する記憶手段と、
    前記アプリケーション実績テーブルから、前記アプリケーションの識別子ごとに、当該アプリケーションの識別子を有する1つ以上の実績番号を、実績番号のリストとして取得する実績番号取得手段と、
    前記実績番号のリストに含まれる実績番号が、前記重複実績番号リストに登録されたいずれかの重複最古実績番号から重複最新実績番号の範囲に含まれるかを判断する前記削除対象判断手段と、
    前記実績番号のリストに含まれる実績番号が、いずれの前記組合せの重複最古実績番号から重複最新実績番号の範囲にも属さない場合は、前記VMイメージ実績テーブルに基づき、当該実績番号のリストに含まれる実績番号に対応するVMイメージの識別子とVMイメージのバージョン番号の組合せを特定するVMイメージ特定手段と、
    前記VMイメージ特定手段によって取得された組合せに対応する前記VMイメージ候補テーブルの削除フラグを、削除不可能に設定する削除フラグ設定手段と、
    前記実績番号のリストに含まれる実績番号に基づき、前記VMイメージ特定手段によって特定された組合せに対応する、前記VMイメージ候補テーブルの最古実績番号と最新実績番号を、前記重複実績番号リストの重複最古実績番号と重複最新実績番号として登録する最新最古実績番号更新手段と、
    前記実績番号のリストに含まれる実績番号の各々を処理した結果、前記VMイメージ候補テーブルにおいて、前記削除フラグが削除不可能に設定されていないVMイメージの識別子とVMイメージのバージョン番号の組合せを、削除対象のVMイメージと判断する削除対象決定手段と、
    を有することを特徴とする管理装置。
  2. 請求項1に記載の管理装置であって
    前記記憶手段は、さらに、削除候補のVMイメージの、VMイメージの識別子とVMイメージのバージョン番号と、を登録したVMイメージリストを記憶し、
    さらに、前記削除対象決定手段において削除対象と判断されたVMイメージのVMイメージの識別子とVMイメージのバージョン番号の組合せを、前記VMイメージリストに登録する削除対象登録手段と、
    前記VMイメージリストに登録されたVMイメージの削除を指示する削除指示手段と、
    を有することを特徴とする管理装置。
  3. 請求項2に記載の管理装置であって、
    前記VMイメージ削除指示手段は、VMイメージの削除に代えて、VMイメージを移動または圧縮する、
    ことを特徴とする管理装置。
  4. 請求項3に記載の管理装置であって、
    アプリケーションの識別子とアプリケーションのバージョン番号に代えて、
    VMイメージを区別するために付与された、ホストの識別子とホストのバージョン番号、
    または、VMイメージのグループを区別するために付与された、VMイメージのグループの識別子と、VMイメージのグループのバージョン番号を用いる
    ことを特徴とする管理装置。
  5. 請求項4に記載の管理装置であって、
    前記記憶手段は、さらに、VMイメージの削除判断に適用されるポリシーの、ポリシーの識別子と、ポリシーが適用されるアプリケーションの識別子と、ポリシーにより削除対象から除外される実行実績の件数を示す除外定数と、を登録したポリシーテーブルを記憶し、
    さらに、前記実績番号のリストに含まれる実績番号に対応するアプリケーションの識別子に基づき、前記ポリシーテーブルから当該アプリケーションの識別子を有するアプリケーションに適用される前記除外定数を取得する除外定数取得手段と、
    前記実績番号のリストに含まれる実績番号のうち、最新の実績番号から順に前記除外定数で指定された数の実績番号を残して他の実績番号を削除するポリシー適用手段と、
    を有することを特徴とする管理装置。
  6. 請求項5に記載の管理装置であって、
    前記記憶手段は、代替元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イメージのバージョン番号を、前記代替案リストに登録する代替案登録手段と、
    を有することを特徴とする管理装置。
  7. 請求項6に記載の管理装置であって、
    さらに、前記代替案リストをユーザー端末に送信する代替案送信手段と、
    前記ユーザー端末から、前記代替案リストの代替内容の適用可否を受信するユーザー操作受信手段と、
    前記ユーザー操作受信手段が前記代替案リストを適用可能と受信した場合は、当該代替案リストに登録された前記代替元VMイメージのVMイメージの識別子とVMイメージのバージョン番号を、前記VMイメージリストに登録する代替元削除登録手段と、
    を有することを特徴とする管理装置。
  8. 請求項7に記載の管理装置であって、
    前記記憶手段は、前記VMイメージ実績テーブルにおいて、さらに、VMイメージの識別子とVMイメージのバージョン番号の組合せに係るVMイメージの稼動に他のVMイメージが必要な場合は、当該他のVMイメージのVMイメージの識別子とVMイメージのバージョン番号の組合せを登録し、
    さらに、前記削除フラグ設定手段は、削除フラグを削除不可能に設定したVMイメージの識別子とVMイメージのバージョン番号の組合せが、前記VMイメージ実績テーブルにおいて、前記他のVMイメージのVMイメージの識別子とVMイメージのバージョン番号の登録を有する場合は、当該他のVMイメージのVMイメージの識別子とVMイメージのバージョン番号に係る削除フラグも削除不可能に設定する、
    ことを特徴とする管理装置。
  9. 仮想環境の運用を管理する管理装置であって、
    VMイメージ上でのアプリケーションの実行実績について、
    前記実行実績に係るVMイメージの、VMイメージの識別子と、VMイメージのバージョン番号と、前記実行実績を時系列に一意に識別する実績番号と、を登録したVMイメージ実績テーブルと、
    前記実行実績に係るアプリケーションの、アプリケーションの識別子と、アプリケーションのバージョン番号と、当該実行実績についての前記実績番号と、を登録したアプリケーション実績テーブルと、
    VMイメージの識別子とVMイメージのバージョン番号の組合せごとに、当該組合せに係る実績番号の一覧である実績番号配列と、当該組合せに係るVMイメージが削除可能か否かが設定された削除フラグと、を登録したVMイメージ候補テーブルと、
    削除対象となるVMイメージの候補を抽出する削除対象判断手段によって削除不可能と判断されたVMイメージの識別子とVMイメージのバージョン番号の実績番号のうち、連続した実績番号ごとに、最も古い実績番号である重複最古実績番号と、最も新しい実績番号である重複最新実績番号と、を登録した重複実績番号リストと、
    を記憶する記憶手段と、
    前記アプリケーション実績テーブルから、前記アプリケーションの識別子ごとに、当該アプリケーションの識別子を有する1つ以上の実績番号を、実績番号のリストとして取得する実績番号取得手段と、
    前記実績番号のリストに含まれる実績番号が、前記重複実績番号リストに登録されたいずれかの重複最古実績番号から重複最新実績番号の範囲に含まれるかを判断する前記削除対象判断手段と、
    前記実績番号のリストに含まれる実績番号が、いずれの前記組合せの重複最古実績番号から重複最新実績番号の範囲にも属さない場合は、前記VMイメージ実績テーブルに基づき、当該実績番号のリストに含まれる実績番号に対応するVMイメージの識別子とVMイメージのバージョン番号の組合せを特定するVMイメージ特定手段と、
    前記VMイメージ特定手段によって取得された組合せに対応する前記VMイメージ候補テーブルの削除フラグを、削除不可能に設定する削除フラグ設定手段と、
    前記実績番号のリストに含まれる実績番号に基づき、前記VMイメージ特定手段によって特定された組合せに対応する前記VMイメージ候補テーブルの実績番号配列に登録された実績番号と、前記重複実績番号リストに登録されている重複最古実績番号と重複最新実績番号から、連続した実績番号を抽出し、当該連続した実績番号ごとに新たな重複最古実績番号と重複最新実績番号を生成し前記重複実績番号リストを更新する最新最古実績番号更新手段と、
    前記実績番号のリストに含まれる実績番号の各々を処理した結果、前記VMイメージ候補テーブルにおいて、前記削除フラグが削除不可能に設定されていないVMイメージの識別子とVMイメージのバージョン番号の組合せを、削除対象のVMイメージと判断する削除対象決定手段と、
    を有することを特徴とする管理装置。
  10. 仮想環境の運用を管理する管理装置と、VMイメージを稼動する計算機と、VMイメージを保存するストレージ装置と、を含む仮想環境システムであって、
    前記計算機は、
    VMイメージ上でのアプリケーションの実行実績について、
    前記実行実績に係るVMイメージの、VMイメージの識別子と、VMイメージのバージョン番号と、VMイメージの識別子とVMイメージのバージョン番号の組合せごとに前記実行実績を時系列に一意に識別する実績番号と、を登録したVMイメージ実績テーブルと、
    前記実行実績に係るアプリケーションの、アプリケーションの識別子と、アプリケーションのバージョン番号と、当該実行実績についての前記実績番号と、を登録したアプリケーション実績テーブルと、
    VMイメージの識別子とVMイメージのバージョン番号の組合せごとに、最も古い実績番号である最古実績番号と、最も新しい実績番号である最新実績番号と、当該組合せに係るVMイメージが削除可能か否かを設定する削除フラグと、を登録したVMイメージ候補テーブルと、
    削除対象となるVMイメージの候補を抽出する削除対象判断手段によって削除不可能と判断されたVMイメージの識別子とVMイメージのバージョン番号の組合せごとに、当該組合せの実績番号のうち、最も古い実績番号である重複最古実績番号と、最も新しい実績番号である重複最新実績番号と、を登録した重複実績番号リストと、
    を記憶する記憶手段と、
    前記アプリケーション実績テーブルから、前記アプリケーションの識別子ごとに、当該アプリケーションの識別子を有する1つ以上の実績番号を、実績番号のリストとして取得する実績番号取得手段と、
    前記実績番号のリストに含まれる実績番号が、前記重複実績番号リストに登録されたいずれかの重複最古実績番号から重複最新実績番号の範囲に含まれるかを判断する前記削除対象判断手段と、
    前記実績番号のリストに含まれる実績番号が、いずれの前記組合せの重複最古実績番号から重複最新実績番号の範囲にも属さない場合は、前記VMイメージ実績テーブルに基づき、当該実績番号のリストに含まれる実績番号に対応するVMイメージの識別子とVMイメージのバージョン番号の組合せを特定するVMイメージ特定手段と、
    前記VMイメージ特定手段によって取得された組合せに対応する前記VMイメージ候補テーブルの削除フラグを、削除不可能に設定する削除フラグ設定手段と、
    前記実績番号のリストに含まれる実績番号に基づき、前記VMイメージ特定手段によって特定された組合せに対応する、前記VMイメージ候補テーブルの最古実績番号と最新実績番号を、前記重複実績番号リストの重複最古実績番号と重複最新実績番号として登録する最新最古実績番号更新手段と、
    前記実績番号のリストに含まれる実績番号の各々を処理した結果、前記VMイメージ候補テーブルにおいて、前記削除フラグが削除不可能に設定されていないVMイメージの識別子とVMイメージのバージョン番号の組合せを、削除対象のVMイメージと判断する削除対象決定手段と、
    前記VMイメージリストに登録されたVMイメージを前記ストレージ装置から削除する削除実行手段と、
    を有することを特徴とする仮想環境システム。
  11. 請求項10に記載の仮想環境システムであって、
    前記管理装置の前記記憶手段は、さらに、VMイメージの削除判断に適用されるポリシーの、ポリシーの識別子と、ポリシーが適用されるアプリケーションの識別子と、ポリシーにより削除対象から除外される実行実績の件数を示す除外定数と、を登録したポリシーテーブルを記憶し、
    さらに、前記実績番号のリストに含まれる実績番号に対応するアプリケーションの識別子に基づき、前記ポリシーテーブルから当該アプリケーションの識別子を有するアプリケーションに適用される前記除外定数を取得する除外定数取得手段と、
    前記実績番号のリストに含まれる実績番号のうち、最新の実績番号から順に前記除外定数で指定された数の実績番号を残して他の実績番号を削除するポリシー適用手段と、
    を有することを特徴とする仮想環境システム。
  12. 請求項11に記載の仮想環境システムであって、
    前記仮想環境システムは、さらに、VMイメージ上でアプリケーションを操作するユーザ端末を含み、
    前記ユーザー端末は、
    ポリシーの識別子、ポリシー適用対象のアプリケーションの識別子と、ポリシーによって保護される実行実績の件数である除外定数の入力を、ポリシー設定情報として受け付けるポリシー入力受付手段と、
    前記ポリシー設定情報を、前記管理装置に送信するポリシー設定情報送信手段と、
    前記管理装置は、さらに、前記ユーザー端末から前記ポリシー設定情報を受信するポリシー設定情報受信手段と、
    前記ポリシー設定情報に係るポリシー適用対象のアプリケーションの識別子に対応する前記ポリシーテーブルの登録を、前記ポリシー設定情報に係る前記ポリシーの識別子と前記除外定数によって更新するポリシーテーブル更新手段と、
    を有することを特徴とする仮想環境システム。
  13. 請求項12に係る仮想環境システムであって、
    前記管理装置の前記記憶手段は、さらに、アプリケーションの識別子と、アプリケーションに係るプロセスの識別子と、アプリケーションのバージョン判断方法と、アプリケーションの正常動作判断手法と、を登録したアプリケーション別実績収集方法テーブルを記憶し、
    前記計算機は、さらに、前記アプリケーション別実績収集方法テーブルを前記管理装置から受信する実績収集方法テーブル受信手段と、
    前記計算機で稼動しているVMイメージのプロセス情報から、前記アプリケーション別実績収集方法テーブルに登録されたアプリケーションの識別子と一致するアプリケーションの識別子を有する実績収集対象を検出するプロセス監視手段と、
    前記プロセス監視手段により前記実績収集対象を検出した場合は、前記アプリケーション別実績収集方法テーブルの当該実績収集対象についての正常動作判断手法に基づき、当該実績収集対象のアプリケーションが正常に動作しているか判断するアプリケーション動作判断手段と、
    正常に動作していると判断された場合は、前記アプリケーション別実績収集方法テーブルの当該実績収集対象についてのバージョン判断方法に基づき、当該実績収集対象のバージョン番号を取得するアプリケーションバージョン番号取得手段と、
    前記実績収集対象のアプリケーションを実行しているVMイメージから、VMイメージの識別子とVMイメージのバージョン番号を取得するVMイメージ情報取得手段と、
    前記実績収集対象のアプリケーションについてのアプリケーションの識別子と、アプリケーションのバージョン番号と、当該実績収集対象のアプリケーションを実行しているVMイメージの識別子とVMイメージのバージョン番号を、前記実行実績情報として前記管理装置に送信する実行実績情報送信手段と、
    前記管理装置は、さらに、前記アプリケーション別実績収集方法テーブルを前記管理装置に送信する実績収集方法テーブル送信手段と、
    前記実行実績情報を前記計算機から受信する実行実績情報送信手段と、
    を有することを特徴とする仮想環境システム。
JP2012006674A 2012-01-17 2012-01-17 情報処理装置及び情報処理システム Pending JP2013148938A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012006674A JP2013148938A (ja) 2012-01-17 2012-01-17 情報処理装置及び情報処理システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012006674A JP2013148938A (ja) 2012-01-17 2012-01-17 情報処理装置及び情報処理システム

Publications (1)

Publication Number Publication Date
JP2013148938A true JP2013148938A (ja) 2013-08-01

Family

ID=49046407

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012006674A Pending JP2013148938A (ja) 2012-01-17 2012-01-17 情報処理装置及び情報処理システム

Country Status (1)

Country Link
JP (1) JP2013148938A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015189968A1 (ja) * 2014-06-12 2015-12-17 株式会社日立製作所 Vm管理システム及びその方法
JP2017151647A (ja) * 2016-02-23 2017-08-31 キヤノン株式会社 管理システム、制御方法
WO2020208952A1 (ja) * 2019-04-09 2020-10-15 株式会社オートネットワーク技術研究所 車載コンピュータ、コンピュータ実行方法及びコンピュータプログラム
WO2020208954A1 (ja) * 2019-04-09 2020-10-15 株式会社オートネットワーク技術研究所 車載コンピュータ、車載通信システム、コンピュータ実行方法及びコンピュータプログラム

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015189968A1 (ja) * 2014-06-12 2015-12-17 株式会社日立製作所 Vm管理システム及びその方法
US20170068558A1 (en) * 2014-06-12 2017-03-09 Hitachi, Ltd. Virtual machine management system and method therefor
JP2017151647A (ja) * 2016-02-23 2017-08-31 キヤノン株式会社 管理システム、制御方法
WO2020208952A1 (ja) * 2019-04-09 2020-10-15 株式会社オートネットワーク技術研究所 車載コンピュータ、コンピュータ実行方法及びコンピュータプログラム
WO2020208954A1 (ja) * 2019-04-09 2020-10-15 株式会社オートネットワーク技術研究所 車載コンピュータ、車載通信システム、コンピュータ実行方法及びコンピュータプログラム
JP2020173560A (ja) * 2019-04-09 2020-10-22 株式会社オートネットワーク技術研究所 車載コンピュータ、コンピュータ実行方法及びコンピュータプログラム
CN113631430A (zh) * 2019-04-09 2021-11-09 株式会社自动网络技术研究所 车载计算机、计算机执行方法及计算机程序
JP7226047B2 (ja) 2019-04-09 2023-02-21 株式会社オートネットワーク技術研究所 車載コンピュータ、コンピュータ実行方法及びコンピュータプログラム
US12001538B2 (en) 2019-04-09 2024-06-04 Autonetworks Technologies, Ltd. On-board computer, computer execution method, and computer program

Similar Documents

Publication Publication Date Title
CN113302584B (zh) 基于云的存储系统的存储管理
CN111868676B (zh) 在基于云的存储系统中服务i/o操作
US11068389B2 (en) Data resiliency with heterogeneous storage
US11972134B2 (en) Resource utilization using normalized input/output (‘I/O’) operations
US20220236904A1 (en) Using data similarity to select segments for garbage collection
US12067032B2 (en) Intervals for data replication
US11886308B2 (en) Dual class of service for unified file and object messaging
US11947814B2 (en) Optimizing resiliency group formation stability
US11782625B2 (en) Heterogeneity supportive resiliency groups
US11614881B2 (en) Calculating storage consumption for distinct client entities
US20240211391A1 (en) Dynamic migration techniques
US11861170B2 (en) Sizing resources for a replication target
US20220147365A1 (en) Accelerating Segment Metadata Head Scans For Storage System Controller Failover
US20220391124A1 (en) Software Lifecycle Management For A Storage System
US20220261170A1 (en) Data migration for zoned drives
US20230080046A1 (en) Online Resize of a Volume of a Distributed Storage System
US20230020268A1 (en) Evaluating Recommended Changes To A Storage System
US20230032590A1 (en) Tier-Specific Data Compression
US20230195444A1 (en) Software Application Deployment Across Clusters
US20230032836A1 (en) Storage System with Blockchain Based Features
US20220358019A1 (en) Initiating Recovery Actions When A Dataset Ceases To Be Synchronously Replicated Across A Set Of Storage Systems
US12001300B2 (en) Assessing protection for storage resources
US20230214246A1 (en) Remediating Vulnerabilities For Application Deployments
JP2013148938A (ja) 情報処理装置及び情報処理システム
US20220091744A1 (en) Optimized Application Agnostic Object Snapshot System