(57)【特許請求の範囲】
【請求項１】
前回のバックアップ処理の起動種別が自動であるか否かを判定する判定処理と、
前記前回のバックアップ処理の前記起動種別が自動であると判定した場合に、前回のバックアップデータと今回のバックアップデータをマージするマージ処理と、
を含みコンピュータが実行するバックアップ方法。
【請求項２】
前記バックアップ方法は、更に、
自動又は手動により起動される前記バックアップ処理
を含み、
前記判定処理と前記マージ処理は、自動により起動される前記バックアップ処理に連動する
請求項１記載のバックアップ方法。
【請求項３】
前記判定処理では、前回のバックアップ処理の起動種別が手動であるか否かを判定し、
前記バックアップ方法では、前記前回のバックアップ処理の前記起動種別が手動である場合に、前記マージを行わない
請求項１又は２記載のバックアップ方法。
【請求項４】
前記バックアップ処理は、差分バックアップ処理である
請求項１乃至３のいずれか１つ記載のバックアップ方法。
【請求項５】
前回のバックアップ処理の起動種別が自動であるか否かを判定する処理と、
前記前回のバックアップ処理の前記起動種別が自動であると判定した場合に、前回のバックアップデータと今回のバックアップデータをマージする処理と、
をコンピュータに実行させるためのプログラム。
【請求項６】
前回のバックアップ処理の起動種別が自動であるか否かを判定する判定部と、
前記前回のバックアップ処理の前記起動種別が自動であると判定した場合に、前回のバックアップデータと今回のバックアップデータをマージするマージ部と、
を有するバックアップ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術は、データのバックアップに関する。
【背景技術】
【０００２】
ディスクの破損、誤操作、あるいはウイルスなどに起因するデータ喪失に備えて、データのバックアップが行われている。バックアップで複製データを生成しておくことにより、データを復元することができるようになる。
【０００３】
また、手動によるバックアップ操作を失念した場合であってもデータを復旧できるようにするために、自動バックアップも行われている。特に、頻繁に更新されるデータの最新状態を保全する目的で、バックアップ期間を短く設定している場合には、定常的にデータの蓄積量が増加する。
【０００４】
バックアップにより蓄積するデータの量を削減するために、変更分あるいは追加分のデータのみを保存する差分バックアップ処理も行われているが、差分バックアップ処理であっても、差分バックアップの度に蓄積するバックアップデータの量が増えることには変わりがない。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平１１−１２００５７号公報
【特許文献２】特開２００１−２９０６８６号公報
【特許文献３】特開昭６１−０２６１５５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
従って、本技術の目的は、一側面では、自動バックアップに伴うバックアップデータの蓄積量の増大を抑制することである。
【課題を解決するための手段】
【０００７】
本実施の形態に係るバックアップ方法は、前回のバックアップ処理の起動種別が自動であるか否かを判定する判定処理と、前回のバックアップ処理の起動種別が自動である場合に、前回のバックアップデータと今回のバックアップデータをマージするマージ処理とを含む。
【発明の効果】
【０００８】
自動バックアップに伴うバックアップデータの蓄積量の増大を抑制することができる。
【図面の簡単な説明】
【０００９】
【図１】図１は、バックアップに係るモジュールの構成の例を示す図である。
【図２】図２は、バックアップの事例を示す図である。
【図３】図３は、バックアッププログラムの処理フローの例を示す図である。
【図４】図４は、手動バックアップ処理フローの例を示す図である。
【図５】図５は、バックアップデータの例を示す図である。
【図６】図６は、自動バックアップ処理フローの例を示す図である。
【図７】図７は、バックアップデータの例を示す図である。
【図８】図８は、判定処理フローの例を示す図である。
【図９】図９は、バックアップデータの例を示す図である。
【図１０】図１０は、マージ処理フローの例を示す図である。
【図１１】図１１は、バックアップデータの例を示す図である。
【図１２】図１２は、バックアップの事例を示す図である。
【図１３】図１３は、バックアップの事例を示す図である。
【図１４】図１４は、バックアップの事例を示す図である。
【図１５】図１５は、コンピュータの構成の例を示す図である。
【発明を実施するための形態】
【００１０】
図１は、バックアップに係るモジュールの構成の例を示す図である。バックアップ装置であるコンピュータ１は、バックアッププログラム３、オペレーティングシステム５及びデータ格納部７を備えている。図１のバックアッププログラム３は、例えばＨＤＤ（Hard Disk Drive）に格納されているプログラムがＲＡＭ（Random Access Memory）にロードされ、ＣＰＵ（Central Processing Unit）により実行可能な状態となっていることを示している。
【００１１】
バックアッププログラム３は、受付部３１、記憶部３３、起動部３５、バックアップ部３７、判定部３９及びマージ部４１を備えている。受付部３１は、ユーザから自動バックアップの指示等を受け付けるように動作する。
【００１２】
記憶部３３は、ユーザに指定された自動のバックアップ対象等を記憶している。起動部３５は、自動バックアップのタイミングを判定するように動作する。バックアップ部３７は、手動バックアップ処理と自動バックアップ処理を行う。手動バックアップ処理は、ユーザの指示により起動されるバックアップ処理である。自動バックアップ処理は、ユーザの指示によらず、コンピュータによる自動的な条件の判断により起動されるバックアップ処理である。本実施の形態では、手動バックアップ処理でも、自動バックバック処理でも、前回のバックアップとの差分データのみを保存する差分バックアップを行う。
【００１３】
判定部３９は、マージを行うか否かを判定するように動作する。マージ部４１は、前回のバックアップデータと今回のバックアップデータをマージするように動作する。マージ処理では、前回のバックアップデータのうち、今回のバックアップデータと重複する情報及び古い情報は破棄される。マージ処理の結果、今回のバックアップデータの時点で最新の情報のみが残るようになる。
【００１４】
オペレーティングシステム５は、例えば、ディレクトリに含まれるファイルリストをバックアッププログラム３に提供するように動作する。オペレーティングシステム５は、更にファイルのリード及びライトなどのファイル管理も行う。尚、ディレクトリは、フォルダと呼ばれることもある。
【００１５】
データ格納部７は、ＨＤＤやＵＳＢ（Universal Serial Bus）メモリなどの記憶媒体に設けられる。データ格納部７は、元データ格納部７１とバックアップデータ格納部７３を有している。
【００１６】
元データ格納部７１は、バックアップ対象として特定される。バックアップ対象は、バックアップを取る元のデータの範囲を特定する単位で指定される。例えば、バックアップ対象としてドライブを指定した場合には、そのドライブ全体が元データ格納部７１となり、ドライブのルートディレクトリ以下のファイルがバックアップで保護される元データとなる。バックアップ対象としてドライブ内の特定のディレクトリを指定した場合には、ドライブ内のディレクトリが元データ格納部７１となり、そのディレクトリ以下のファイルがバックアップで保護される元データとなる。
【００１７】
バックアップデータ格納部７３は、バックアップデータを格納する領域である。
【００１８】
図１では、元データ格納部７１とバックアップデータ格納部７３を同一のデータ格納部７に含まれるように描いているが、元データ格納部７１とバックアップデータ格納部７３は、別のデータ格納部７に含まれるようにしてもよい。また、元データ格納部７１とバックアップデータ格納部７３は、別の記憶媒体に設けられるようにしてもよい。例えば、元データ格納部７１はＨＤＤ内に設けられ、バックアップデータ格納部７３はＵＳＢメモリやＣＤ（Compact Disc）ディスクあるいはＤＶＤ（Digital Versatile Disc）ディスクなどのリムーバブル・ディスク内に設けられるようにしてもよい。
【００１９】
まず、本実施の形態におけるバックアップの概要を、事例に基づいて説明する。図２は、バックアップの事例を示す図である。この事例では、１月３日に手動バックアップが行われ、１月６日に自動バックアップが行われ、１月８日に自動バックアップとマージが行われている。本実施の形態では、１月８日のように今回（１月８日）と前回（１月６日）のバックアップがともに「自動」である場合にマージを行なう。１月６日のように前回の（１月３日）のバックアップが「手動」である場合にはマージを行なわない。
【００２０】
１月３日の手動バックアップは、初回のバックアップである。１月３日の手動バックアップにおけるバックアップ対象は、「Ｃ：￥Ｘ」つまりＣドライブのディレクトリ「Ｘ」である。Ｃドライブのディレクトリ「Ｘ」が、元データ格納部７１に相当する。１月３日の手動バックアップを行う時点で、バックアップ対象であるＣドライブのディレクトリ「Ｘ」には、ファイル「Ａ」とファイル「Ｂ」が格納されている。ファイル「Ａ」の更新日時は１月１日であり、ファイル「Ｂ」の更新日時は１月２日である。
【００２１】
手動バックアップにより生成されるバックアップデータを下段の太線枠の囲みで示している。バックアップデータは、バックアップデータ格納部７３内に生成される。バックアップデータには、バックアップ対象「Ｃ：￥Ｘ」、起動種別「手動」、バックアップ日時「１月３日」が記憶されている。バックアップデータには、更にバックアップファイル「Ａ」と「Ｂ」が記憶されている。初回のバックアップでは、すべてのファイルがバックアップされる。
【００２２】
１月６日の自動バックアップは、２回目のバックアップである。バックアップ対象は、１月３日の手動バックアップと同様に「Ｃ：￥Ｘ」である。１月６日の自動バックアップを行う時点で、バックアップ対象であるＣドライブのディレクトリ「Ｘ」には、ファイル「Ａ」とファイル「Ｂ」とファイル「Ｃ」が格納されている。ファイル「Ａ」の更新日時は１月１日であり、１月３日の手動バックアップの時点から変更されていない。他方、ファイル「Ｂ」の更新日時は１月４日であり、１月３日の手動バックアップの時点から変更されている。ファイル「Ｃ」の更新日時は１月５日であり、ファイル「Ｃ」は１月３日の手動バックアップ以降に追加されたファイルである。
【００２３】
１月６日の自動バックアップでは、手動バックアップが行われた１月３日のバックアップデータとの差分のみが新たなバックアップデータとして保存される。自動バックアップにより生成されるバックアップデータを下段の太線枠の囲みで示している。バックアップデータは、前回と同様にバックアップデータ格納部７３内に生成される。バックアップデータには、バックアップ対象「Ｃ：￥Ｘ」、起動種別「自動」、バックアップ日時「１月６日」が記憶されている。バックアップデータには、更にバックアップファイル「Ｂ」とバックアップファイル「Ｃ」が記憶されている。ファイル「Ａ」は、前回と同じなのでバックアップデータに加えない。ファイル「Ｂ」は変更されているので、改めてバックアップデータに加える。ファイル「Ｃ」は、新たに追加されているので、バックアップデータに加える。
【００２４】
１月３日に行われた前回のバックアップの起動種別が「手動」であるので、１月６日の自動バックアップではマージは行われない。「手動」によるバックアップデータは、ユーザが意識して保存させたデータであり、その時点でのデータを復元できるようにしておくことが望ましいからである。仮に、１月３日のバックアップデータと１月６日のバックアップデータをマージすると、１月６日のバックアップデータに含まれないファイル「Ａ」は、１月６日のバックアップデータに移され残されるが、更新日時が１月２日の古いファイル「Ｂ」は、１月６日のバックアップデータに移されずに消去される結果となる。このように、マージを行うと前回のバックアップデータの一部が消失する場合があるので、前回のバックアップの起動種別が「手動」である場合には、マージを行なわない。従って、手動バックアップによるバックアップデータは、そのまま保持される。
【００２５】
１月８日の自動バックアップは、３回目のバックアップである。バックアップ対象は、前回及び前々回と同様に「Ｃ：￥Ｘ」である。１月８日の自動バックアップを行う時点で、バックアップ対象であるＣドライブのディレクトリ「Ｘ」には、ファイル「Ａ」とファイル「Ｂ」とファイル「Ｃ」が格納されている。ファイル「Ａ」の更新日時は１月１日であり、１月３日の手動バックアップの時点からファイル「Ａ」は変更されていない。他方、ファイル「Ｂ」の更新日時は１月７日であり、１月６日の自動バックアップの時点から更に変更されている。ファイル「Ｃ」の更新日時は１月５日であり、１月６日の自動バックアップから変更されていない。
【００２６】
１月８日の自動バックアップでは、前回１月６日のバックアップデータとの差分のみがバックアップデータとして保存される。自動バックアップにより生成されるバックアップデータを下段の太線枠の囲みで示している。バックアップデータは、前回と前々回と同様にバックアップデータ格納部７３内に生成される。バックアップデータには、バックアップ対象「Ｃ：￥Ｘ」、起動種別「自動」、バックアップ日時「１月８日」が記憶されている。バックアップデータには、更にバックアップファイル「Ｂ」が記憶されている。ファイル「Ａ」は変更されていないので、バックアップデータに加えない。ファイル「Ｂ」は変更されているので、バックアップデータに加える。ファイル「Ｃ」は変更されていないので、バックアップデータに加えない。
【００２７】
１月６日に行われた前回のバックアップの起動種別が「自動」であるので、１月８日の自動バックアップでは連動してマージも行う。「自動」によるバックアップデータは、ユーザが意識して保存させたデータではないので、その時点でのデータを復元できなくても支障はないと想定されるからである。ファイル「Ｂ」については、更新日時が１月７日である最新のファイルを残し、更新日時が１月４日である古いファイルは残さない。ファイル「Ｃ」については、今回のバックアップデータに含まれていないので、前回のバックアップデータに含まれているファイル「Ｃ」を今回のバックアップデータに移す。そして、前回のバックアップデータは、すべて消去される。更新日時が１月４日の古いファイル「Ｂ」は消去される結果となるが、１月４日のバックアップについてユーザは意識していないので、更新日時が１月７日の最新のファイル「Ｂ」を復元できるようにしておけば十分であると考えられる。
【００２８】
続いて本実施の形態におけるバックアッププログラムの処理について説明する。図３に、バックアッププログラムの処理フローの例を示す。受付部３１は、ユーザからの指示を受け付け、受け付けた指示が手動バックアップの指示であるか否かを判定する（Ｓ３０１）。受け付けた指示が手動バックアップの指示であると判定した場合には、バックアップ部３７は、手動バックアップ処理を行う（Ｓ３０３）。手動バックアップ処理は、ユーザの指示により起動されるバックアップ処理である。従って、手動バックアップ処理で保存されるデータは、ユーザが残したいと意識した情報であると言える。手動バックアップ処理については、図４を用いて後述する。
【００２９】
受け付けた指示が手動バックアップの指示でないと判定した場合には、起動部３５は、自動バックアップのタイミングであるか否かを判定する（Ｓ３０５）。自動バックアップのタイミングであると判定した場合には、バックアップ部３７は、自動バックアップ処理を行う（Ｓ３０７）。自動バックアップ処理は、コンピュータが独自に起動するバックアップ処理である。従って、自動バックアップ処理で保存されるデータは、ユーザが残したいと意識した情報ではない。手動バックアップの操作を失念した場合にも復元できるように、自動的に保存するものである。自動バックアップ処理については、図６を用いて後述する。
【００３０】
一方、自動バックアップのタイミングでないと判定した場合には、Ｓ３０１の手動バックアップの指示を受け付ける処理に戻る。
【００３１】
続いて、判定部３９は、判定処理を行う（Ｓ３０９）。判定処理では、主に前回のバックアップの起動種別によって、マージを行うか否かを決める。判定処理については、図８を用いて後述する。
【００３２】
判定部３９は、判定結果が「マージ要」であるか、あるいは「マージ不要」であるかを判定する（Ｓ３１１）。
【００３３】
判定結果が「マージ要」である場合には、マージ部４１は、マージ処理を行う（Ｓ３１３）。マージ処理については、図１０を用いて後述する。マージ処理を終えると、Ｓ３０１の手動バックアップの指示を受け付ける処理に戻る。
【００３４】
一方、判定結果が「マージ不要」である場合には、マージ処理を行わずに、Ｓ３０１の手動バックアップの指示を受け付ける処理に戻る。「マージ処理を行わない」とは、「マージ処理を省略する」とも言う。
【００３５】
次に、図３のＳ３０３に示した手動バックアップ処理について説明する。図４は、手動バックアップ処理フローの例を示す図である。バックアップ部３７は、受付部３１を介して、バックアップ対象の指示を受け付ける（Ｓ４０１）。例えば、ドライブ名やディレクトリ名などの記憶領域の識別情報を受け付ける。この記憶領域に含まれるファイルが、バックアップによる保護の対象となる。
【００３６】
バックアップ部３７は、バックアップ対象となるファイルのリストを取得する（Ｓ４０３）。具体的には、バックアップ部３７は、バックアップ対象であるドライブ名やディレクトリ名を指定して、オペレーティングシステム５へファイルリストを求める。オペレーティングシステム５は、ドライブ名やディレクトリ名で指定されたドライブやディレクトリに含まれるファイルのリストを、バックアップ部３７に返す。
【００３７】
バックアップ部３７は、ファイルリストに含まれるファイル毎に、Ｓ４０７〜Ｓ４１５の処理を繰り返す（Ｓ４０５）。バックアップ部３７は、そのファイルが過去のバックアップデータに含まれるか否かを判定する （Ｓ４０７）。そのファイルが過去のバックアップデータに含まれていない場合には、Ｓ４１１〜Ｓ４１５の処理を行う。これらの処理により、そのファイルがバックアップデータに加えられる。
【００３８】
そのファイルが過去のバックアップデータに含まれる場合には、バックアップ部３７は、更にそのファイルの更新日時が過去のバックアップデータの更新日時と一致するか否かを判定する（Ｓ４０９）。そのファイルの更新日時が過去のバックアップデータの更新日時と一致しないと判定した場合には、Ｓ４１１〜Ｓ４１５の処理を行う。これらの処理により、そのファイルがバックアップデータに加えられる。
【００３９】
一方、そのファイルの更新日時がその過去のバックアップデータの更新日時と一致すると判定した場合には、バックアップデータの作成を行わず、Ｓ４１７の処理に移行する。
【００４０】
ここで、バックアップデータの構成について説明する。バックアップデータは、バックアップ処理の度に生成され、バックアップデータ格納部７３に追加される。図５は、バックアップデータの例を示す図である。バックアップデータは、バックアップ日時と、起動種別と、バックアップ対象と、コメントと、バックアップファイル数を記憶している。バックアップデータは、更に、バックアップファイル本体を記憶している。尚、図５は、図２に示した事例の１月３日におけるバックアップデータの内容を表している。
【００４１】
バックアップ日時は、バックアップデータを生成した日時である。起動種別は、バックアップデータを生成したバックアップ処理の起動の種別である。本実施の形態における起動種別は、ユーザの指示よる「手動」と、コンピュータの自動的な条件判断による「自動」のいずれかである。バックアップ対象は、このバックアップを取ったデータの範囲を特定する単位である。本実施の形態のバックアップ対象は、ドライブ又はディレクトリである。コメントは、このバックアップに対するユーザ用の付属情報である。例えば、コメントは、タイトルやメモ書きとして利用されることが想定される。バックアップファイル数は、このバックアップにより保存したファイルの数である。更に、バックアップファイル毎に、バックアップの元となったファイルが格納されていたパスと、バックアップファイルの更新日時と、バックアップファイル本体を記憶している。バックアップファイルの更新日時には、バックアップファイルを生成したときの日時が格納される。
【００４２】
図４に戻って、Ｓ４１１〜Ｓ４１５でバックアップデータを生成する処理について説明する。バックアップ部３７は、バックアップデータにパスと更新日時を書き込み（Ｓ４１１）、元のファイルをバックアップファイルにコピーする（Ｓ４１３）。更にバックアップ部３７は、バックアップファイル数をインクリメントする（Ｓ４１５）。
【００４３】
バックアップ部３７は、ファイルリストに含まれるすべてのファイルについて処理したか否かを判定する（Ｓ４１７）。ファイルリストに含まれるファイルのうち、まだ処理していないファイルがあると判定した場合には、Ｓ４０５に戻って処理を繰り返す。
【００４４】
一方、ファイルリストに含まれるすべてのファイルについて処理したと判定した場合には、バックアップ部３７は、受付部３１を介してユーザからのコメントを受け付ける（Ｓ４１９）。更に、バックアップ部３７は、現在の日付と時刻をコンピュータが備える時計部より取得して、バックアップ日時に書き込み、起動種別に「手動」を書き込む。バックアップ部３７は、更にＳ４０１で取得したバックアップ対象を書き込み、Ｓ４１９で受け付けたコメントも書き込む（Ｓ４２１）。そして、バックアップ部３７は、手動バックアップの処理を終了し、図３のＳ３０１に戻る。
【００４５】
次に、図３のＳ３０７に示した自動バックアップ処理について説明する。図６は、自動バックアップ処理フローの例を示す図である。以下、図４の手動バックアップ処理との相違点について説明する。
【００４６】
手動バックアップ処理におけるバックアップ対象の受け付け（Ｓ４０１）に代えて、バックアップ部３７は、記憶部３３からバックアップ対象を取得する（Ｓ６０１）。自動バックアップにおけるバックアップ対象は、受付部３１を介して予めユーザから受け付けられ、記憶部３３に記憶されている。自動バックアップ処理では、自動バックアップにおけるバックアップ対象で特定されるファイルについてバックアップ処理を行う。
【００４７】
Ｓ４０３〜Ｓ４１７の処理は、図４に示した手動バックアップ処理の場合と同様である。そして、手動バックアップ処理におけるコメントの受け付け（Ｓ４１９）に代えて、バックアップ部３７は、自動的にコメントを作成する（Ｓ６０３）。例えば、バックアップ部３７は、「自動バックアップ」の文字列をコメントとする。バックアップ部３７は、バックアップの日時やバックアップ対象のドライブ名やディレクトリ名をタイトルに用いてもよい。Ｓ４２１では、バックアップ部３７は、起動種別に「自動」を書き込む。Ｓ４２１の処理を終えると、図３のＳ３０９へ戻る。
【００４８】
図７に、自動バックアップによるバックアップデータの例を示す。バックアップデータに含まれる項目は、手動バックアップによるバックアップデータと共通である。但し、起動種別は「自動」となり、コメントには自動的に生成された文字列が格納されている。尚、図７は、図２に示した事例の１月６日におけるバックアップデータの内容を表している。
【００４９】
次に、図３のＳ３０９に示した判定処理について説明する。図８は、判定処理フローの例を示す図である。この処理で、判定部３９はマージを行うか否かを判定する。判定部３９は、マージを行うと判定した場合には、判定結果を「マージ要」とする。他方、判定部３９は、マージを行わないと判定した場合には、判定結果を「マージ不要」とする。判定部３９は、まず、前回のバックアップデータがあるか否かを判定する（Ｓ８０１）。具体的には、バックアップデータ格納部７３に既にバックアップデータが格納されている場合に、前回のバックアップデータがあると判定し、バックアップデータ格納部７３に未だバックアップデータが格納されていない場合に、前回のバックアップデータがないと判定する。バックアップデータ格納部７３に既に複数のバックアップデータが格納されている場合には、複数のバックアップデータのうち、更新日時が最新であるバックアップデータを前回のバックアップデータであると判断する。
【００５０】
前回のバックアップデータがないと判定した場合には、判定結果を「マージ不要」とする（Ｓ８０７）。マージを行う対象が存在しないからである。
【００５１】
一方、前回のバックアップデータがあると判定した場合には、判定部３９は、Ｓ８０１で特定した前回のバックアップデータから起動種別を取得し、前回のバックアップデータの起動種別が「手動」であるか「自動」であるかを判定する（Ｓ８０３）。前回のバックアップデータの起動種別が「手動」であると判定した場合には、判定結果を「マージ不要」とする（Ｓ８０７）。ユーザが意識して残したバックアップデータを、そのまま保持するためである。
【００５２】
一方、前回のバックアップデータの起動種別が「自動」であると判定した場合には、判定部３９は、今回のバックアップ対象が前回のバックアップ対象と一致するか否かを判定する（Ｓ８０５）。今回のバックアップ対象が前回のバックアップ対象と一致しないと判定した場合には、判定部３９は判定結果を「マージ不要」とする（Ｓ８０７）。互いにマージする関係ではないからである。一方、今回のバックアップ対象が前回のバックアップ対象と一致すると判定した場合には、判定部３９は判定結果を「マージ要」とする（Ｓ８０９）。処理を終えると、図３のＳ３１１へ戻る。
【００５３】
図９に、マージ前のバックアップデータの例を示す。尚、図９は、図２に示した事例の１月８日におけるマージ前のバックアップデータの内容を表している。
【００５４】
次に、図３のＳ３１３に示したマージ処理について説明する。図１０は、マージ処理フローの例を示す図である。マージ処理では、前回のバックアップデータに含まれるバックアップファイルのうち、必要なものを今回のバックアップデータに移し、その後前回のバックアップデータを削除する。
【００５５】
マージ部４１は、前回のバックアップデータに含まれるバックアップファイル毎に、Ｓ１００３〜Ｓ１００７の処理を繰り返す（Ｓ１００１）。マージ部４１は、前回のバックアップファイルのパスが、今回のバックアップファイルのうちのいずれかのバックアップファイルのパスと一致するか否かを判定する（Ｓ１００３）。前回のバックアップファイルのパスが今回のバックアップファイルのいずれかのパスと一致しない場合には、マージ部４１は、前回のバックアップファイルを今回のバックアップデータに移して残すように動作する。具体的には、マージ部４１は、その前回のバックアップファイルのパスと更新日時を、今回のバックアップファイルのパスと更新日時に書き込み（Ｓ１００５）、更に前回のバックアップデータに含まれる前回のバックアップファイルを今回のバックアップデータのバックアップファイルにコピーする（Ｓ１００７）。
【００５６】
一方、前回のバックアップファイルのパスが今回のバックアップファイルのパスと一致する場合には、その前回のバックアップファイルを残さなくてもよいので、Ｓ１００５とＳ１００７の処理は行わない。
【００５７】
マージ部４１は、前回のバックアップデータに含まれるすべてのバックアップファイルを処理したか否かを判定する（Ｓ１００９）。未だ処理されていないバックアップファイルがあると判定した場合には、マージ部４１はＳ１００１に戻る。処理されていないバックアップファイルが無いと判定した場合には、マージ部４１は、前回のバックアップデータを削除して（Ｓ１０１１）、マージ処理を終了し、図３のＳ３０１へ戻る。
【００５８】
図１１に、マージ後のバックアップデータの例を示す。尚、図１１は、図２に示した事例の１月８日におけるマージ後のバックアップデータの内容を表している。
【００５９】
以下、他のバックアップの事例について説明する。図１２は、前回のバックアップの起動種別が「手動」であるためにマージを行わない例を示している。
【００６０】
１回目のバックアップは、図２の１回目のバックアップと同様である。２回目のバックアップは手動により起動されているため、２回目のバックアップデータの起動種別が「手動」となっている。２回目のバックアップは、起動種別が「手動」である点を除いて、図２の２回目のバックアップと同様である。
【００６１】
３回目のバックアップは、図２の３回目のバックアップと同様である。但し、３回目の自動バックアップ後の判定処理（図８）において、Ｓ８０３で前回のバックアップデータの起動種別が「手動」であり、マージ不要と判定されるためにマージ処理は行われない。これにより、手動で行った２回目のバックアップデータはそのまま保持されることになる。
【００６２】
図１３は、バックアップ対象が変更されたためにマージを行わない例を示している。１回目のバックアップと２回目のバックアップは、図２の１回目のバックアップと２回目のバックアップと同様である。３回目のバックアップのバックアップ対象は、「Ｃ：￥Ｚ」である。そのため、３回目の自動バックアップ後の判定処理（図８）において、Ｓ８０５で前回のバックアップ対象と一致しないと判定され、判定結果がマージ不要となる。その結果、マージ処理は行われない。
【００６３】
図１４は、手動バックアップであるためにマージを行わない例を示している。１回目のバックアップと２回目のバックアップは、図２の１回目のバックアップと２回目のバックアップと同様である。３回目のバックアップの起動種別は「手動」である。図３に示す通り、手動バックアップ処理（Ｓ３０３）に続いては、判定処理（Ｓ３０９）もマージ処理（Ｓ３１３）も行われないので、マージは行われない。
【００６４】
以上本技術の一実施の形態を説明したが、本技術はこれに限定されるものではない。例えば、上述の機能ブロック構成は必ずしも実際のプログラムモジュール構成に対応するものではない。
【００６５】
また、上で説明した各記憶領域の構成は一例であって、必ずしも上記のような構成でなければならないわけではない。さらに、処理フローにおいても、処理結果が変わらなければ処理の順番を入れ替えることも可能である。さらに、並列に実行させるようにしても良い。
【００６６】
なお、上で述べたバックアップ装置は、コンピュータ装置であって、図１５に示すように、メモリ２５０１とＣＰＵ（Central Processing Unit）２５０３とハードディスク・ドライブ（ＨＤＤ：Hard Disk Drive）２５０５と表示装置２５０９に接続される表示制御部２５０７とリムーバブル・ディスク２５１１用のドライブ装置２５１３と入力装置２５１５とネットワークに接続するための通信制御部２５１７とがバス２５１９で接続されている。オペレーティング・システム（ＯＳ：Operating System）及び本実施例における処理を実施するためのアプリケーション・プログラムは、ＨＤＤ２５０５に格納されており、ＣＰＵ２５０３により実行される際にはＨＤＤ２５０５からメモリ２５０１に読み出される。ＣＰＵ２５０３は、アプリケーション・プログラムの処理内容に応じて表示制御部２５０７、通信制御部２５１７、ドライブ装置２５１３を制御して、所定の動作を行わせる。また、処理途中のデータについては、主としてメモリ２５０１に格納されるが、ＨＤＤ２５０５に格納されるようにしてもよい。本技術の実施例では、上で述べた処理を実施するためのアプリケーション・プログラムはコンピュータ読み取り可能なリムーバブル・ディスク２５１１に格納されて頒布され、ドライブ装置２５１３からＨＤＤ２５０５にインストールされる。インターネットなどのネットワーク及び通信制御部２５１７を経由して、ＨＤＤ２５０５にインストールされる場合もある。このようなコンピュータ装置は、上で述べたＣＰＵ２５０３、メモリ２５０１などのハードウエアとＯＳ及びアプリケーション・プログラムなどのプログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
【００６７】
以上述べた実施の形態をまとめると、以下のようになる。
【００６８】
本実施の形態に係るバックアップ方法は、前回のバックアップ処理の起動種別が自動であるか否かを判定する判定処理と、前回のバックアップ処理の起動種別が自動である場合に、前回のバックアップデータと今回のバックアップデータをマージするマージ処理とを含む。
【００６９】
このようにすれば、自動バックアップに伴うバックアップデータの蓄積量の増大を抑制することができる。自動バックアップは、主に最新のデータの保全を目的として行われるので、最新データの復元に用いないデータをマージにより削除しても支障は少ないと考えられる。
【００７０】
上述したバックアップ方法は、更に、自動又は手動により起動されるバックアップ処理を含み、上記判定処理と上記マージ処理は、自動により起動されるバックアップ処理に連動するようにしてもよい。
【００７１】
このようにすれば、自動バックアップとともに自動的にマージを行うようになるので、ユーザがマージの操作を行わなくても、バックアップデータの蓄積量の増大を抑制することができる。特に、自動バックアップの繰り返しによる定常的なデータ蓄積量の増加を防ぐことができる点で有効である。また、ユーザがデータの増大に気を遣わない場合や、マージ処理の起動を怠る場合にも、自動的に対応できる点においても優位である。特に、初心者は、マージ処理の有効性を認識していないことがあり、またマージ対象となるバックアップデータの選択操作を煩わしく思い、マージ処理を敬遠することもある。このような初心者が生成し、あるいは更新するデータを保全するためにも役立つ。
【００７２】
上述した判定処理は、前回のバックアップ処理の起動種別が手動であるか否かを判定し、バックアップ方法は、前回のバックアップ処理の起動種別が手動である場合に、マージを行わないようにしてもよい。
【００７３】
このようにすれば、手動バックアップデータをマージにより消失することを避けることができる。手動バックアップは、ユーザがデータを残す目的を持って行われる場合があるので、手動バックアップ時のデータを復元できるようにしておくことが望ましい。
【００７４】
上述したバックアップ処理は、差分バックアップ処理であってもよい。
【００７５】
一般に、多数回の差分バックアップデータを対象にデータを復元する場合には、復元の処理が複雑になるが、本実施の形態のように自動で行われる差分バックアップの度にマージを行い、最新のバックアップデータのみを残すようにすれば、データの復元処理が単純になり復元の処理時間も短縮できるようになる。
【００７６】
上述した判定処理は、更に、今回のバックアップの対象が前回のバックアップの対象と一致するか否かを判定し、マージ処理は、今回のバックアップの対象が前回のバックアップの対象と一致する場合に、マージを行なうようにしてもよい。
【００７７】
このようにすれば、対象が一致しないマージ処理の起動を避けることができる。
【００７８】
上述した判定処理は、更に、前回のバックアップデータがあるか否かを判定し、マージ処理は、前回のバックアップデータがある場合に、マージを行なうようにしてもよい。
【００７９】
このようにすれば、一方の対象がないマージ処理の起動を避けることができる。
【００８０】
なお、上記方法による処理をコンピュータに行わせるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブルディスク、ＣＤ−ＲＯＭ、光磁気ディスク、半導体メモリ、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納される。尚、中間的な処理結果はメインメモリ等の記憶装置に一時保管される。
【００８１】
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
【００８２】
（付記１）
前回のバックアップ処理の起動種別が自動であるか否かを判定する判定処理と、
前記前回のバックアップ処理の前記起動種別が自動である場合に、前回のバックアップデータと今回のバックアップデータをマージするマージ処理と、
を含みコンピュータが実行するバックアップ方法。
【００８３】
（付記２）
前記バックアップ方法は、更に、
自動又は手動により起動される前記バックアップ処理
を含み、
前記判定処理と前記マージ処理は、自動により起動される前記バックアップ処理に連動する
付記１記載のバックアップ方法。
【００８４】
（付記３）
前記判定処理は、前回のバックアップ処理の起動種別が手動であるか否かを判定し、
前記バックアップ方法は、前記前回のバックアップ処理の前記起動種別が手動である場合に、前記マージを行わない
付記１又は２記載のバックアップ方法。
【００８５】
（付記４）
前記バックアップ処理は、差分バックアップ処理である
付記１乃至３のいずれか１つ記載のバックアップ方法。
【００８６】
（付記５）
前記判定処理は、更に、今回のバックアップの対象が前回のバックアップの対象と一致するか否かを判定し、
前記マージ処理は、前記今回のバックアップの対象が前記前回のバックアップの対象と一致する場合に、前記マージを行なう
付記１乃至４のいずれか１つ記載のバックアップ方法。
【００８７】
（付記６）
前記判定処理は、更に、前記前回のバックアップデータがあるか否かを判定し、
前記マージ処理は、前記前回のバックアップデータがある場合に、前記マージを行なう
付記１乃至５のいずれか１つ記載のバックアップ方法。
【００８８】
（付記７）
前回のバックアップ処理の起動種別が自動であるか否かを判定する処理と、
前記前回のバックアップ処理の前記起動種別が自動である場合に、前回のバックアップデータと今回のバックアップデータをマージする処理と、
をコンピュータに実行させるためのプログラム。
【００８９】
（付記８）
前回のバックアップ処理の起動種別が自動であるか否かを判定する判定部と、
前記前回のバックアップ処理の前記起動種別が自動である場合に、前回のバックアップデータと今回のバックアップデータをマージするマージ部と、
を有するバックアップ装置。
【符号の説明】
【００９０】
１  コンピュータ    ３  バックアッププログラム
５  オペレーティングシステム    ７  データ格納部
３１  受付部    ３３  記憶部
３５  起動部    ３７  バックアップ部
３９  判定部    ４１  マージ部
７１  元データ格納部    ７３  バックアップデータ格納部
【図１】
0005974620.tif 000002
【図２】
0005974620.tif 000003
【図３】
0005974620.tif 000004
【図４】
0005974620.tif 000005
【図５】
0005974620.tif 000006
【図６】
0005974620.tif 000007
【図７】
0005974620.tif 000008
【図８】
0005974620.tif 000009
【図９】
0005974620.tif 000010
【図１０】
0005974620.tif 000011
【図１１】
0005974620.tif 000012
【図１２】
0005974620.tif 000013
【図１３】
0005974620.tif 000014
【図１４】
0005974620.tif 000015
【図１５】
0005974620.tif 000016