(57)【要約】【課題】復旧処理において機能の喪失を防ぐこと。【解決手段】スナップショット作成部１１が、仮想システム２に対する機能のインストール前、後それぞれにおいて仮想システム２についてのスナップショットを作成する。そして、仮想システム２に問題が発生すると、インストールディレクトリ特定部１５が、インストール前、後のスナップショットの差分に基づいて、問題が発生した機能についてのインストールディレクトリを特定する。そして、仮想システム復元部１４が、仮想システム２についての復旧処理（ロールバック）を行う際に、インストールディレクトリ特定部１５により特定されたインストールディレクトリについて選択的に復旧処理を行う。【選択図】図４
2017142692.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータに、
情報処理装置に対するソフトウェアのインストール前、後それぞれにおいて前記情報処理装置についてのスナップショットを取得し、
インストール前、後のスナップショットの差分に基づいて、前記ソフトウェアについてのインストールディレクトリを特定し、
前記ソフトウェアについての復旧処理を行う際に、特定した前記インストールディレクトリについて選択的に復旧処理を行う、
処理を実行させることを特徴とする復旧処理制御プログラム。
【請求項２】
前記コンピュータに、
前記ソフトウェアのインストール時に内容が書き換えられた他のディレクトリを特定し、
特定した他のディレクトリについても復旧処理を行う
処理をさらに実行させることを特徴とする請求項１に記載の復旧処理制御プログラム。
【請求項３】
前記他のディレクトリを特定する処理は、前記インストールディレクトリの作成時間に基づいて行われる処理であることを特徴とする請求項２に記載の復旧処理制御プログラム。
【請求項４】
コンピュータが、
情報処理装置に対するソフトウェアのインストール前、後それぞれにおいて前記情報処理装置についてのスナップショットを取得し、
インストール前、後のスナップショットの差分に基づいて、前記ソフトウェアについてのインストールディレクトリを特定し、
前記ソフトウェアについての復旧処理を行う際に、特定した前記インストールディレクトリについて選択的に復旧処理を行う、
処理を実行することを特徴とする復旧処理制御方法。
【請求項５】
自装置に対するソフトウェアのインストール前、後それぞれにおいて自装置についてのスナップショットを取得する取得部と、
前記取得部により取得されたインストール前、後のスナップショットの差分に基づいて、前記ソフトウェアについてのインストールディレクトリを特定する特定部と、
前記ソフトウェアについての復旧処理を行う際に、前記特定部により特定された前記インストールディレクトリについて選択的に復旧処理を行う復旧部と、
を有することを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、復旧処理制御プログラム、復旧処理制御方法及び情報処理装置に関する。
【背景技術】
【０００２】
情報処理装置のバックアップに関しては、情報処理装置のスナップショットが定期的に採取され、スナップショットを用いた復旧が行われている。例えば、クラウド環境では、正常時に仮想システム全体のスナップショットが採取され、仮想システムに問題が発生すると、正常時に採取されたスナップショットを利用してスナップショットが採取された状態まで戻すことが行われる。
【０００３】
なお、計算機にインストールしたプログラムを一旦退避して必要時に動的に復元し、利用されないプログラムを退避したままあるいは一定期間経過後に削除することで、計算機上の資源の有効活用を図る技術がある。
【０００４】
また、ソフトウェアの信頼性測定において、マシンへのソフトのインストールに先だって、マシンのソフト状態の第１のスナップショットをキャプチャし、インストール後に、マシンのソフト状態の第２のスナップショットをキャプチャする技術がある。
【０００５】
また、デバイスドライバをインストールする際に、インストールするモジュールセットの名称を、ある一定のルールに従って変更することで、適切なインストールを行う仕組みを提供する技術がある。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平１０−３３３８９１号公報
【特許文献２】特開２０１０−９２４６９号公報
【特許文献３】特開２００４−６２３９７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、スナップショットを用いた全体の復旧には、スナップショット採取後にインストールされた機能がなくなってしまうという問題がある。ここで、「機能」とは、ソフトウェアである。図１１は、スナップショットを用いた復旧の問題を説明するための図である。
【０００８】
図１１に示すように、機能Ａがインストールされた後に全体のスナップショットが採取され、その後で機能Ｂがインストールされたとする。その後、機能Ａに問題が発生すると、採取されたスナップショットを用いて全体が復旧される。すると、採取されたスナップショットには機能Ｂは入っていないため、機能Ｂがなくなってしまう。
【０００９】
本発明は、１つの側面では、復旧対象の機能について絞り込んだ復旧処理を可能にすることで、他の機能の喪失を防ぐことを目的とする。
【課題を解決するための手段】
【００１０】
１つの態様では、復旧処理制御プログラムは、コンピュータに、情報処理装置に対するソフトウェアのインストール前、後それぞれにおいて前記情報処理装置についてのスナップショットを取得する処理を実行させる。また、復旧処理制御プログラムは、コンピュータに、インストール前、後のスナップショットの差分に基づいて、ソフトウェアについてのインストールディレクトリを特定する処理を実行させる。また、復旧処理制御プログラムは、コンピュータに、ソフトウェアについての復旧処理を行う際に、特定したインストールディレクトリについて選択的に復旧処理を行う処理を実行させる。
【発明の効果】
【００１１】
復旧処理において機能の喪失を防ぐことができる。
【図面の簡単な説明】
【００１２】
【図１】図１は、実施例に係るスナップショットの採取を説明するための図である。
【図２】図２は、実施例に係る復旧方法を説明するための図である。
【図３】図３は、別ディレクトリの資産の復旧を説明するための図である。
【図４】図４は、実施例に係るサーバの構成を示す図である。
【図５】図５は、インストールディレクトリ特定部によるインストールディレクトリの特定を説明するための図である。
【図６】図６は、別ディレクトリの資産の特定方法を説明するための図である。
【図７】図７は、復旧に関する処理のフローを示すフローチャートである。
【図８】図８は、復旧資産がインストールディレクトリ資産のみの場合の復旧処理のフローを示すフローチャートである。
【図９】図９は、復旧資産がインストールディレクトリ資産以外の別ディレクトリの資産を含む場合の復旧処理のフローを示すフローチャートである。
【図１０】図１０は、実施例に係る復旧処理制御プログラムを実行するサーバのハードウェア構成を示す図である。
【図１１】図１１は、スナップショットを用いた復旧の問題を説明するための図である。
【発明を実施するための形態】
【００１３】
以下に、本願の開示する復旧処理制御プログラム、復旧処理制御方法及び情報処理装置の実施例を図面に基づいて詳細に説明する。なお、この実施例は開示の技術を限定するものではない。
【実施例】
【００１４】
まず、実施例に係るスナップショットの採取及び復旧方法について説明する。図１は、実施例に係るスナップショットの採取を説明するための図である。図１に示すように、実施例に係るスナップショットの採取では、機能のインストール前後でスナップショットが採取される。
【００１５】
図１では、機能Ａがインストールされる前にスナップショットが採取され（１−１）、機能Ａがインストールされた後にスナップショットが採取される（１−２）。また、機能Ｂがインストールされる前にスナップショットが採取され（２−１）、機能Ｂがインストールされた後にスナップショットが採取される（２−２）。
【００１６】
そして、機能Ａに問題が発生すると、機能Ａのインストール前後のスナップショットを用いて機能Ａの復旧が行われる。図２は、実施例に係る復旧方法を説明するための図である。図２に示すように、機能Ａに問題が発生する（１）。すると、実施例に係る復旧方法では、機能Ａのインストール前後の仮想マシンのスナップショットが比較される（２）。
【００１７】
そして、機能Ａのインストールディレクトリは、機能Ａのインストール前のスナップショットにはなく、機能Ａのインストール後のスナップショットにはあるため、機能Ａのインストールディレクトリが特定される（３）。そして、特定されたインストールディレクトリを用いて機能Ａが復旧される（４）。
【００１８】
このように、実施例に係る復旧では、問題が発生した機能だけが復旧されるため、問題が発生した機能のインストール後にインストールされた他の機能は影響を受けない。したがって、実施例に係る復旧方法は、他の機能の喪失を防ぐことができる。
【００１９】
なお、機能をインストールする場合には、機能のインストールディレクトリが追加されるだけでなく、別ディレクトリの資産が更新される場合もある。ここで、「資産」とは、機能の実行モジュール、機能に関するテキストファイル、設定ファイル等である。例えば、ある機能がインストールされると、設定ファイルが更新される場合がある。
【００２０】
図３は、別ディレクトリの資産の復旧を説明するための図である。図３に示すように、機能をインストールするときに別ディレクトリの資産が更新された場合には、インストールディレクトリの特定と共に別ディレクトリの更新された資産の特定も行われる。そして、インストールディレクトリと別ディレクトリの資産が復旧される。
【００２１】
このように、実施例に係る復旧では、機能をインストールするときに更新された資産も復旧されるため、インストール時に別ディレクトリの資産を更新する機能も復旧することができる。
【００２２】
次に、実施例に係るサーバの機能構成について説明する。図４は、実施例に係るサーバの構成を示す図である。図４に示すように、実施例に係るサーバ１では、仮想システム２と復旧処理制御部１０とが動作する。
【００２３】
仮想システム２は物理的なサーバ１上に構築される仮想的なシステムであり、仮想システム２には、例えば、複数の仮想マシンが含まれる。サーバ１を仮想化することによって、例えば、異なるＯＳが動作する複数の仮想マシンを１台のサーバ１上に実現することができる。各機能は、仮想システム２上で動作する。
【００２４】
復旧処理制御部１０は、スナップショットを用いて機能毎に復旧を行う。復旧処理制御部１０は、スナップショット作成部１１と、スナップショット格納部１２と、仮想システム問題検出部１３と、仮想システム復元部１４と、インストールディレクトリ特定部１５とを有する。
【００２５】
スナップショット作成部１１は、各機能がインストールされる前と後で仮想システム２全体のスナップショットを作成し、スナップショット格納部１２に書き込む。スナップショット格納部１２は、スナップショットを記憶する。
【００２６】
仮想システム問題検出部１３は、仮想システム２で動作する機能に問題が発生すると、問題発生を検出し、問題が発生した機能の情報を仮想システム復元部１４に通知する。
【００２７】
仮想システム復元部１４は、問題が発生した機能をインストールディレクトリ特定部１５により特定されたインストールディレクトリを用いて復元する。インストールディレクトリ特定部１５が別ディレクトリの資産も特定した場合には、仮想システム復元部１４は、別ディレクトリの資産も復元する。
【００２８】
インストールディレクトリ特定部１５は、問題が発生した機能のインストール前後のスナップショットをスナップショット格納部１２から読み出し、比較する。そして、インストールディレクトリ特定部１５は、問題が発生した機能のインストール前後のスナップショット間で違いがある箇所を見つけ、問題が発生した機能のインストールディレクトリを特定し、配下の資産と共に仮想システム復元部１４に通知する。
【００２９】
図５は、インストールディレクトリ特定部１５によるインストールディレクトリの特定を説明するための図である。図５に示すように、機能Ａがインストールされる前のスナップショットには、機能Ａがインストールされた後のスナップショットにあるデレクトリ「ＳＯＦＴＷＡＲＥ−Ａ」及びその配下の「ａ．ｅｘｅ」と「ｃｏｎｆ．ｔｘｔ」がない。ここで、「ＳＯＦＴＷＡＲＥ−Ａ」は、機能Ａのインストールディレクトリである。
【００３０】
したがって、インストールディレクトリ特定部１５は、機能Ａがインストールされる前後のスナップショットを比較することによって、機能Ａのインストールディレクトリ「ＳＯＦＴＷＡＲＥ−Ａ」を特定することができる。また、インストールディレクトリ特定部１５は、機能Ａのインストールディレクトリ「ＳＯＦＴＷＡＲＥ−Ａ」の配下の資産「ａ．ｅｘｅ」及び「ｃｏｎｆ．ｔｘｔ」を特定することができる。
【００３１】
なお、機能のインストール時に別ディレクトリの資産が更新された場合には、インストールディレクトリ特定部１５は、別ディレクトリの更新された資産も特定する。図６は、別ディレクトリの資産の特定方法を説明するための図である。
【００３２】
図６に示すように、インストールディレクトリ特定部１５は、機能Ａがインストールされる前後のスナップショットを比較することによって、機能Ａのインストールディレクトリを特定する（１）。そして、インストールディレクトリ特定部１５は、機能Ａがインストールされた後のスナップショットから、機能Ａのインストールディレクトリの作成時間を抽出する（２）。
【００３３】
図６では、機能Ａのインストールディレクトリの作成時間は、「ｙｙｙｙ／ｍｍ／ｄｄ  ｈｈ：ｍｍ」で表される。ここで、「ｙｙｙｙ」は西暦年を表し、「ｍｍ」は月を表し、「ｄｄ」は日を表し、「ｈｈ」は時間を表し、「ｍｍ」は分を表す。
【００３４】
そして、インストールディレクトリ特定部１５は、機能Ａがインストールされた後のスナップショットから、更新時刻が同じ「ｙｙｙｙ／ｍｍ／ｄｄ  ｈｈ：ｍｍ」である別ディレクトリの資産を探索する（３）。
【００３５】
そして、インストールディレクトリ特定部１５は、更新時刻が同じ「ｙｙｙｙ／ｍｍ／ｄｄ  ｈｈ：ｍｍ」である別ディレクトリの資産を、機能Ａが使用する別ディレクトリの資産として特定する（４）。なお、インストールディレクトリ特定部１５は、機能Ａが使用する別ディレクトリの資産を複数個特定することもある。
【００３６】
次に、復旧に関する処理のフローについて説明する。図７は、復旧に関する処理のフローを示すフローチャートである。図７に示すように、スナップショット作成部１１が、機能のインストール前後に仮想システム２全体のスナップショットを作成する（ステップＳ１）。
【００３７】
そして、仮想システム問題検出部１３が、仮想システム２が正常運用しているか否かを判定し（ステップＳ２）、正常運用している場合には、仮想システム２は、運用を継続し（ステップＳ３）、処理は、ステップＳ１に戻る。
【００３８】
一方、仮想システム２が正常運用していない場合には、インストールディレクトリ特定部１５が、問題が発生した機能のインストール前後のスナップショットを比較し（ステップＳ４）、問題が発生した機能のインストールディレクトリを特定する。
【００３９】
そして、インストールディレクトリ特定部１５は、問題が発生した機能のインストールディレクトリのみ復旧が必要か否かを判定する（ステップＳ５）。その結果、問題が発生した機能のインストールディレクトリのみ復旧が必要である場合には、仮想システム復元部１４が、問題が発生した機能のインストール後のスナップショットに基づいて仮想システム２を復旧する（ステップＳ６）。すなわち、機能単位の復旧が行われる。そして、処理は、ステップＳ３に移動する。
【００４０】
一方、問題が発生した機能のインストールディレクトリ以外にも復旧が必要である場合には、仮想システム復元部１４は、別ディレクトリの資産も含めて復旧し（ステップＳ７）、処理は、ステップＳ３に移動する。
【００４１】
このように、インストールディレクトリ特定部１５が、問題が発生した機能のインストールディレクトリのみ復旧が必要か否かを判定することで、復旧処理制御部１０は、仮想システム２の復元を適切に行うことができる。
【００４２】
次に、復旧資産がインストールディレクトリ資産のみの場合の復旧処理のフローについて説明する。ここで、「インストールディレクトリ資産」とは、インストールディレクトリの配下にある資産である。
【００４３】
図８は、復旧資産がインストールディレクトリ資産のみの場合の復旧処理のフローを示すフローチャートである。なお、図８に示す処理は、図７に示したステップＳ４とステップＳ６の処理に対応する。
【００４４】
図８に示すように、インストールディレクトリ特定部１５が、スナップショット比較から機能Ａのインストールディレクトリを特定する（ステップＳ１１）。ここで、機能Ａは、問題が発生した機能である。
【００４５】
そして、インストールディレクトリ特定部１５は、機能Ａのインストール後のスナップショットから機能Ａのインストールディレクトリ資産を取得する（ステップＳ１２）。そして、仮想システム復元部１４が、問題が発生した仮想システム２に、機能Ａのインストールディレクトリ資産を反映して機能Ａを復旧する（ステップＳ１３）。
【００４６】
このように、インストールディレクトリ特定部１５が、問題が発生した機能のインストール前後のスナップショットを比較し、問題が発生した機能のインストールディレクトリを特定することで、復旧処理制御部１０は、問題が発生した機能だけを復旧できる。
【００４７】
次に、復旧資産がインストールディレクトリ資産以外の別ディレクトリの資産を含む場合の復旧処理のフローについて説明する。図９は、復旧資産がインストールディレクトリ資産以外の別ディレクトリの資産を含む場合の復旧処理のフローを示すフローチャートである。なお、図９に示す処理は、図７に示したステップＳ４とステップＳ７の処理に対応する。
【００４８】
図９に示すように、インストールディレクトリ特定部１５が、スナップショット比較から機能Ａのインストールディレクトリを特定すると共に、機能Ａのインストールディレクトリの作成日時を抽出する（ステップＳ２１）。ここで、機能Ａは、問題が発生した機能である。
【００４９】
そして、インストールディレクトリ特定部１５は、抽出した作成日時を用いて別ディレクトリの資産を検索し、機能Ａのインストール時に別ディレクトリにおいて更新された資産を特定する（ステップＳ２２）。
【００５０】
そして、インストールディレクトリ特定部１５は、機能Ａのインストール後のスナップショットから、機能Ａのインストールディレクトリ資産と、機能Ａのインストール時に別ディレクトリにおいて更新された資産を取得する（ステップＳ２３）。
【００５１】
そして、仮想システム復元部１４が、問題が発生した仮想システム２に、機能Ａのインストールディレクトリ資産と、機能Ａのインストール時に別ディレクトリにおいて更新された資産を反映して機能Ａを復旧する（ステップＳ２４）。
【００５２】
このように、インストールディレクトリ特定部１５が、問題が発生した機能のインストール時に別ディレクトリにおいて更新された資産を特定することで、復旧処理制御部１０は、問題が発生した機能を適切に復旧できる。
【００５３】
上述してきたように、実施例では、スナップショット作成部１１が、仮想システム２に対する機能のインストール前、後それぞれにおいて仮想システム２についてのスナップショットを作成する。そして、仮想システム２に問題が発生すると、インストールディレクトリ特定部１５が、インストール前、後のスナップショットの差分に基づいて、問題が発生した機能についてのインストールディレクトリを特定する。そして、仮想システム復元部１４が、仮想システム２についての復旧処理（ロールバック）を行う際に、インストールディレクトリ特定部１５により特定されたインストールディレクトリについて選択的に復旧処理を行う。
【００５４】
したがって、復旧処理制御部１０は、復旧対象の機能について絞り込んだ復旧処理を行うことができ、問題が発生した機能のインストール後にインストールされた他の機能の喪失を防ぐことができる。
【００５５】
また、実施例では、インストールディレクトリ特定部１５は、問題が発生した機能のインストール時に内容が書き換えられた他のディレクトリを特定する。そして、仮想システム復元部１４は、インストールディレクトリ特定部１５により特定された他のディレクトリについても復旧処理を行う。したがって、復旧処理制御部１０は、問題が発生した機能を適切に復旧することができる。
【００５６】
また、実施例では、インストールディレクトリ特定部１５は、問題が発生した機能のインストール時に内容が書き換えられた他のディレクトリを、問題が発生した機能のインストールディレクトリの作成時間に基づいて行う。したがって、復旧処理制御部１０は、問題が発生した機能のインストール時に内容が書き換えられた他のディレクトリを正確に特定することができる。
【００５７】
なお、実施例では、復旧処理制御部１０について説明したが、復旧処理制御部１０はソフトウェアによって実現される。そこで、復旧処理制御部１０を実現する復旧処理制御プログラムを実行するサーバ１のハードウェア構成について説明する。
【００５８】
図１０は、実施例に係る復旧処理制御プログラムを実行するサーバ１のハードウェア構成を示す図である。図１０に示すように、サーバ１は、メインメモリ５１と、ＣＰＵ５２と、ＬＡＮ（Local  Area  Network）インタフェース５３と、ＨＤＤ（Hard  Disk  Drive）５４とを有する。また、サーバ１は、スーパーＩＯ（Input  Output）５５と、ＤＶＩ（Digital  Visual  Interface）５６と、ＯＤＤ（Optical  Disk  Drive）５７とを有する。
【００５９】
メインメモリ５１は、プログラムやプログラムの実行途中結果などを記憶するメモリである。ＣＰＵ５２は、メインメモリ５１からプログラムを読出して実行する中央処理装置である。ＣＰＵ５２は、メモリコントローラを有するチップセットを含む。
【００６０】
ＬＡＮインタフェース５３は、サーバ１をＬＡＮ経由で他のコンピュータに接続するためのインタフェースである。ＨＤＤ５４は、プログラムやデータを格納するディスク装置であり、スーパーＩＯ５５は、マウスやキーボードなどの入力装置を接続するためのインタフェースである。ＤＶＩ５６は、液晶表示装置を接続するインタフェースであり、ＯＤＤ５７は、ＤＶＤの読み書きを行う装置である。
【００６１】
ＬＡＮインタフェース５３は、ＰＣＩエクスプレス（ＰＣＩｅ）によりＣＰＵ５２に接続され、ＨＤＤ５４及びＯＤＤ５７は、ＳＡＴＡ（Serial  Advanced  Technology  Attachment）によりＣＰＵ５２に接続される。スーパーＩＯ５５は、ＬＰＣ（Low  Pin  Count）によりＣＰＵ５２に接続される。
【００６２】
そして、サーバ１において実行される復旧処理制御プログラムは、ＤＶＤに記憶され、ＯＤＤ５７によってＤＶＤから読出されてサーバ１にインストールされる。あるいは、復旧処理制御プログラムは、ＬＡＮインタフェース５３を介して接続された他のコンピュータシステムのデータベースなどに記憶され、これらのデータベースから読出されてサーバ１にインストールされる。そして、インストールされた復旧処理制御プログラムは、ＨＤＤ５４に記憶され、メインメモリ５１に読出されてＣＰＵ５２によって実行される。
【符号の説明】
【００６３】
１    サーバ
２    仮想システム
１０    復旧処理制御部
１１    スナップショット作成部
１２    スナップショット格納部
１３    仮想システム問題検出部
１４    仮想システム復元部
１５    インストールディレクトリ特定部
５１    メインメモリ
５２    ＣＰＵ
５３    ＬＡＮインタフェース
５４    ＨＤＤ
５５    スーパーＩＯ
５６    ＤＶＩ
５７    ＯＤＤ
【図１】
2017142692.tif 000003
【図２】
2017142692.tif 000004
【図３】
2017142692.tif 000005
【図４】
2017142692.tif 000006
【図５】
2017142692.tif 000007
【図６】
2017142692.tif 000008
【図７】
2017142692.tif 000009
【図８】
2017142692.tif 000010
【図９】
2017142692.tif 000011
【図１０】
2017142692.tif 000012
【図１１】
2017142692.tif 000013