(57)【特許請求の範囲】
【請求項１】
バックアップ対象のデータを保持する保持手段と、
バックアップするタイミングであるか否かを判断する手段と、
バックアップするタイミングであると判断された際に、予め定められた上書きバックアップ禁止条件を満足する場合には、前回のバックアップ時に生成したバックアップデータとは別に、前記保持手段に保持されたバックアップ対象のデータを複写して新たなバックアップデータを生成し、そうでない場合は前回のバックアップ時に生成したバックアップデータに上書きして新たなバックアップデータを生成するバックアップ作成手段と、
を備え、
前記上書きバックアップ禁止条件が、
前回バックアップを行った後に、フォーマットを行ったこと、
前回バックアップを行った後に復元作業を行ったこと、
の少なくともいずれかを含む情報処理装置。
【請求項２】
バックアップ対象のデータを保持する保持手段と、
バックアップするタイミングであるか否かを判断する手段と、
バックアップするタイミングであると判断された際に、予め定められた上書きバックアップ禁止条件を満足する場合には、前回のバックアップ時に生成したバックアップデータとは別に、前記保持手段に保持されたバックアップ対象のデータを複写して新たなバックアップデータを生成し、そうでない場合は前回のバックアップ時に生成したバックアップデータに上書きして新たなバックアップデータを生成するバックアップ作成手段と、
バックアップ対象のデータのファイル名を保持するデータベースのハッシュ値を、バックアップデータを生成するごとに作成してバックアップ先に格納する手段と、を有し、
前記バックアップ作成手段が、前記バックアップするタイミングであるか否かを判断する手段により、バックアップするタイミングであると判断された際に、前記データベースのハッシュ値を演算し、演算したハッシュ値と、バックアップ先に格納されているハッシュ値とを比較し、これらが異なっているときにデータベースに更新があったと判断し、データベースに更新があったと判断したときに、予め定められた上書きバックアップ禁止条件を満足する場合には、前回のバックアップ時に生成したバックアップデータとは別に、前記保持手段に保持されたバックアップ対象のデータを複写して新たなバックアップデータを生成し、そうでない場合は前回のバックアップ時に生成したバックアップデータに上書きして新たなバックアップデータを生成する情報処理装置。
【請求項３】
請求項１または２記載の情報処理装置であって、
前記バックアップするタイミングであるか否かを判断する手段は、電源がオフとなるときに、バックアップするタイミングであると判断する情報処理装置。
【請求項４】
バックアップ対象のデータを保持する保持手段に接続されたコンピュータを、
バックアップするタイミングであるか否かを判断する手段と、
バックアップするタイミングであると判断された際に、予め定められた上書きバックアップ禁止条件を満足する場合には、前回のバックアップ時に生成したバックアップデータとは別に、前記保持手段に保持されたバックアップ対象のデータを複写して新たなバックアップデータを生成し、そうでない場合は前回のバックアップ時に生成したバックアップデータに上書きして新たなバックアップデータを生成するバックアップ作成手段と、
として機能させ、
前記上書きバックアップ禁止条件が、
前回バックアップを行った後に、フォーマットを行ったこと、
前回バックアップを行った後に復元作業を行ったこと、
の少なくともいずれかを含むプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データのバックアップを行う情報処理装置及びプログラムに関する。
【背景技術】
【０００２】
近年では、家庭内でも情報機器が数多く利用されるようになっている。こうした情報機器内に格納されたデータには、各家庭において貴重なデータも含まれており、バックアップ等の消失対策が要望されている。例えば電源断の際にバックアップを行う従来一般的な技術としては、特許文献１に開示されているものがある。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平５−１４３２４８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、データのバックアップにおいては、バックアップの対象となる記憶領域全体のバックアップを毎回作成できればよいが、これではバックアップのデータ量が大きくなりすぎてしまう。一方、常に、バックアップの対象となる記憶領域の最新の状態をバックアップすることとしている場合、例えば誤って当該記憶領域のフォーマットを行ってしまったときに、この状態でバックアップが作成されてしまうと、データが失われる結果となりかねない。このように、従来一般的なバックアップの方法では、利便性を十分に向上できない。
【０００５】
本発明は上記従来例の問題点に鑑みてなされたもので、バックアップの利便性を向上できる情報処理装置及びプログラムを提供することを、その目的の一つとする。
【課題を解決するための手段】
【０００６】
上記従来例の問題点を解決するための本発明は、情報処理装置であって、バックアップ対象のデータを保持する保持手段と、バックアップするタイミングであるか否かを判断する手段と、バックアップするタイミングであると判断された際に、予め定められた上書きバックアップ禁止条件を満足する場合には、前回のバックアップ時に生成したバックアップデータとは別に、前記保持手段に保持されたバックアップ対象のデータを複写して新たなバックアップデータを生成し、そうでない場合は前回のバックアップ時に生成したバックアップデータに上書きして新たなバックアップデータを生成するバックアップ作成手段と、を含むこととしたものである。
またここで、上書きバックアップ禁止条件は、前回バックアップを行った後に、フォーマットを行ったこと、保持手段に異常を検出したこと、新規のバックアップ先へのバックアップであること、前回バックアップを行った後に復元作業を行ったこと、のうち、少なくともいずれかを含んでもよい。
さらに、バックアップするタイミングであるか否かを判断する手段は、電源がオフとなるときに、バックアップするタイミングであると判断してもよい。
【０００７】
また本発明の一態様に係るプログラムは、バックアップ対象のデータを保持する保持手段に接続されたコンピュータを、バックアップするタイミングであるか否かを判断する手段と、バックアップするタイミングであると判断された際に、予め定められた上書きバックアップ禁止条件を満足する場合には、前回のバックアップ時に生成したバックアップデータとは別に、前記保持手段に保持されたバックアップ対象のデータを複写して新たなバックアップデータを生成し、そうでない場合は前回のバックアップ時に生成したバックアップデータに上書きして新たなバックアップデータを生成するバックアップ作成手段と、として機能させるものである。
【発明の効果】
【０００８】
本発明によると、バックアップの利便性を向上できる。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施の形態に係る情報処理装置の例を表す構成ブロック図である。
【図２】本発明の実施の形態に係る情報処理装置の例を表す機能ブロック図である。
【図３】本発明の実施の形態に係る情報処理装置が生成するデータベースの内容例を表す説明図である。
【図４】本発明の実施の形態に係る情報処理装置によるバックアップ処理の例を表すフローチャート図である。
【図５】本発明の実施の形態に係る情報処理装置に接続されたバックアップ先のハードディスク等の内容を概括的に表す説明図である。
【図６】本発明の実施の形態に係る情報処理装置による復元処理の例を表すフローチャート図である。
【発明を実施するための形態】
【００１０】
本発明の実施の形態に係る情報処理装置１は、図１に例示するように、制御部１１、記憶部１２、ストレージ部１３、操作部１４、表示部１５、及びインタフェース部１６を含んで構成される。なお、本実施の形態の情報処理装置１は、これらのほか、ネットワークインタフェース等を含んでもよい。
【００１１】
ここで制御部１１は、ＣＰＵ等のプログラム制御デバイスであり、記憶部１２に格納されたプログラムに従って動作する。本実施の形態において、この制御部１１は、バックアップするタイミングであるか否かを判断する手段、及びバックアップするタイミングであると判断された際に、予め定められた上書きバックアップ禁止条件を満足する場合には、前回のバックアップ時に生成したバックアップデータとは別に、ストレージ部１３に格納されたデータ全体を含む新たなバックアップデータを生成し、そうでない場合は前回のバックアップ時に生成したバックアップデータに上書きして新たなバックアップデータを生成するバックアップ作成手段として機能する。この制御部１１の詳しい動作については、後に述べる。
【００１２】
記憶部１２は、メモリデバイス等であり、制御部１１によって実行されるプログラムを保持する。このプログラムは、例えばＤＶＤ−ＲＯＭ等のコンピュータ可読な記録媒体に格納されて提供され、この記憶部１２に複写されて格納される。あるいは、このプログラムはネットワーク等の通信手段を介して受信され、この記憶部１２に格納されたものであってもよい。また記憶部１２は、制御部１１のワークメモリとしても動作する。なお、記憶部１２には不揮発性のメモリが含まれてもよい。この不揮発性メモリには電源断があったとしても保持しておくべきデータ（例えば起動時に必要なパラメータのデータ等）が保持される。
【００１３】
ストレージ部１３は、例えばハードディスク、あるいはＳＳＤ（Solid State Drive）であり、バックアップ対象のデータを保持する保持手段として動作する。一例としてこのバックアップ対象のデータは、静止画像や動画像を含んだ画像データである。このストレージ部１３は、少なくとも利用開始時にフォーマットされ、予め定められたファイルシステムが形成されている。そしてストレージ部１３に格納される各データは、このファイルシステム内において管理される。
【００１４】
操作部１４は、情報処理装置１の筐体に設けられたスイッチであってもよいし、赤外線等によるリモートコントローラを含んでもよい。また、キーボードやマウス等であってもよい。この操作部１４は、利用者の指示操作を受け入れて、当該指示操作の内容を制御部１１に出力する。
【００１５】
表示部１５は、家庭用テレビやディスプレイ装置への出力ポートであり、制御部１１から入力される指示に従って、画面の情報をテレビやディスプレイ装置へ出力する。
【００１６】
インタフェース部１６は、ＵＳＢ（Universal Serial Bus）等のシリアルインタフェースや、メモリカードリーダ等を含んで構成される。このインタフェース部１６には、バックアップ先となるディスクドライブ等が接続される。またインタフェース部１６は、メモリカードを受け入れてもよく、この場合、インタフェース部１６は制御部１１に対してメモリカードが挿入されたことを表す信号を送出する。そしてインタフェース部１６は、制御部１１から入力される指示に従い、メモリカードからデータを読み出して制御部１１に出力する。
【００１７】
次に、制御部１１の動作について説明する。本実施の形態の制御部１１は、データの受入処理と、表示処理、バックアップ処理、並びに、復元処理を実行する。ここでデータの受入処理は例えば次のようなものとなる。制御部１１は、インタフェース部１６のメモリカードリーダにメモリカードが挿入されたことを表す信号を受け入れると、インタフェース部１６に対して、挿入されたメモリカード内に格納されているデータを読み出すよう指示する。制御部１１は、この指示に応答してインタフェース部１６が出力するデータを受け入れて、ストレージ部１３に蓄積して格納する。なお、本発明の一態様では、インタフェース部１６がネットワークインタフェースを有し、制御部１１は、このネットワークインタフェースを介してデータを受信して、ストレージ部１３に蓄積して格納することとしてもよい。
【００１８】
具体的にここでのデータは写真等の画像データであってもよい。また、制御部１１は、ストレージ部１３に既に格納されているデータと同じデータがインタフェース部１６から入力された場合は、当該データを格納することなく破棄してもよい。ここで既に格納されているデータと入力されたデータとが同じであるか否かは、例えばファイル名やそのハッシュ値、あるいはデータサイズ等を比較して行うこととしてもよいし、各データのハッシュ値を比較して行うこととしても構わない。この処理により、ストレージ部１３には、データが格納された状態となる。なお、この処理は一例であり、例えば制御部１１は、利用者からキーボードやマウスによる操作を受け入れて文書を作成する処理を実行し、当該作成した文書のデータをストレージ部１３に格納するようにしてもよい。
【００１９】
また制御部１１の表示処理は、次のようなものである。すなわち制御部１１は、利用者からストレージ部１３に格納したデータの指定と、当該指定されたデータを表示するべき旨の指示とを受け入れると、当該指示に従ってストレージ部１３に格納されているデータのうち、指定されたデータを読み出して、当該データに係る画像を生成して表示部１５を介して出力する。
【００２０】
次に制御部１１のバックアップ処理について説明する。このバックアップ処理を実行する制御部１１は、機能的には、図２に例示するように、バックアップ要否判定部２１と、バックアップ条件判断部２２と、上書きバックアップ生成部２３と、新規バックアップ生成部２４とを含んで構成される。
【００２１】
バックアップ要否判定部２１は、まずバックアップを行うべきタイミングであるか否かを判断する。ここでバックアップを行うべきタイミングか否かの判断は例えば次のように行う。すなわちバックアップ要否判定部２１は、本実施の形態の情報処理装置１の電源がオフ（電源断）となろうとしている場合にバックアップを行うべきタイミングと判断してもよい。また、バックアップ要否判定部２１は、利用者がバックアップを指示したときに、バックアップを行うべきタイミングであると判断してもよい。バックアップ要否判定部２１は、バックアップを行うべきタイミングであると判断すると、前回バックアップデータを生成してから、ストレージ部１３内のバックアップ対象のデータに変化があったか否かを調べ、変化があった場合にバックアップが必要と判断し、変化がなかったときにはバックアップ不要と判断する。
【００２２】
前回バックアップデータを生成してから、ストレージ部１３内のバックアップ対象のデータに変化があったか否かは、ストレージ部１３への最終書き込み日時の情報と、前回バックアップデータを生成した日時の情報とを記録しておき、これらを比較することによって行うなど、種々の方法があり、どのような方法を採用しても構わない。
【００２３】
また、このバックアップ要否判定部２１は、さらに、インタフェース部１６にバックアップ先となるデバイス（ハードディスクやＳＳＤ等）が接続されているか否かを判断し、接続されていなければ、ストレージ部１３内のバックアップ対象のデータに変化があったとしてもバックアップ不要と判断することとしてもよい。
【００２４】
バックアップ条件判断部２２は、上書きバックアップを行うか新規バックアップを行うかを、予め定められた上書きバックアップ禁止条件が満足されるか否かを判断することによって行う。この上書きバックアップ禁止条件は例えば、ストレージ部１３に対して、前回バックアップデータを生成した後にフォーマットを行ったこと、保持手段であるストレージ部１３に異常を検出したこと、新規のバックアップ先へのバックアップであること、前回バックアップデータを生成した後に、バックアップからの復元作業を行ったこと等である。
【００２５】
バックアップ条件判断部２２は、これらの条件のいずれかを満足すると判断したときには、新規バックアップ生成部２４に対してバックアップデータの生成を指示する。また、これらの条件をいずれも満足しないと判断したときには、上書きバックアップ生成部２３に対してバックアップデータの生成を指示する。なお、本実施の形態の上書きバックアップ生成部２３または新規バックアップ生成部２４は、情報処理装置１に固有の識別情報を名称としたディレクトリを、バックアップ先のハードディスク等に作成し、当該ディレクトリ内にバックアップ対象のデータを複写する。このデータが複写されたディレクトリがバックアップデータに相当する。そこでバックアップ条件判断部２２は、インタフェース部１６に接続されたバックアップ先に、当該情報処理装置１に固有の識別情報を名称としたディレクトリがなければ、新規のバックアップ先であると判断する。この固有の識別情報は、時間が経過しても変わらないものとする。例えば情報処理装置１がネットワークインタフェースを備える場合は、当該ネットワークインタフェースのＭＡＣアドレスを用いることができる。
【００２６】
上書きバックアップ生成部２３は、インタフェース部１６に接続されたバックアップ先にある情報処理装置１に固有の識別情報を名称としたディレクトリに、ストレージ部１３に格納されたバックアップの対象となるデータを複写する。この際、同じ内容のデータがある場合は、複写せず、現在インタフェース部１６に接続されたバックアップ先にあるデータに上書きしないこととしてもよい。また、上書きバックアップ生成部２３は、ストレージ部１３に格納されていないデータであって、インタフェース部１６に接続されたバックアップ先に格納されているデータがあれば、当該データをバックアップ先から削除してもよい。
【００２７】
新規バックアップ生成部２４は、インタフェース部１６に接続されたバックアップ先に、情報処理装置１に固有の識別情報を名称としたディレクトリがあるか否かを調べ、当該ディレクトリがあれば、そのディレクトリの名称を変更する。そして新規バックアップ生成部２４は、新たに、情報処理装置１に固有の識別情報を名称としたディレクトリを、バックアップ先に作成し、当該ディレクトリ内に、ストレージ部１３に格納されたバックアップの対象となるデータを複写する。
【００２８】
さらに本実施の形態の制御部１１は、バックアップされたデータからストレージ部１３の内容を復元する復元処理として次のような処理を行う。復元処理では制御部１１は、インタフェース部１６に接続されたバックアップ先に格納されているディレクトリ名の一覧を取得して表示部１５を介してディスプレイ等に表示する。制御部１１は、この一覧のうちから、復元元を一つ選択する利用者の操作を受け入れると、ストレージ部１３に現在格納されているデータを削除し、当該選択された復元元のディレクトリ名に対応する、バックアップ先のディレクトリに格納されたデータを読み出して、ストレージ部１３に複写する。
【００２９】
なお、ここまでの説明において、データが画像データである場合は、制御部１１は、データの受入時にそのサムネイル画像（縮小画像）を生成し、元の画像データに関連付けてストレージ部１３に格納してもよい。また、ストレージ部１３には、バックアップ対象のデータごとに、当該データのファイル名と、当該データに関連する情報（例えばサムネイル画像のデータを特定する情報として、サムネイル画像データのファイル名などを含む）とを関連付けたエントリー（Ｅ）を含んだデータベースが格納されていてもよい（図３）。
【００３０】
本実施の形態の情報処理装置１は、以上の構成を備えており、次に例示するように動作する。なお、ここでの動作例の説明では、データは画像データであるものとする。例えば、このデータは、デジタルカメラ等で撮影された、ＪＰＥＧ（Joint Picture Experts Group）形式の画像データ本体と、メタデータ部とを含んだＥｘｉｆ（Exchangeable image file format）フォーマットのデータであってもよい。また、このデータは、動画像データであってもよい。またここでは、データには撮影日の情報や撮影場所を表す緯度経度標高の情報（いわゆるジオタグ）等の付加情報が含まれるものとする。また付加情報には、利用者が本実施の形態の情報処理装置１を操作して付加する情報（例えば「お気に入り」であることを表す情報等）を含んでもよい。
【００３１】
制御部１１は、電源投入後、利用者からデータの取り込み指示を受けると、インタフェース部１６に含まれるメモリカードリーダに挿入されたメモリカードから、メモリカードに格納された画像データを読み出す。そして、読み出した画像データのファイル名が既にストレージ部１３に格納されている画像データのファイル名のうちに含まれていなければ、当該画像データをストレージ部１３に複写して格納する。
【００３２】
また制御部１１は、この複写した画像データについてサムネイル画像のデータを生成してストレージ部１３に格納し、画像データのファイル名と、このサムネイル画像のデータのファイル名とを関連付けてデータベースに格納する。
【００３３】
制御部１１は、また利用者から画像データを表示する指示を受け入れる。例えば利用者は、付加情報を特定して、当該特定した付加情報を含む画像データの画像を選択的に表示させてもよい。一例として付加情報の一例である撮影日の情報を入力して、特定の撮影日に撮影された画像データを表示するよう求める操作を利用者が行うと、制御部１１は、ストレージ部１３に格納されている画像データのうち、付加情報に当該入力された情報で特定される撮影日の情報を含む画像データを選択的に読み出す。そして制御部１１は、読み出した画像データの画像を表示部１５に出力して表示を行わせる。なお、読み出した画像データが複数ある場合は、制御部１１は、当該画像データの一覧の画像を生成し、当該一覧の画像を表示させるようにしてもよい。そして利用者から当該一覧のうちから画像データの一つを選択する操作が行われると、制御部１１は、当該選択された画像データの画像を表示する処理を行う。
【００３４】
さらに制御部１１は、利用者から表示している画像データに対して、「お気に入り」の付加情報を付加するべき指示を受け入れると、表示している画像データに「お気に入り」であることを表す付加情報を含める。
【００３５】
また制御部１１は、利用者から、画像データの指定と、指定した画像データを削除するべき旨の指示を受けると、例えば、ストレージ部１３から当該指定された画像データを削除し、またデータベースから当該画像データのファイル名を含むエントリーを削除する。
【００３６】
本実施の形態のある例では、この情報処理装置１の電源断の時にバックアップの処理が開始される。すなわち利用者により電源断の操作が行われたか、または図示しないタイマー等により、利用者が操作をしなくなってから一定時間が経過したことを検出した場合など、何らかの原因で電源がオフとなろうとするタイミングで、バックアップの処理を開始する。
すなわち制御部１１は、電源がオフとなろうとしていることを検知し、バックアップの処理を開始する（図４）。なお、以下の例では、バックアップ処理中に異常が発生した場合に、後にその旨を検出できるよう、バックアップフラグと呼ばれる情報をストレージ部１３に保持しておくものとする。この情報は例えば予め定めたファイル名の空のファイルとすることができる。なお、ここではインタフェース部１６にはバックアップ先となるハードディスクが接続されているものとする。
【００３７】
制御部１１は、バックアップの処理を開始すると、まず、前回バックアップデータを生成してから、データベースに更新があったか否かを判断する（Ｓ１）。具体的に制御部１１は、バックアップデータを生成するごとにデータベースのハッシュ値を作成し、バックアップ先に格納しておく。制御部１１は、処理Ｓ１においてこの処理の実行時点でのデータベースのハッシュ値を演算し、バックアップ先に格納されているハッシュ値があれば、当該バックアップ先に格納されていたハッシュ値と、演算したハッシュ値とを比較する。そしてこれらが異なっていれば、前回バックアップデータを生成してから、データベースに更新があったと判断する。
【００３８】
処理Ｓ１において制御部１１が前回バックアップデータを生成してから、データベースに更新があったと判断すると（Yesであると）、制御部１１は、上書きバックアップを行うか新規バックアップを行うかを判断する（Ｓ２）。具体的にここでは制御部１１は、ストレージ部１３に対して、前回バックアップデータを生成した後にフォーマットが行われている場合、保持手段であるストレージ部１３に異常を検出した場合、新規のバックアップ先へのバックアップである場合、前回バックアップデータを生成した後にバックアップデータからの復元作業を行った場合のいずれかの場合に該当するときに、新規バックアップを行うべきと判断する。
【００３９】
すなわち制御部１１は、前回バックアップデータを生成した後にフォーマットが行われているか否かを判断する。この判断は、例えば次のようにして行う。制御部１１は、ストレージ部１３のフォーマットを指示により行うが、フォーマット後に、フォーマットしたことを表す情報をストレージ部１３または記憶部１２に保持しておく。そして制御部１１は、この情報がストレージ部１３または記憶部１２に保持されているときに、前回電源投入したときからの間にフォーマットが行われたものと判断する。また制御部１１は、この判断終了後には、当該フォーマットしたことを表す情報を削除しておく。
【００４０】
また制御部１１は、保持手段であるストレージ部１３を予め定めたタイミングごとに検査する。この検査は、ファイルシステムごとに種々の方法があるが、例えばUNIX（登録商標）互換のオペレーティングシステム標準のファイルシステムであれば、fsck（ファイルシステムチェック）等のコマンドが行うものと同じ処理により検査を行うことができる。この検査において異常が検出された場合は、制御部１１は、ストレージ部１３に異常が検出されたと判断する。
【００４１】
また制御部１１は、前回バックアップデータを生成した後に、バックアップデータ（当該前回生成したバックアップデータであると、他のバックアップデータであるとを問わない）からの復元作業を行ったか否かを、次のように判断する。制御部１１は、復元処理を行う際に、復元処理を行ったことを表す情報をストレージ部１３または記憶部１２に保持しておく。そして制御部１１は、この情報がストレージ部１３または記憶部１２に保持されているときに、前回バックアップデータを生成した後にバックアップデータからの復元が行われたものと判断する。また制御部１１は、この判断終了後には、当該復元処理を行ったことを表す情報を削除しておく。
【００４２】
なお、新規のバックアップ先へのバックアップであるか否かの判断の例は既に述べたので、繰り返しての説明を省略する。
【００４３】
制御部１１は、処理Ｓ２において、新規バックアップを行うべきと判断すると（図４において「新規」）、新規バックアップ処理を実行する（Ｓ３）。すなわち制御部１１は、インタフェース部１６に接続されたバックアップ先に、情報処理装置１に固有の識別情報（情報処理装置１のネットワークインタフェースのＭＡＣアドレスとする）を名称としたディレクトリがあるか否かを調べ、当該ディレクトリがあれば、そのディレクトリの名称を異なるものに変更する。そして制御部１１は、新たに、情報処理装置１に固有の識別情報を名称としたディレクトリを、バックアップ先に作成する。
【００４４】
制御部１１は、バックアップフラグを立てる（Ｓ４）。ここではバックアップフラグとしてのファイルを生成することとする。そして制御部１１は、バックアップ先に作成されている、情報処理装置１に固有の識別情報を名称としたディレクトリ（以下、バックアップ先ディレクトリと呼ぶ）内に、ストレージ部１３に格納されているデータベースを複写する（Ｓ５）。この際、バックアップ先に当該データベースが既に格納されていれば、当該データベースに上書きする。なお、処理Ｓ２において、新規バックアップを行うべきと判断しないときには（図４において「上書き」）、処理Ｓ４に移行して処理を続ける。
【００４５】
制御部１１は、データベースの複写を行うと、次に、画像データの複写処理を開始する。以下の説明では、バックアップ先の容量を勘案した処理が行われる場合を例として述べる。
【００４６】
制御部１１は、データベースを参照して、当該データベースに格納されているファイル名のうち、未だ読み出していないものを一つ読み出して、当該データベースから読み出したファイル名に対応する画像データを、ストレージ部１３から読み出す（Ｓ６）。そして制御部１１は、当該読み出した画像データを注目画像データとして、注目画像データの複写処理を行う（Ｓ７）。この複写処理では、制御部１１は、注目画像データと同じ内容のデータが、既にバックアップ先ディレクトリ内に格納されているか否かを調べる。そして制御部１１は、注目画像データと同じ内容のデータが、既にバックアップ先ディレクトリ内に格納されている場合は、注目画像データを複写しない。また制御部１１は、注目画像データと同じ内容のデータが、既にバックアップ先ディレクトリ内に格納されていないならば、注目画像データを、バックアップ先ディレクトリ内に複写する。
【００４７】
制御部１１は、データベースに保持されている、すべてのファイル名に係る画像データについて、複写処理の対象としたか否かを調べる（Ｓ８）。そしてすべての画像データについて複写処理が行われていなければ、つまり、未だ複写処理の対象となっていない画像データがあれば（Noならば）、Ａに移行して、バックアップ先となっているハードディスク等の空き容量が予め定めたしきい値を下回るか否かを調べる（Ｓ９）。ここで空き容量が予め定めたしきい値を下回る場合は（Yesならば）、バックアップ先ディレクトリから、現在格納されているサムネイル画像のデータをすべて削除し（Ｓ１０）、再度バックアップ先となっているハードディスク等の空き容量が予め定めたしきい値を下回るか否かを調べる（Ｓ１１）。ここでもさらに空き容量が予め定めたしきい値を下回る場合は（Yesならば）、エラーを報知してバックアップフラグのファイルを削除し、処理を終了してもよい。なお、これらの処理におけるしきい値は、例えば予め定めたｎ枚の平均的なサイズの画像データを格納可能な容量に相当する値などとして定める。
【００４８】
また処理Ｓ１１において、空き容量が予め定めたしきい値を下回る場合は（Yesならば）、さらに、付加情報に基づいてバックアップする画像データを選択し、選択した画像データ以外の画像データをバックアップ先ディレクトリから削除するようにしてもよい。例えば制御部１１は、処理Ｓ１１において、空き容量が予め定めたしきい値を下回ると判断すると、図４に例示するように、「お気に入り」であることを表す付加情報が付加されている画像データ以外の画像データを、バックアップ先ディレクトリから削除する（Ｓ１２）。そしてさらにバックアップ先となっているハードディスク等の空き容量が予め定めたしきい値を下回るか否かを調べ（Ｓ１３）、空き容量が予め定めたしきい値を下回る場合は（Yesならば）、エラーを報知して（Ｓ１４）、バックアップフラグを消去して（Ｓ１５）、処理を終了してもよい。ここでの例ではバックアップフラグの消去は、バックアップフラグのファイルを削除する処理に相当する。
【００４９】
また、処理Ｓ９、Ｓ１１、Ｓ１３において、空き容量が予め定めたしきい値を下回らないならば（Noならば）、制御部１１は、処理Ｓ６に戻って処理を続ける。制御部１１は、処理Ｓ８において、データベースに格納されているファイル名のすべてについて以上の処理を行ったと判断すると（処理Ｓ８でYesであると）、今回のバックアップ処理においてサムネイル画像を削除する処理を行ったか否かを調べる（Ｓ１６）。ここでサムネイル画像を削除する処理を行っていれば（Yesならば）、制御部１１は、処理Ｓ１５に移行して処理を終了する。
【００５０】
一方処理Ｓ１６において、サムネイル画像を削除する処理を行っていなければ（Yesならば）、制御部１１は、データベースを参照して、データベースの各エントリーに含まれるサムネイル画像のファイル名を読み出し、当該ファイル名のサムネイル画像をストレージ部１３からバックアップ先ディレクトリに複写する（Ｓ１７）。そして制御部１１は、処理Ｓ１５に移行して処理を終了する。
【００５１】
さらに、図４の処理Ｓ１において、制御部１１がデータベースに更新がなかったと判断すると（Noであると）、制御部１１は、バックアップフラグが立っているかを調べる（Ｓ１８）。ここでの例ではバックアップフラグのファイルがあるか否かを調べることになる。そして、バックアップフラグのファイルがあれば（Yesならば）、制御部１１は、処理Ｓ２に移行して処理を続ける。またバックアップフラグのファイルがなければ（Noならば）、制御部１１は、処理を終了する。
【００５２】
このような本実施の形態の情報処理装置１によると、例えば利用者が誤ってストレージ部１３をフォーマットしてしまった場合を想定すると、次のような動作が行われる。すなわち、情報処理装置１は、図５に例示するように、フォーマット後に電源断操作が行われたとき、バックアップの処理を開始するが、このバックアップ処理では、以前のバックアップのデータは別名に変更して（図では名称「aaaa」から「aaaa-bak1」に変更して）そのまま維持し（Ａ）、新規のバックアップデータ（Ｂ）を生成することになる。この新規のバックアップデータには、変更前の（Ａ）の名称（ここでは「aaaa」）が付される。図５は、バックアップ先のハードディスク等の内容を概括的に表す説明図である。このとき新規のバックアップデータ（Ｂ）は、フォーマット後のストレージ部１３の内容を反映したものとなるが、フォーマットにより削除される前のデータは、以前のバックアップのデータとしてそのまま維持されている（Ａ）。従って、利用者は、誤ってフォーマットした場合にも以前のバックアップデータから、元のデータを復元できる。
【００５３】
また、ストレージ部１３に異常が生じ、内部のデータが破損した場合を想定すると、この場合本実施の形態の情報処理装置１は、以前のバックアップデータは別名に変更してそのまま維持し、新規のバックアップを作成することになる。従って、利用者はデータが破損していた場合にも、以前のバックアップデータから元のデータを復元することができるようになる。
【００５４】
またバックアップフラグの情報を用いることで、バックアップ処理中に強制的に電源が断たれた（コンセントが引き抜かれるなどした）場合や、バックアップ処理中にインタフェース部１６とバックアップ先となったハードディスク等との接続が断たれた場合にバックアップフラグが削除されずに残存することとなり、前回のバックアップ時に処理が正常に終了したか否かを調べることが可能となる。そして前回のバックアップ処理が正常に終了していなければ、データベースに更新がなかったとしても、バックアップの処理を行うこととしている。これにより、バックアップの処理をより確実なものにできる。
【００５５】
また本実施の形態の情報処理装置１は、利用者から復元処理を行うべき旨の指示を受けて、次の図６に例示するように動作する。すなわち情報処理装置１は、インタフェース部１６に接続されたバックアップ先のハードディスク等に格納されているバックアップ先ディレクトリの一覧を表示する（Ｓ２１）。図５に示した例であれば、ディレクトリ（Ａ），（Ｂ）がリストとして表示される。
【００５６】
ここで利用者がいずれかのディレクトリを選択する操作を行うと、情報処理装置１は当該操作を受け入れて、選択されたディレクトリを復元元ディレクトリ（復元対象のバックアップデータ）とし（Ｓ２２）、復元元ディレクトリからストレージ部１３に対して、データベースと、データとを複写する（Ｓ２３）。またこの処理Ｓ２３において情報処理装置１は、サムネイル画像のデータが復元元ディレクトリにあれば、復元元ディレクトリからストレージ部１３に対して、当該サムネイル画像のデータも複写してもよい。
【００５７】
そして情報処理装置１は、ストレージ部１３に複写した画像データについて、改めてサムネイル画像のデータを生成する（Ｓ２４）。なお既にサムネイル画像のデータが生成されている画像データについては、当該画像データについては、サムネイル画像を新たに作り直さなくてもよい。ここでサムネイル画像のデータのファイル名は、サムネイル画像の元となった画像データのファイル名に、例えば「Ｓ」なる文字列を付加したものとしておく。このようにすると、ある画像データに対応するサムネイル画像は常に同じファイル名となる。そこで情報処理装置１は、処理Ｓ２４においては、生成したサムネイル画像のファイル名と同じファイル名のサムネイル画像が既にストレージ部１３に格納されている場合は、そのサムネイル画像を生成しないよう制御する。
【００５８】
このように、復元元のディレクトリを利用者が選択することで、例えば、別の情報処理装置１で生成したバックアップデータのリストも、この処理Ｓ２１におけるリストに提示されることとなり、別の情報処理装置１で生成したバックアップデータから復元することも可能となる。
【００５９】
なお、制御部１１は、ストレージ部１３に格納するデータベースについては、その更新を行うごとに、更新の日時を表す情報を、図示しないカレンダーＩＣ等から取得して、データベースに関連付けて保持することとしてもよい。そして制御部１１は、このデータベースの更新の日時を表す情報を、利用者の求めに応じて表示出力するようにしてもよい。
【００６０】
なお、ここまでの説明では、サムネイル画像のデータが一種類であるものとして説明したが、互いに異なるサイズの複数のサムネイル画像のデータ、あるいは、縮小ではなく予め定めた方法で画像データの一部を切り出すことによって作成したサムネイル画像のデータなど、一つの画像データについて、複数種類のサムネイル画像のデータを生成してもよい。この場合、処理Ｓ１０では複数種類のサムネイル画像のうち、作成の処理負荷の低いものから順に削除して空き容量を調べるといった処理を繰り返してもよい。そして一部種類のサムネイル画像が削除された時点で、空き容量がしきい値を下回らないこととなったときには処理Ｓ６に戻って処理を続けることとすればよい。
【００６１】
また、ここまでの説明では、バックアップ先はディレクトリであるものとしたが、これに限られず、例えばｚｉｐ等で圧縮されるアーカイブであってもよい。この場合は当該アーカイブがバックアップデータとなる。
【００６２】
さらに、ここではバックアップ先は、インタフェース部１６に接続されたハードディスク等であるものとしたが、インタフェース１６がネットワークインタフェースを備える場合は、バックアップ先として、例えばＵＲＬ（Uniform Resource Locator）で指定されるネットワーク上のサーバ等であってもよい。
【符号の説明】
【００６３】
１  情報処理装置、１１  制御部、１２  記憶部、１３  ストレージ部、１４  操作部、１５  表示部、１６  インタフェース部、２１  バックアップ要否判定部、２２  バックアップ条件判断部、２３  上書きバックアップ生成部、２４  新規バックアップ生成部。
【図１】
0005790415.tif 000002
【図２】
0005790415.tif 000003
【図３】
0005790415.tif 000004
【図４】
0005790415.tif 000005
【図５】
0005790415.tif 000006
【図６】
0005790415.tif 000007