本発明の実施の形態について図面を参照しながら説明する。本発明の実施の形態に係る情報処理システム1は、図1に例示するように、情報処理装置10と、ディスクデバイス装置20とを含んで構成されている。
情報処理装置10は、一般的なパーソナルコンピュータ等であり、ウィンドウズ(登録商標)等のオペレーティングシステムソフトウエア(OS)を実行し、また当該OSの管理下で種々のアプリケーションプログラムを実行する。またこの情報処理装置10は、USB(Universal Serial Bus)ポート等を備え、このUSBポートを介してディスクデバイス装置20に接続されている。このとき情報処理装置10は、ディスクデバイスを管理するコントローラに固有の識別情報(USB PIDや、デバイスID、ベンダID、製品名(ベンダやユーザによって任意に設定された文字列)のそれぞれや、これらの(それぞれの一部分であってもよい)任意の組み合わせを、所定の順で連接したものなど、コントローラを一意に特定できれば内容は問わない)を取得しておく。
さらに情報処理装置10には、マウスやキーボード等の入力デバイスや、ネットワークインタフェース等の通信手段が接続されていてもよい。また本実施の形態の例では、この情報処理装置10はディスクデバイス装置20とは別のディスクデバイスを内部に備えており、通常はこのディスクデバイス(内蔵ディスクデバイスと呼ぶ)に格納されているオペレーティングシステムを用いて起動し、この内蔵ディスクデバイス等に格納されているアプリケーションプログラムを実行しているものとする。また、アプリケーションプログラム等を用いて生成されるファイル(文書を保持するファイル等)も、この内蔵ディスクデバイスに格納されてもよい。
ディスクデバイス装置20は、コントローラ21と、ディスクデバイス部22とを含んで構成されている。ここでコントローラ21は、マイクロコンピュータ等のプログラム制御デバイスであり、内蔵する不揮発性のメモリ(ROM等)に格納されたプログラムに従って動作する。本実施の形態の一例では、このコントローラ21は、情報処理装置10から入力される指示に従い、ディスクデバイス部22からのデータの読み出しや、ディスクデバイス部22へのデータの書き込みの処理を実行する。このコントローラ21の詳しい動作は後に説明する。
ディスクデバイス部22は、ハードディスクドライブやSSD(Solid State Disk)ドライブ等であり、本実施の形態においては図2に例示するように、ブートプログラム等、情報処理装置10の起動に必要となるソフトウェアを保持するブートセクタ(図2の例では、MBR:Master Boot Recordとしている)を格納した部分と、ユーザデータを格納するユーザエリアを格納した部分(A)とを含む。
また本実施の形態では、このユーザエリアに、バックアップデータに基づいてディスクデバイスの記録内容を復元する復元ツール(このディスクデバイス装置20に係る復元ツールであり、以下、一般的な復元ツールと区別するため、特定復元ツールと呼ぶ)を格納したディスクのイメージを保持する第1のファイル(F1)が格納されている。またこのユーザエリアには、バックアップデータを格納したディスクのイメージを保持する第2のファイル(F2)や、その他の複数のファイル(FU1,FU2…)が格納される。
ここで、ディスクのイメージは、仮想的なディスクデバイスのフォーマットを記録したファイルであり、例えばVHD(Virtual Hard Disk)フォーマットのファイルである。
また特定復元ツールは、この特定復元ツールがコンピュータにより実行されると、当該コンピュータ(情報処理装置10等)に、第2のファイルF2の内容である仮想的な第2のディスクデバイスからバックアップデータを読み出させ、所定のディスクデバイスに当該読み出したバックアップデータを書き込む復元処理を実行させる。
次にコントローラ21の動作について説明する。本実施の形態ではコントローラ21は、ディスクデバイス部22に含まれるハードディスクドライブ等に論理ユニット番号(LUN)を付与して管理する。
コントローラ21は、情報処理装置10から接続されているディスクのLUNの一覧の要求を受けて、管理しているLUNの一覧を、情報処理装置10へ出力する。
そしてコントローラ21は、情報処理装置10から、LUNとともに、書き込むべきデータ(書き込み対象データ)と、当該データを書き込む位置(セクタ)を特定する位置情報との入力を受けると、当該LUNで特定されるディスク上の、上記位置情報で特定されるセクタに、書き込み対象データを書き込む動作を行う。
またコントローラ21は、情報処理装置10から、LUNとともに、読み出すべきデータが記録されている位置(セクタ)を特定する位置情報の入力を受けると、当該LUNで特定されるディスク上の、上記位置情報で特定されるセクタに書き込まれているデータを読み出して、情報処理装置10に対して、当該読み出したデータを出力する動作を行う。
本実施の形態において特徴的なことの一つは、このコントローラ21が、ディスクデバイス部22に含まれるハードディスクドライブ等だけでなく、当該ハードディスクドライブ等に記録されている、特定のディスクイメージ(本実施の形態の例では、第1のファイルF1として記録されている復元ツールを格納したディスクイメージと、第2のファイルF2として記録されているバックアップデータを格納したディスクイメージ(存在する場合)と)に対して、それぞれ互いに異なるLUNを割り当てて管理することである。
ここではディスクデバイス部22に含まれるハードディスクドライブ(物理的に存在するディスクドライブ)には予め定めたLUN(例えばLUN=0)を割り当て、第1のファイルF1に記録されているディスクイメージをマウントさせるときの仮想的なディスクデバイス(仮想的な第1のディスクデバイス)及び、第2のファイルF2に記録されているディスクイメージをマウントさせるときの仮想的なディスクデバイス(仮想的な第2のディスクデバイス)にもそれぞれ予め定められたLUNを割り当てる。例えば、コントローラ21は、仮想的な第1のディスクデバイスのLUNを、LUN=1、仮想的な第2のディスクデバイスのLUNを、LUN=2とする。
このようにすると、複数のパーティションを設定してそれぞれに復元ツールやバックアップデータを格納する場合に比べ、予め各パーティションのサイズを決定しておく必要がなく、例えばバックアップデータがそれほど大きくないためにバックアップデータを格納したパーティションの領域が残存しているのに、他の目的に利用できないなどといったことがなく、ディスク容量の全体を効率的に利用可能となる。
そしてコントローラ21は、LUNを割り当てて管理するディスクイメージを、仮想的なディスクデバイスとして情報処理装置10に対して認識させるように動作する。つまり、コントローラ21は、第1のファイルF1として保持されるディスクイメージに基づく仮想的な第1のディスクデバイスへのアクセス要求を情報処理装置10から受け入れると、当該仮想的な第1のディスクデバイス内のファイルへのアクセスを処理する。
具体的にコントローラ21は、当該ディスクイメージに対して割り当てたLUNとともに、読み出すべきデータが記録されている位置(セクタ)を特定する位置情報の入力を受けると、当該LUNで特定される仮想的な第1のディスクデバイス上、実際には対応するディスクイメージにおける、上記位置情報で特定されるセクタに書き込まれているデータを読み出して、情報処理装置10に対して、当該読み出したデータを出力する動作を行う。
同様に、コントローラ21は、このディスクイメージに対して割り当てたLUNとともに、書き込むべきデータ(書き込み対象データ)と、当該データを書き込む位置(セクタ)を特定する位置情報との入力を受けると、当該LUNで特定される仮想的な第1のディスクデバイス上、実際には対応するディスクイメージにおける、上記位置情報で特定されるセクタに、書き込み対象データを書き込む動作を行う。
これによりコントローラ21は、情報処理装置10が第1のファイルF1に保持されているディスクイメージ内の復元ツールを読み出し可能とする。
またコントローラ21は、第2のファイルF2に対しても同様に、第2のファイルに保持されるディスクイメージに基づく仮想的な第2のディスクデバイスへのアクセス要求を情報処理装置10から受け入れると、当該仮想的な第2のディスクデバイス内のファイルへのアクセスを処理する。この仮想的な第2のディスクデバイスに対するアクセスの処理も仮想的な第1のディスクデバイスに対するものと同様であるので、繰り返しての説明を省略する。
このコントローラ21の動作のため、情報処理装置10は、ディスクデバイス部22に含まれるハードディスクドライブ等と、当該ハードディスクドライブ等に格納されている上記特定のディスクイメージとを、それぞれ異なるディスクデバイス(互いに異なるLUNを有するディスクデバイス)として認識し、読み出しや書き込みの動作を行うこととなる。なお、ここでディスクデバイス部22に含まれるハードディスクドライブ等と、当該ハードディスクドライブ等に格納されている上記特定のディスクイメージとはいずれも同じコントローラ21により管理されるので、これらには少なくとも一部が共通の識別情報(USB PIDやベンダやユーザが設定した装置名等)が設定される。
ここで、特定復元ツールを格納しているディスクデバイスの識別情報Pと、共通の識別情報を有するか否かを確認しようとするディスクデバイスの識別情報Qとの少なくとも一部が共通であるとは、上記識別情報Pと識別情報Qとが次の条件:
(1)P,QがそれぞれN個(NはN≧2の整数)ある(複数の識別情報Pのそれぞれをp1,p2,…と書き、複数の識別情報Qのそれぞれをq1,q2,…と書く)場合に、そのうちn個(nはn≦Nなる整数)の識別情報が完全一致すること、つまり、互いに対応する識別情報が完全一致すること:p1=q1,p2=q2,…pn=qnとなること、
または(2)それぞれ1つ以上の識別情報P,Qを用いる場合に、識別情報同士が完全一致ないし部分一致すること、つまり、互いに対応する識別情報が完全一致ないし部分一致すること、
あるいは(3)上記(1),(2)の条件の組み合わせ(n個の識別情報のそれぞれ対応する識別情報同士が完全一致ないし部分一致する)こと、
のいずれかを満足することを意味する。
例えば、ディスクデバイス装置20が、LUN=0のディスクデバイスの名称(ボリュームラベル)を「HDDX-LUN0」、LUN=1が設定されるディスクイメージに係るディスクデバイスの名称を「HDDX-LUN1」、LUN=2が設定されるディスクイメージに係るディスクデバイスの名称を「HDDX-LUN2」としておくと、上記(2)の条件を利用する情報処理装置10は、これらが「HDDX-LUN」の部分で部分一致するので、これらのディスクデバイスが互いに(少なくとも一部が)共通の識別情報を有すると判断する。
次に、このディスクデバイス装置20に接続された情報処理装置10の動作について説明する。既に述べたように、情報処理装置10は、一般的なパーソナルコンピュータとしての動作を行う。この情報処理装置10は、起動時、あるいはディスクデバイスのマウントの指示があったときなどの所定のタイミングで、USBポート等を介して接続されたディスクデバイス装置20等に対して、ディスクのLUNの一覧を要求する。そしてディスクデバイス装置20等から入力される、上記要求に対する応答を受け入れて、当該応答に含まれる一覧に含まるLUNで識別されるディスクをマウントする(オペレーティングシステムからディスクに格納されているデータへのアクセス要求が可能な状態とする)。
また本実施の形態の情報処理装置10は、ディスクデバイス装置20に関係して提供され、内蔵ディスクドライブ等にインストールされるバックアップツールソフトウエア(以下、一般的なバックアップツールと区別するため、特定バックアップツールと呼ぶ)をユーザの指示により実行して、バックアップの処理を実行する。
この特定バックアップツールを実行する情報処理装置10は、機能的には、図3に例示するように、バックアップ先検出部31と、バックアップ処理部32とを含んで構成される。
バックアップ先検出部31は、バックアップのデータを記録するディスクを決定する。本実施の形態の一例においてこのバックアップ先検出部31は、特定復元ツールを格納したディスクデバイスのディスクイメージを保持する第1のファイルと同じ(物理的な)ディスクデバイスを、バックアップのデータを記録するディスクデバイスとして決定する。
この例では、バックアップ先検出部31は、マウントしている各ディスクを管理するディスクデバイス装置20の識別情報(USB PIDやデバイスIDなど)を取得し、またマウントしている各ディスクデバイスのLUNを取得する。
そしてバックアップ先検出部31は、マウントしているディスクデバイスのうちに、特定復元ツールを格納したものがあるかを調べる。具体的にバックアップ先検出部31は、マウントしているディスクデバイスのうち、予め定めた装置名あるいはベンダIDのディスクデバイスがあれば、当該ディスクデバイスから順に特定復元ツールが格納されているか否かを調べてもよい。また、当該予め定めた装置名あるいはベンダIDのディスクデバイスについてのみ、特定復元ツールが格納されているか否かを調べてもよい。ここでマウントしているディスクデバイスのうちに、特定復元ツールを格納したものがなければ、バックアップ先検出部31は、エラーを報知して特定バックアップツールの処理を終了してもよい。
また、マウントしているディスクデバイスのうちに、特定復元ツールを格納したものが一つ見いだされると、バックアップ先検出部31は、当該見いだした、特定復元ツールを格納したディスクデバイスの識別情報とLUNとを取得する。ここで取得した特定復元ツールを格納したディスクデバイスの識別情報を、以下、対象識別情報と呼ぶ。
なお、バックアップ先検出部31は、特定復元ツールを格納しているディスクデバイスが複数見いだされた場合には、ユーザに当該見いだしたディスクデバイスの一覧を提示し、そのうち一つを選択させて、当該選択された特定復元ツールを格納したディスクデバイスの識別情報とLUNとを取得することとすればよい。
さらにバックアップ先検出部31は、マウントしているディスクデバイスのうちに、当該ディスクデバイスの識別情報が、対象識別情報に一致するもの(つまり同じコントローラ21により管理されているディスクデバイス)であって、過去に行ったバックアップのデータを格納したものがあるかを調べる。
ここでマウントしているディスクのうちに、当該条件を満足するものがあれば、バックアップ先検出部31は、当該条件を満足するディスク(識別情報とLUNとで識別される)を、バックアップ先として決定する。
また、バックアップ先検出部31は、マウントしているディスクのうちに、上記条件を満足するものがなければ、対象識別情報が設定され、特定のLUN(物理的に存在するハードディスクドライブ等に割り当てられるLUN、例えばLUN=0)で特定されるディスクデバイス内に、バックアップの対象となるディスクデバイス(内蔵ディスクデバイスに含まれるディスクデバイス)と同じサイズのディスクイメージのファイル(第2のファイルF2となる)を初期化して生成する。またこの第2のファイルF2に係る仮想的なディスクデバイス(仮想的な第2のディスクデバイスとなる)をマウントさせるため、ディスクデバイス装置20に対してLUNの一覧を要求する等の処理を実行する。
そしてマウントされた、仮想的な第2のディスクデバイスを、バックアップ先として決定する。
また本実施の形態の別の例では、バックアップ先検出部31は、予め定めた製品名の(物理的な)ディスクデバイスを、バックアップのデータを記録するディスクデバイスとして決定してもよい。
この例では、バックアップ先検出部31は、マウントしている各ディスクを管理するディスクデバイス装置20の識別情報(USB PIDやデバイスIDなど)を取得し、またマウントしている各ディスクデバイスのLUNを取得する。
そしてバックアップ先検出部31は、マウントしているディスクデバイスのうちに、予め定めた装置名の条件に合致する(予め定めた装置名のパターン(例えば正規表現等で表される)に合致する、あるいは、予め定めた装置名に完全一致する)装置名のディスクデバイスがあるか否かを調べる。
ここでマウントしているディスクデバイスのうちに、その装置名が、予め定めた装置名の条件に合致するものがなければ、バックアップ先検出部31は、エラーを報知して特定バックアップツールの処理を終了してもよい。
また、マウントしているディスクデバイスのうちに、その装置名が、予め定めた装置名の条件に合致するものが一つ見いだされると、バックアップ先検出部31は、当該見いだしたディスクデバイスの識別情報(対象識別情報)とLUNとを取得する。
なお、バックアップ先検出部31は、装置名が、予め定めた装置名の条件に合致するディスクデバイスが複数見いだされた場合には、ユーザに当該見いだしたディスクデバイスの一覧を提示し、そのうち一つを選択させて、当該選択されたディスクデバイスの識別情報とLUNとを取得することとすればよい。
さらにバックアップ先検出部31は、マウントしているディスクデバイスのうちに、当該ディスクデバイスの識別情報が、対象識別情報に一致するもの(つまり同じコントローラ21により管理されているディスクデバイス)であって、過去に行ったバックアップのデータを格納したものがあるかを調べる。ここでマウントしているディスクのうちに、当該条件(過去に行ったバックアップのデータを格納しているとの条件)を満足するものがあれば、バックアップ先検出部31は、当該条件を満足するディスク(識別情報とLUNとで識別される)を、バックアップ先として決定する。
また、バックアップ先検出部31は、マウントしているディスクのうちに、上記条件(過去に行ったバックアップのデータを格納しているとの条件)を満足するものがなければ、対象識別情報が設定され、特定のLUN(物理的に存在するハードディスクドライブ等に割り当てられるLUN、例えばLUN=0)で特定されるディスクデバイス(以下、候補デバイスと呼ぶ)内に、特定復元ツールと、特定復元ツールを実行させるための、起動可能なオペレーティングシステムとを格納したディスクイメージを記録したファイル(第1のファイルF1に相当する)があるか否かを調べ、当該ファイル(第1のファイルF1)がない場合は、第1のファイルF1を候補デバイス内に作成する。
この第1のファイルF1の作成は、例えば予め定めたURLからディスクイメージのファイルをダウンロードして候補デバイスに格納するといった、広く知られた方法で実現できる。
なお、候補デバイス内に、第1のファイルF1が既に存在するならば、新たに第1のファイルF1を作成する処理は実行する必要はない。
そしてバックアップ先検出部31は、バックアップの対象となるディスクデバイス(内蔵ディスクデバイスに含まれるディスクデバイス)と同じサイズのディスクイメージのファイル(第2のファイルF2となる)を初期化して、この候補デバイス内に生成する。またこの第2のファイルF2に係る仮想的なディスクデバイス(仮想的な第2のディスクデバイスとなる)をマウントさせるため、ディスクデバイス装置20に対してLUNの一覧を要求する等の処理を実行する。
そしてバックアップ先検出部31は、マウントされた、仮想的な第2のディスクデバイスを、バックアップ先として決定する。
バックアップ処理部32は、バックアップ先検出部31から新規バックアップの作成が指示されると、バックアップ先検出部31がバックアップ先として決定したディスクデバイスに対して、バックアップの対象となるディスクデバイスのディスクイメージを複写する。このディスクイメージの生成処理は広く知られているので、ここでの詳しい説明を省略する。このときバックアップ処理部32は、バックアップの対象となったディスクデバイスを特定する情報として、例えばドライブ名や内蔵ディスクデバイスのUSBシリアルナンバーを併せてディスクデバイス装置20内のディスクデバイス(物理的に存在するハードディスクドライブであっても、仮想的な第1のディスクデバイスであってもよい)に記録しておく。
またこのバックアップ処理部32は、バックアップ先が、バックアップ先検出部31が新規に生成したディスクイメージではなく、既に過去に行われたバックアップの内容を保持するものである場合、追加的なバックアップ(いわゆる増分バックアップ、差分バックアップ等ともいう。)を実行してもよい。
さらに情報処理装置10は、特定バックアップツールの処理の一つとして、特定復元ツールを含んだ第1のファイルF1を生成して、ディスクデバイス装置20のハードディスク等に格納してもよい。
また情報処理装置10は、ユーザの指示により、仮想的な第1のディスクデバイスに格納されている特定復元ツールを実行する。このとき情報処理装置10は、バックアップされているディスクデバイスが内蔵ディスクデバイス(通常の状態でオペレーティングシステムの起動に利用しているディスクデバイス)であるときには、内蔵ディスクデバイス以外のディスクデバイスに格納されているオペレーティングシステムを利用して起動をし直す必要がある。
そこで、本実施の形態の一例では、情報処理装置10を起動し、特定復元ツールを実行させるためのオペレーティングシステムが、特定復元ツールとともに、第1のファイルF1内のディスクイメージに格納されているものとする。またこの第1のファイルF1内のディスクイメージには、ブートセクタが含まれているものとする。このような復元の目的で構成されたオペレーティングシステムとしては、例えばマイクロソフト社が提供するウィンドウズ(登録商標)PE等があり、広く知られているので、その詳しい説明は省略する。
この特定復元ツールを実行する情報処理装置10は、機能的には図4に例示するように、バックアップ特定部41と、復元先特定部42と、復元先検査部43と、復元処理部44とを含んで構成される。
ここでバックアップ特定部41は、起動した特定復元ツールを格納しているディスクデバイス(ここでは仮想的な第1のディスクデバイス)の識別情報とLUN(ここでの例ではLUN=1となる)とを取得する。バックアップ特定部41は、そして、当該取得した識別情報と、バックアップされたデータを保持しているディスクデバイスのLUN(ここでの例ではLUN=2)とで識別されるディスクデバイス(仮想的な第2のディスクデバイス)のマウントを試みる(既にマウントされている場合はそのままでよい)。
バックアップ特定部41は、仮想的な第2のディスクデバイスのマウントができた場合には、当該仮想的な第2のディスクデバイスを、復元元のディスクデバイス(ここで復元元のディスクデバイスとは、復元に用いるバックアップデータを保持するディスクデバイスをいう)として特定する。なお、バックアップ特定部41は、仮想的な第2のディスクデバイスのマウントができなかった場合(そもそもバックアップが行われていない場合や、第2のファイルF2が破損している等の場合)は、エラーを報知して復元の処理を中断する。
復元先特定部42は、バックアップ特定部41により復元元のディスクデバイスが特定されたときに、復元先となるディスクデバイス(ここで復元先となるディスクデバイスとは、バックアップデータが書き戻され、バックアップデータから復元されるディスクデバイスをいう)を特定する。この復元先となる(バックアップデータの書き込み先となる)ディスクデバイスは、情報処理装置10に接続されているディスクデバイスのうちから選択される。例えば、この特定復元ツールが実行された時点で情報処理装置10に接続されているディスクデバイスから選択されてもよい。一例として、情報処理装置10は、この復元先特定部42の処理として、内蔵ディスクデバイスのうちから復元先となるディスクデバイスを特定することとしてもよい。
本実施の形態のある例ではこの復元先特定部42は、特定バックアップツールによりディスクデバイス装置20内に記録された、バックアップの対象となったディスクデバイスを特定する情報(ドライブ名や内蔵ディスクデバイスの製品シリアルナンバー)を読み出す。
そして復元先特定部42は、当該情報で特定される内蔵ディスクデバイスがあるか否かを調べる。ここで当該情報で特定される内蔵ディスクデバイスが見いだされると、復元先特定部42は、当該見いだした内蔵ディスクデバイスを復元先となるディスクデバイスとして設定する。
一方、復元先特定部42は、読み出した情報で特定される内蔵ディスクデバイスが見いだされなかったときには、内蔵ディスクデバイスを列挙し、その数をカウントする。復元先特定部42は、カウントした結果、内蔵ディスクデバイスが「0」である(内蔵ディスクデバイスが存在しない)ときには、エラーを報知して復元の処理を中断する。
またこのカウントの結果、内蔵ディスクデバイスの数が「2」以上である(内蔵ディスクデバイスが複数あった)ときには、復元先特定部42は、内蔵ディスクデバイスの一覧を生成してユーザに提示し、そのうち一つの選択を求める。
復元先特定部42は、上記カウントの結果、内蔵ディスクデバイスの数が「1」である場合、あるいは、複数の内蔵ディスクデバイスがあるときにユーザが一つの内蔵ディスクデバイスを選択した場合は、当該一つの内蔵ディスクデバイス(ユーザが選択したときには、当該選択した内蔵ディスクデバイス)を、復元先となるディスクデバイスとして設定する。
復元先検査部43は、復元先特定部42により復元先となるディスクデバイスとして設定されたディスクデバイスの空き容量(内部のデータを全て消去した後で記録可能な総空き容量)を調べ、当該総空き容量が、バックアップ特定部41により特定された復元元のディスクデバイスの内容を復元するのに十分であるか否かを調べる。ここで復元するのに十分な容量であるか否かの条件は、復元元のディスクデバイスに格納されているデータの総容量以上であるとの条件であってもよいし、復元元のディスクデバイスの総容量以上であるとの条件であってもよい。前者の条件であれば、データを複写して復元することが可能となる。また後者であれば、データの複写だけでなくセクタコピーを行う(復元元のディスクデバイスの各セクタ内のデータを、復元先となるディスクデバイスの対応するセクタへ複写する)ことも可能となる。
復元先となるディスクデバイスが上記条件を満足し、復元元のディスクデバイスの内容を復元するのに十分な容量を有していると判断したときには、復元先検査部43は、復元処理部44に対して復元処理を開始するよう指示する。
また、復元先となるディスクデバイスが上記条件を満足せず、復元元のディスクデバイスの内容を復元するのに十分な容量を有していないと判断したときには、復元先検査部43は、エラーを報知して復元の処理を中断する。
復元処理部44は、復元先検査部43から復元処理を開始するよう指示されると、復元元のディスクデバイスとして設定されたディスクデバイスから、復元先となるディスクデバイスとして設定されたディスクデバイスへデータを複写する。この複写の方法は、既に述べたように、データを複写する方法(復元元のディスクデバイスのあるセクタのデータが復元先となるディスクデバイスの対応するセクタに複写されるとは限らない)であってもよいし、可能であるならば、セクタコピーであってもよい。
このように本実施の形態によると、バックアップデータが、特定復元ツールと同じディスクデバイス装置20内の、同じハードディスク等の上に記録されて、特定復元ツールが格納されているディスクデバイス装置20が、復元元のディスクデバイスとなる。そして特定復元ツールが情報処理装置10により実行されると、情報処理装置10は、当該特定復元ツールの処理として、実行している特定復元ツールを格納したディスクイメージのファイルと同じディスクデバイス装置20からバックアップされたデータを格納したディスクイメージのファイルを探索し、復元処理を実行する。
従って、復元の際に、一々復元元のディスクデバイスを選択する必要がなく、復元作業等を容易にできるようになる。
[動作]
本実施の形態の情報処理システムは以上の構成を備えており、次のように動作する。すなわち、ユーザが本発明の実施の形態に係るディスクデバイス装置20を入手して、内蔵ディスクデバイスに格納されたオペレーティングシステムにて起動している情報処理装置10にUSBポート等を介して接続すると、情報処理装置10は、ディスクデバイス装置20内のハードディスク等をマウントする。
初期の状態では、ディスクデバイス装置20のハードディスク等には、特定復元ツールを格納したディスクイメージ等が記録されている必要はない。この初期の状態にあるときには、ディスクデバイス装置20は、情報処理装置10からLUNの一覧が要求されると、LUN=0のハードディスクがあるとの応答を出力する。そして情報処理装置10は、このディスクデバイス装置20を識別するUSB PIDや、デバイスID等を取得するとともに、当該デバイスID等で識別されるディスクデバイス装置20に含まれるLUN=0のディスクデバイス(ハードディスク)をマウントする。
ユーザは内蔵ディスクデバイスのバックアップを行う場合、特定バックアップツールを情報処理装置10にインストールする。この特定バックアップツールは、図示しないネットワーク上のサーバ(例えばディスクデバイス装置20のベンダーのウェブサーバ)からダウンロードされてインストールされてもよいし、コンピュータ可読かつ非一時的な記録媒体に格納されて提供され、情報処理装置10がこの記録媒体から読み取ることでインストールされてもよい。
ユーザが、情報処理装置10にインストールした特定バックアップツールを実行すると、特定バックアップツールを実行する情報処理装置10は、まずディスクデバイス装置20を特定する。この特定はUSBポート等を介して接続されている(つまり外部に接続されている)ディスクデバイス装置のうち、所定の条件を満足するものを特定することで行う。ここで所定の条件としては、特定バックアップツールに予め記録されている製造番号のパターンに一致する製造番号を有するディスクデバイス装置であることを条件としてもよい。また所定の条件としては、ユーザが選択したディスクデバイス装置であるとの条件であるとしてもよい。
特定バックアップツールを実行する情報処理装置10は、ディスクデバイス装置20が特定されると、当該ディスクデバイス装置20のハードディスク(LUN=0のディスクデバイス)に、第1のファイルを生成して格納する。
この第1のファイルは、既に説明したように、ブートセクタと、特定復元ツールと、特定復元ツールを実行するのに必要なオペレーティングシステム(ウィンドウズ(登録商標)PE等)とを格納したディスクイメージを記録したものである。
また特定バックアップツールを実行する情報処理装置10は、第1のファイルの格納が完了した後、所定のタイミング(ユーザが指示したタイミング等)において、内蔵ディスクデバイスのバックアップの処理を開始する。
すなわち情報処理装置10は、接続されているディスクデバイスをマウントする。このとき、情報処理装置10はディスクデバイス装置20に対してLUNの一覧を要求する。するとディスクデバイス装置20が、ハードディスク(LUN=0のディスクデバイス)とともに、このハードディスク(LUN=0のディスクデバイス)に格納されている、第1のファイルに含まれるディスクイメージから、仮想的な第1のディスクデバイス(LUN=1のディスクデバイス)がある旨の応答を行う。なお、これらディスクデバイス装置20により管理されているディスクデバイスは、いずれも共通の識別情報(USB PIDやデバイスID)が設定されている。
情報処理装置10は、この時点でマウントされていない、仮想的な第1のディスクデバイスをマウントし、マウントしているディスクデバイスのうちに、特定復元ツールを格納したディスクデバイスがあるか否かを調べる。ここでは仮想的な第1のディスクデバイスに特定復元ツールが格納されているので、情報処理装置10は、当該仮想的な第1のディスクデバイスを見いだす。そして情報処理装置10は、この仮想的な第1のディスクデバイスの識別情報と同じ識別情報(対象識別情報)が設定され、バックアップデータを格納しているディスクデバイス(LUN=2のディスクデバイス)があるか否かを調べる。
この時点では、バックアップデータはディスクデバイス装置20に格納されていないため、情報処理装置10は、上記対象識別情報が設定され、物理的に存在するハードディスクドライブ等に割り当てられるLUN=0で特定されるディスクデバイス内に、バックアップの対象となるディスクデバイス(内蔵ディスクデバイスに含まれるディスクデバイス)と同じサイズのディスクイメージのファイル(第2のファイルF2)を初期化して生成する。
そして情報処理装置10は、この第2のファイルF2に係る仮想的なディスクデバイス(仮想的な第2のディスクデバイス)をマウントし、マウントされた仮想的な第2のディスクデバイスを、バックアップ先として決定し、新規のバックアップを作成する処理を実行する。
情報処理装置10は、バックアップ先として決定したディスクデバイスに対して、バックアップの対象となる内蔵ディスクデバイスのディスクイメージを複写する。さらに情報処理装置10は、バックアップの対象となったディスクデバイスを特定する情報として、例えばドライブ名や内蔵ディスクデバイスの製品シリアルナンバーを仮想的な第1のディスクデバイス内の、予め定められたファイル(バックアップ設定ファイル)に記録しておく。
その後、情報処理装置10は、ユーザが定めたタイミングなど、所定のタイミングごとに繰り返して、特定バックアップツールを実行し、内蔵ディスクデバイスのバックアップ処理を行う。このときにはディスクデバイス装置20にバックアップデータを記録した第2のファイルF2が存在するので、情報処理装置10は、この第2のファイルF2に含まれるディスクイメージに基づいて仮想的な第2のディスクデバイス(LUN=2のディスクデバイス)をマウントする。
そして情報処理装置10は、マウントされた仮想的な第2のディスクデバイスを、バックアップ先として決定し、バックアップの対象となる内蔵ディスクデバイスのディスクイメージを複写する。既に述べたように、このときには、情報処理装置10は、差分をバックアップするなど、追加的なバックアップの処理を行うこととしてもよい。
またユーザは、内蔵ディスクデバイスの内容が破損して、起動できない状態となった場合など、内蔵ディスクデバイスの内容を復旧したい場合には、起動用のオペレーティングシステムを格納したディスクデバイスを、内蔵ディスクデバイスから、ディスクデバイス装置20のLUN=1のディスクデバイス(仮想的な第1のディスクデバイス)に切り替える。
この切り替えは、情報処理装置10の初期プログラムローダ(BIOSや、UEFI等)の設定によって行われる。本実施の形態では、ディスクデバイス装置20が、そのコントローラ21の動作として、仮想的な第1のディスクデバイスや、仮想的な第2のディスクデバイスについても物理的なディスクデバイスと同様に存在するものとして情報処理装置10からの要求に応答するため、情報処理装置10は、この仮想的な第1のディスクデバイスが実際にはディスクイメージとしてハードディスクに格納されたものであることを意識することなくアクセス可能となっている。つまり、仮想的な第1のディスクデバイスも、外部ディスクデバイスの一つとしてマウントされ、ここからのオペレーティングシステムの起動が可能となっている。
そこでユーザは、仮想的な第1のディスクデバイスを起動ディスク(起動に用いるオペレーティングシステムを格納したディスクデバイス)として指定し、情報処理装置10を再起動する。すると、情報処理装置10が、ディスクデバイス装置20のハードディスクに格納された、第1のファイルF1に含まれるディスクイメージに基づく仮想的な第1のディスクデバイスをマウントし、この仮想的な第1のディスクデバイスに格納されているオペレーティングシステム(ここでは例えばウインドウズ(登録商標)PE)を実行して、自身を起動する。
そしてユーザが当該仮想的な第1のディスクデバイスに格納されている特定復元ツールを起動すると、情報処理装置10は、この特定復元ツールを実行し、次のような動作を行う。すなわち情報処理装置10は図5に例示する処理を開始し、起動した特定復元ツールを格納しているディスクデバイス(ここでは仮想的な第1のディスクデバイス)の識別情報とLUN(ここでの例ではLUN=1となる)とを取得する(S1)。そして情報処理装置10は、当該取得した識別情報と、バックアップされたデータを保持しているディスクデバイスのLUN(ここでの例ではLUN=2)とで識別されるディスクデバイス(仮想的な第2のディスクデバイス)のマウントを試みる(S2)。
情報処理装置10は、仮想的な第2のディスクデバイスのマウントができたか否かを調べ(S3)、仮想的な第2のディスクデバイスのマウントができなかった場合(処理S3:No)には、エラーを報知して復元の処理を中断する(S4)。このケースとしてはそもそもバックアップが行われていない場合や、第2のファイルF2が破損している等の場合がある。
一方、処理S3において仮想的な第2のディスクデバイスのマウントができた場合(処理S3:Yes)には、情報処理装置10は、当該仮想的な第2のディスクデバイスを、復元元のディスクデバイスとして特定する(S5)。
情報処理装置10は、次に、仮想的な第1のディスクデバイスに記録された、バックアップ設定データを読み出し(S6)、この処理S6で読み出したバックアップ設定データである、ドライブ名や内蔵ディスクデバイスの製品シリアルナンバーにより特定されるディスクデバイスが接続されているか否かを調べる(S7)。
ユーザが内蔵ディスクデバイスを交換していない場合は、情報処理装置10は、バックアップ設定データに含まれる情報で特定される内蔵ディスクデバイスを見いだす。また、内蔵ディスクデバイスを交換するなどしている場合は、情報処理装置10は、バックアップ設定データに含まれる情報で特定される内蔵ディスクデバイスを見いだすことができない。
すなわちこの処理S7において、バックアップ設定データに含まれる情報で特定される内蔵ディスクデバイスが接続されていると判断すると(処理S7:Yes)、情報処理装置10は、当該内蔵ディスクデバイスを、復元先となるディスクデバイスとして設定する(処理S8)。一方、情報処理装置10は、処理S7において、バックアップ設定データに含まれる情報で特定される内蔵ディスクデバイスが接続されていないと判断すると(処理S7:No)、内蔵ディスクデバイスを列挙して、その数をカウントする(S9)。
情報処理装置10は、カウントした結果が「0」である(A)、「1」である(B)、「2以上」である(C)のいずれであるかを判断し、「0」であるとき(処理S9:A)には、処理S4に移行して、エラーを報知して復元の処理を中断する。
一方、カウントした結果が「1」である(処理S9:B)ときには、当該一つの内蔵ディスクデバイスを復元先となるディスクデバイスとして設定する(S10)。またカウントした結果が「2以上」である(処理S9:C)ときには、情報処理装置10は、内蔵ディスクデバイスの一覧を生成してユーザに提示し、そのうち一つの選択を求める。ここで生成する一覧は、内蔵ディスクデバイスのメーカー名やシリアルナンバー、機種名等、ディスクデバイスから取得可能な情報のうち、ユーザが知り得る情報を列挙するものとする。ユーザがこの一覧から一つのディスクデバイスを選択すると(S11)、情報処理装置10は、当該選択されたディスクデバイスを復元先となるディスクデバイスとして設定する(S12)。
情報処理装置10は、処理S8,S10,あるいはS12にて復元先となるディスクデバイスが設定されると、当該復元先となるディスクデバイスとして設定されたディスクデバイスに対して、復元元のディスクデバイスの内容を復元できるか否かを調べる(S13)。具体的には、情報処理装置10は、復元先となるディスクデバイスの空き容量(内部のデータを全て消去した後で記録可能な総空き容量)が、復元元のディスクデバイスの内容を復元するのに十分であるか否かを調べる。既に説明したように、ここで復元するのに十分な容量であるか否かの条件は、復元元のディスクデバイスに格納されているデータの総容量以上であるとの条件であってもよいし、復元元のディスクデバイスの総空き容量以上であるとの条件であってもよい。ここでの条件は前者であるものとする。
情報処理装置10は、処理S13にて復元先となるディスクデバイスの総空き容量が、復元元のディスクデバイスに格納されているデータの総容量(データのサイズの総和)未満となっていると判断すると(S13:No)、処理S4に移行し、エラーを報知して復元の処理を中断する。
なお、このとき(復元の処理を中断したとき)情報処理装置10は、復元元のディスクデバイス(そのディスクイメージ)をマウントして、ユーザに対して当該マウントされた復元元のディスクデバイスからファイル等を複写可能であることを案内してもよい。
一方、処理S14において復元先となるディスクデバイスの総空き容量が、復元元のディスクデバイスに格納されているデータの総容量(データのサイズの総和)以上であると判断すると(S13:Yes)、情報処理装置10は、復元処理を実行する(S14)。
この復元処理では、情報処理装置10は、復元元のディスクデバイスとして設定された仮想的な第2のディスクデバイスに格納されているファイルを逐次選択し、選択したファイルを、復元先となるディスクデバイスとして設定された内蔵ディスクデバイスへ複写する。なお、情報処理装置10は、復元処理に先立って、内蔵ディスクデバイスを初期化(フォーマット)する処理を実行してもよい。この際、情報処理装置10は、内蔵ディスクデバイスを起動用のディスクとして(つまりブートセクタを含むディスクとして)フォーマットすることとしてもよい。
なお、本実施の形態では、情報処理装置10に外付けされる(USBポート等を介して接続される)ディスクデバイス装置20のコントローラ21が、ディスクデバイス部22のハードディスク等の物理的なディスクデバイスのほか、この物理的なディスクデバイスに格納されたディスクイメージに対してそれぞれ異なるLUNを割り当てて管理し、これら物理的なディスクデバイスや、それに格納されたディスクイメージに基づく仮想的なディスクデバイスに、共通の識別情報(USB PIDやデバイスID等)が付与されることとして、当該共通の識別情報を利用して、特定復元ツールを格納したディスクイメージを記録しているディスクデバイス装置20と同じディスクデバイス装置20にバックアップデータを記録することを可能としていた。
つまり、情報処理装置10は、バックアップデータを記録する際に、特定復元ツールを格納した仮想的な第1のディスクデバイスに付与されている識別情報と共通の識別情報を有し、当該仮想的な第1のディスクデバイスとは異なるLUNが割り当てられている仮想的なディスクデバイス(仮想的な第2のディスクデバイス)に、バックアップデータを格納し、また復元(リストア)を行う際には、この仮想的な第2のディスクデバイスを復元元のディスクデバイスとして設定することとしていた。
しかしながら、情報処理装置10が用いる識別情報としては、上記の場合に、必ずしもディスクデバイス部22のハードディスク等の物理的なディスクデバイスと、この物理的なディスクデバイスに格納されたディスクイメージに基づく仮想的なディスクデバイスとに、互いに完全一致する識別情報が付与されるとは限られず、部分的に一致するが、互いに異なる情報が付与される(例えば末尾に互いに異なる番号が付される)ことがある。
そこで本実施の形態では、ディスクデバイス部22のハードディスク等の物理的なディスクデバイスと、この物理的なディスクデバイスに格納されたディスクイメージに基づく仮想的なディスクデバイスとに共通する識別情報の部分をそれぞれ抽出して比較することとしてもよい。すなわちこの場合は、特定復元ツールを格納した仮想的な第1のディスクデバイスに付与されている識別情報のうち特定の一部と、その識別情報の対応する特定の一部とが一致し、互いに異なるLUNが割り当てられているような仮想的なディスクデバイス(仮想的な第2のディスクデバイス)を見いだして、当該仮想的な第2のディスクデバイスに、バックアップデータを格納し、また復元(リストア)を行う際には、この仮想的な第2のディスクデバイスを復元元のディスクデバイスとして設定する。
[バックアップの複写]
さらに本実施の形態のディスクデバイス装置20のコントローラ21は、第2のファイルF2を複写した第3のファイルを生成して、ディスクデバイス部22のハードディスク等に格納してもよい。
具体的にコントローラ21は、第2のファイルF2が生成された後の所定のタイミングで、当該第2のファイルをそのまま第3のファイルとして複製してディスクデバイス部22のハードディスク等に格納する。
またコントローラ21は、第2のファイルF2の内容が更新されるタイミングとは異なるタイミングで当該第2のファイルの複製を繰り返してもよい。この例において情報処理装置10は、特定復元ツールの処理を実行する際、ユーザの指示により、復元元のディスクデバイスを選択可能としておく。具体的に情報処理装置10は、バックアップ特定部41の処理として、起動した特定復元ツールを格納しているディスクデバイス(ここでは仮想的な第1のディスクデバイス)の識別情報とLUN(ここでの例ではLUN=1となる)とを取得し、当該取得した識別情報と(少なくとも一部が)共通の識別情報を有するディスクデバイスであって、LUNが「0」または「1」でないディスクデバイスを列挙する。
情報処理装置10は、ここで列挙したディスクデバイスのディスクイメージを保持するファイルの最終変更日付の情報(LUN=0のディスクデバイス上でのファイルシステムから情報を取得できる)の一覧をユーザに提示する。
情報処理装置10は、この提示された一覧からユーザが一つを選択すると、当該選択されたファイルに含まれるディスクイメージに基づくディスクデバイス(仮想的な第2のディスクデバイスとなる)のマウントを試みる。
そして情報処理装置10はこの仮想的な第2のディスクデバイスのマウントができた場合には、当該仮想的な第2のディスクデバイスを、復元元のディスクデバイスとして特定する。
本実施の形態のこの例では、定期的なバックアップの処理によってバックアップの内容が更新されてしまっても、複製時の日時でバックアップデータが別途保持され、当該更新されないバックアップデータから復元が可能となる。
[バックアップされたディスクイメージからの起動]
また特定バックアップツールに従って動作する情報処理装置10によって生成されたバックアップによると、当該バックアップの対象となった内蔵ディスクデバイスが起動用のディスクデバイスであった場合など、起動のために必要となるオペレーティングシステムを含むものである場合、バックアップの処理によって生成された第2のファイルF2(あるいはそれを複製したファイル)に含まれるディスクイメージは、それ自体、起動用のディスクデバイスとしてマウントできる。
そこで本実施の形態では、バックアップデータを保持する第2のファイルF2内のディスクイメージを用いて情報処理装置10を起動してもよい。これによると内蔵ディスクデバイスへの復元の操作を行うことなく、バックアップが行われた時点でのオペレーティングシステムの状態(設定等がその時点での状態となっている)で、情報処理装置10を起動できる。
なお、ディスクイメージから起動を行わせる設定を行うときには、当該起動用にマウントしようとするディスクイメージを含む第2のファイルF2を複製することとしてもよい。つまり、起動ディスクとして設定したタイミングで当該起動ディスクとして設定したディスクイメージを含む第2のファイルF2を複製してもよい。
このようにしたことで、例えば内蔵ディスクが故障したときに、内蔵ディスクを交換するまでの間、情報処理装置10を、バックアップデータに基づいて起動でき、また、バックアップデータを作成したときのディスクイメージが複製されて残存しているので、内蔵ディスクを交換した後、故障中起動して作業を行った後のディスクイメージと、バックアップデータを作成した時点でのディスクイメージとのいずれかをユーザが選択して復元することができる。従って、万一、故障中起動して作業を行っていたディスクイメージが破損した場合であっても、内蔵ディスクからバックアップデータを作成した時点での状態に復元が可能となる。
[暗号化]
さらに本実施の形態の一例では、ディスクデバイス装置20のコントローラ21は、情報処理装置10から記録媒体であるディスクデバイス(ディスクデバイス部22に含まれる物理的なディスクデバイスであっても、当該物理的なディスクデバイスに格納されたファイル内のディスクイメージに基づく仮想的なディスクデバイスであってもよい)に対して書き込むデータを暗号化してもよい。この場合、コントローラ21は、データを暗号化する暗号鍵と復号鍵とを記憶しておく。ここで少なくとも復号鍵は秘密鍵としておく。また暗号鍵と復号鍵とは同一であってもよく、この場合は双方とも秘密鍵として保持される。
コントローラ21は、管理しているディスクデバイスへのデータの書き込みの指示が情報処理装置10から入力されると、当該指示により書き込むべきデータを、暗号鍵により所定の方法で暗号化する。この暗号化の方法はどのような方法であってもよく、例えばAES(Advanced Encryption Standard)暗号化等でよい。
また、このときコントローラ21は管理しているディスクデバイスからのデータの読み出しの指示が情報処理装置10から入力されると、当該指示により読み出されるデータを、暗号化の際に利用した暗号鍵に対応する復号鍵により所定の方法(書き込みの際の暗号化の方法に対応する復号方法)で復号して、暗号化前のデータを取り出し、情報処理装置10に対して出力する。
この例によると、ディスクデバイス装置20内からディスクデバイス部22のハードディスク等を抜き取ったとき、コントローラ21内の復号鍵が知られることがなければ、当該ハードディスクの内容を読み取ることができないため、廃棄の際のセキュリティ向上に有用である。
また、コントローラ21が、情報処理装置10から取得可能な情報(例えば情報処理装置10に固有に割り当てられているシリアル番号、CPUのシリアル番号や、内蔵するネットワークカードに設定されたMACアドレス等、以下装置固有情報と呼ぶ)を利用して暗号化や復号の処理を行うか否かを決定してもよい。
例えば、コントローラ21は、例えば最初に接続された情報処理装置10から、あるいはバックアップの対象として情報処理装置10の内蔵ディスクデバイスが設定されたときに、当該バックアップの対象となった内蔵ディスクデバイスを備えた情報処理装置10から上記装置固有情報を取得し、当該装置固有情報を秘密の情報として(読み出し困難な状態で)保持する。このような情報の保持の方法は、秘密鍵の保持方法と同様に、広く知られているのでここでの詳細な説明は省略する。
その後、コントローラ21は、例えば情報処理装置10に接続されるタイミングで、当該装置固有情報と同じ装置固有情報が取得される情報処理装置10に接続されているか否かを調べ、そのような情報処理装置10に接続されているときに限り、記憶している暗号鍵及び復号鍵を用いた上記処理を行うこととしておけば、ディスクデバイス装置20自体が盗難にあった場合などでもディスクデバイス装置20内のハードディスク等に記録されたデータが復号できないため、セキュリティを向上できる。
なお、この例では、暗号鍵と対応する復号鍵は、記憶する装置固有情報に基づいて発行されてもよい。
この場合、コントローラ21は、例えば最初に接続された情報処理装置10から、あるいはバックアップの対象として情報処理装置10の内蔵ディスクデバイスが設定されたときに、当該バックアップの対象となった内蔵ディスクデバイスを備えた情報処理装置10から上記装置固有情報を取得し、当該取得した装置固有情報を利用して暗号鍵と復号鍵とを発行し、取得した装置固有情報とともに記憶しておく。
その後、コントローラ21は、例えば情報処理装置10に接続されるタイミングで、当該装置固有情報と同じ装置固有情報が取得される情報処理装置10に接続されているか否かを調べ、そのような情報処理装置10に接続されているときに限り、記憶している暗号鍵及び復号鍵を用いた上記処理を行う。これによってもディスクデバイス装置20自体が盗難にあった場合などでもディスクデバイス装置20内のハードディスク等に記録されたデータが復号できないため、セキュリティを向上できる。
[変形例]
また、本実施の形態において、第1のファイルF1や第2のファイルF2、あるいは第2のファイルF2を複製して得たファイルは、マウントの必要がないときにはデータ圧縮されていてもよい。この場合、コントローラ21は、データ圧縮されていてもいなくても、第1のファイルF1や第2のファイルF2(及び第2のファイルF2を複製したファイル)が存在する場合には、それぞれに互いに異なるLUNを割り当てて、LUNの一覧の要求があったときに、当該割り当てたLUNの一覧の情報を提供する。
そしてコントローラ21は、マウントの要求があったときに、要求されたLUNに対応するディスクデバイスのディスクイメージを保持するファイルがデータ圧縮されているときには、当該ファイルを伸長してからマウントの要求に対応する処理を実行する。
さらに本実施の形態の一例では、第1のファイルF1や第2のファイルF2(及び第2のファイルF2を複製したファイル)には不可視の属性を付与して、情報処理装置10により実行されるオペレーティングシステムの処理において、通常の状態では(特に不可視の属性のファイルを一覧に含める指示がない状態では)、ファイルの一覧等を表示する際に、これら不可視の属性が付与されたファイルを除くファイルの一覧を表示されるようにしてもよい。
このように本実施の形態の一例に係る情報処理システムでは、「バックアップデータに基づいてディスクデバイスの記録内容を復元する復元ツールを格納したディスクのイメージを保持する第1のファイルと、バックアップデータを格納したディスクのイメージを保持する第2のファイルとを少なくとも格納する記録媒体(ディスクデバイス部22内の物理的なディスクデバイス)と、情報処理装置10に接続され、上記第1のファイルに保持されるディスクイメージに基づく仮想的な第1のディスクデバイスへのアクセス要求を上記情報処理装置10から受け入れ、当該仮想的な第1のディスクデバイス内のファイルへのアクセスを処理して上記復元ツールを読み出し可能とするとともに、上記第2のファイルに保持されるディスクイメージに基づく仮想的な第2のディスクデバイスへのアクセス要求を上記情報処理装置10から受け入れ、当該仮想的な第2のディスクデバイス内のファイルへのアクセスを処理するコントローラ部と、を有するディスクデバイス装置20」、及び、「上記仮想的な第1のディスクデバイスから復元ツールを読み出して実行し、上記第2のファイルに基づく上記仮想的な第2のディスクデバイスからバックアップデータを読み出し、所定のディスクデバイスに当該読み出したバックアップデータを書き込む復元処理を実行する情報処理装置10」を含む。