(57)【要約】【課題】バックアップ処理中のファイルを編集する際の利便性を向上させる。【解決手段】バックアップ処理中のファイルを編集する場合に、該ファイルをコピーするのではなく、編集結果の編集情報を該ファイルとは別のファイルに出力する。該ファイルのバックアップ完了後に別のファイルに出力した編集情報を該ファイルに適用することで編集後のファイルを得る。【選択図】図６
2016212565.tif 000002
【特許請求の範囲】
【請求項１】
バックアップの対象となるファイルのコピーを実施することでバックアップが実行されているかどうかを判定する判定工程と、
前記判定工程の判定結果に基づいて、前記バックアップの対象となるファイルを編集した結果の出力方法を決定する出力方法決定工程と、
前記出力方法決定工程で決定した編集情報出力方法に基づいて編集情報を出力する編集情報出力工程と、
編集の対象となる編集対象ファイルと、前記編集情報出力工程が出力した編集情報との関連を管理する編集情報管理工程と、
前記編集情報管理工程で管理している該編集対象ファイルのバックアップが完了した後で、該編集対象ファイルに対して、前記編集情報管理工程で該編集対象ファイルに関連付けられた編集情報を適用する編集情報適用工程と、
を有することを特徴とするバックアップ処理方法。
【請求項２】
前記編集情報出力工程は、編集の対象である編集対象ファイルを編集した結果の編集情報を、該編集対象ファイルに上書きすることなく別の形態で出力する機能を有することを特徴とする請求項１に記載のバックアップ処理方法。
【請求項３】
前記出力方法決定工程は、前記バックアップの状態が待機中または実行中のレコードを取得し、取得したレコードを基にバックアップ中かどうかを判定することを特徴とする請求項１または２に記載のバックアップ処理方法。
【請求項４】
前記編集情報適用工程は、前記バックアップが完了した通知を受信することで編集情報を適用することを特徴とする請求項１〜３の何れか１項に記載のバックアップ処理方法。
【請求項５】
バックアップの対象となるファイルに対してバックアップ中であることを表すバックアップ中フラグを設定するバックアップ中フラグ設定工程と、
前記バックアップの対象となるファイルのコピーを実施することでバックアップを実行するバックアップ実行工程と、
前記バックアップの対象となるファイルを編集した結果の出力方法をファイルがバックアップ中であるかを基に決定する出力方法決定工程と、
前記出力方法決定工程で決定した編集情報出力方法に基づいて編集情報を出力する編集情報出力工程と、
編集の対象となる編集対象ファイルと、前記編集情報出力工程が出力した編集情報との関連を管理する編集情報管理工程と、
前記編集情報管理工程で管理している該編集対象ファイルのバックアップが完了した後で、該編集対象ファイルに対して、前記編集情報管理工程で該編集対象ファイルに関連付けられた編集情報を適用する編集情報適用工程と、
を有することを特徴とするバックアップ処理方法。
【請求項６】
前記編集情報出力工程は、編集の対象である編集対象ファイルを編集した結果の編集情報を、該編集対象ファイルに上書きすることなく別の形態で出力する機能を有することを特徴とする請求項５に記載のバックアップ処理方法。
【請求項７】
前記出力方法決定工程は、バックアップの対象となるファイルにバックアップ中フラグが設定されているかを基にバックアップ中かどうかを判定することを特徴とする請求項５または６に記載のバックアップ処理方法。
【請求項８】
前記編集情報適用工程は、前記バックアップ実行工程が通知したバックアップの完了の通知を受信することで編集情報を適用することを特徴とする請求項５〜７の何れか１項に記載のバックアップ処理方法。
【請求項９】
バックアップの対象となるファイルおよびバックアップが進行している状況を表す状態を管理するバックアップ状態管理工程と、
前記バックアップの対象となるファイルのコピーを実施することでバックアップを実行するバックアップ実行工程と、
前記バックアップの対象となるバックアップが進行している状況を表す状態を監視してバックアップが完了したことを検出するバックアップ完了検出工程と、
前記バックアップの対象となるファイルを編集した結果の出力方法をファイルがバックアップ中であるかを基に決定する出力方法決定工程と、
前記出力方法決定工程で決定した編集情報出力方法に基づいて編集情報を出力する編集情報出力工程と、
編集の対象となる編集対象ファイルと、前記編集情報出力工程が出力した編集情報との関連を管理する編集情報管理工程と、
前記編集情報管理工程で管理している該編集対象ファイルのバックアップが完了した後で、該編集対象ファイルに対して、前記編集情報管理工程で該編集対象ファイルに関連付けられた編集情報を適用する編集情報適用工程と、
を有することを特徴とするバックアップ処理方法。
【請求項１０】
前記編集情報出力工程は、編集の対象である編集対象ファイルを編集した結果の編集情報を、該編集対象ファイルに上書きすることなく別の形態で出力する機能を有することを特徴とする請求項９に記載のバックアップ処理方法。
【請求項１１】
前記出力方法決定工程は、前記バックアップ状態管理工程が管理するバックアップの状態を基にバックアップ中かどうかを判定することを特徴とする請求項９または１０に記載のバックアップ処理方法。
【請求項１２】
前記編集情報適用工程は、前記バックアップ完了検出工程が通知したバックアップの完了の通知を受信することで編集情報を適用することを特徴とする請求項９〜１１の何れか１項に記載のバックアップ処理方法。
【請求項１３】
バックアップの対象となるファイルのコピーを実施することでバックアップが実行されているかどうかを判定する判定手段と、
前記判定手段の判定結果に基づいて、前記バックアップの対象となるファイルを編集した結果の出力方法を決定する出力方法決定手段と、
前記出力方法決定手段で決定した編集情報出力方法に基づいて編集情報を出力する編集情報出力手段と、
編集の対象となる編集対象ファイルと、前記編集情報出力手段が出力した編集情報との関連を管理する編集情報管理手段と、
前記編集情報管理手段で管理している該編集対象ファイルのバックアップが完了した後で、該編集対象ファイルに対して、前記編集情報管理手段で該編集対象ファイルに関連付けられた編集情報を適用する編集情報適用手段と、
を有することを特徴とするバックアップ処理装置。
【請求項１４】
バックアップの対象となるファイルに対してバックアップ中であることを表すバックアップ中フラグを設定するバックアップ中フラグ設定手段と、
前記バックアップの対象となるファイルのコピーを実施することでバックアップを実行するバックアップ実行手段と、
前記バックアップの対象となるファイルを編集した結果の出力方法をファイルがバックアップ中であるかを基に決定する出力方法決定手段と、
前記出力方法決定手段で決定した編集情報出力方法に基づいて編集情報を出力する編集情報出力手段と、
編集の対象となる編集対象ファイルと、前記編集情報出力手段が出力した編集情報との関連を管理する編集情報管理手段と、
前記編集情報管理手段で管理している該編集対象ファイルのバックアップが完了した後で、該編集対象ファイルに対して、前記編集情報管理手段で該編集対象ファイルに関連付けられた編集情報を適用する編集情報適用手段と、
を有することを特徴とするバックアップ処理装置。
【請求項１５】
バックアップの対象となるファイルおよびバックアップが進行している状況を表す状態を管理するバックアップ状態管理手段と、
前記バックアップの対象となるファイルのコピーを実施することでバックアップを実行するバックアップ実行手段と、
前記バックアップの対象となるバックアップが進行している状況を表す状態を監視してバックアップが完了したことを検出するバックアップ完了検出手段と、
前記バックアップの対象となるファイルを編集した結果の出力方法をファイルがバックアップ中であるかを基に決定する出力方法決定手段と、
前記出力方法決定手段で決定した編集情報出力方法に基づいて編集情報を出力する編集情報出力手段と、
編集の対象となる編集対象ファイルと、前記編集情報出力手段が出力した編集情報との関連を管理する編集情報管理手段と、
前記編集情報管理手段で管理している該編集対象ファイルのバックアップが完了した後で、該編集対象ファイルに対して、前記編集情報管理手段で該編集対象ファイルに関連付けられた編集情報を適用する編集情報適用手段と、
を有することを特徴とするバックアップ処理装置。
【請求項１６】
請求項１〜１２の何れか１項に記載のバックアップ処理方法の各工程をコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はバックアップ処理方法およびバックアップ処理装置に関し、特にファイルをバックアップする際に、バックアップ処理中であっても、バックアップの対象となるファイルを編集可能にする技術に関する。
【背景技術】
【０００２】
以下の説明において、単純にバックアップと表現した場合は、コンピュータ上のファイルをコピーすることを指すものとする。また、バックアップ処理と表現した場合、バックアップの要求を受け付けた後から実際にバックアップの実行が終了するまでを指すものとする。つまり、バックアップ処理には、バックアップの要求を受け付けてからバックアップが実行されるまでの待ち時間を含むものとする。
【０００３】
バックアップする場合は、データの一貫性を保持することが重要になる。そのため、バックアップを実行する際には、利用者がバックアップの要求を行った時点のファイルを確実にバックアップする必要がある。そこで、一般的にバックアップを実行する際は、バックアップの要求を受け付けた後に、バックアップの対象となるバックアップ対象ファイルをロックして、該ファイルの編集を禁止していた。
【０００４】
しかし、前述のように、バックアップ対象ファイルをロックしてしまうと、バックアップに時間がかかる場合は、バックアップ対象ファイルを編集できない時間も長くなるため、ユーザーの利便性が損なわれていた。ここで、バックアップに時間がかかる場合とは、例えば一度に大量のファイルをバックアップしたり、ファイルサイズの大きいファイルをバックアップしたりする場合が挙げられる。
【０００５】
この問題を解消するために、バックアップ処理中のファイルを編集する場合は、該ファイルをコピーしてから編集する技術がある。特許文献１では、バックアップ対象ファイルを編集しようとした場合、該ファイルをコピーし、コピーしたファイルに対して編集を行っている。また、特許文献２では、バックアップ対象ファイルに対する書き込みを禁止した上で、該ファイルの編集要求が来た際に、該ファイルの仮想ファイルを作成し、仮想ファイル上で編集を行っている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平０６−０１９７６５号公報
【特許文献２】特開２００１−１７５５１８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、特許文献１に記載の方法では、バックアップ対象ファイルを編集するごとにファイルをコピーするため、編集時に編集対象のファイルと同じサイズの空き容量がないと編集できない。特に、高解像度の画像ファイルや動画ファイルなど、サイズが大きいファイルでは容量不足が発生しやすくなる。また、編集時に空き容量が十分あった場合でもファイルをコピーする必要があるため、コピーしている時間だけ待ちが発生するので、すぐに編集することができない。この問題もまたファイルサイズが大きい場合に顕著に現れる。
【０００８】
特許文献２に記載の方法では、バックアップ対象ファイルの仮想ファイルをメモリ上に作成する場合は、一般に、ファイルストレージとして広く利用されるハードディスクに比べて仮想ファイルの作成時間は短くなる。これによって、バックアップ処理中のファイルを編集する場合でも、編集を開始するまでの待ち時間は短くなる。
【０００９】
しかし、一般に、コンピュータ上のメモリはハードディスクなどの二次記憶領域に比べて容量が少ない。そのため、サイズが大きいファイルを編集しようとすると、メモリ上の空き容量が足りなくなって仮想ファイルを作成できなくなってしまう。そうすると、メモリ上でバックアップ中のファイルを編集することができなくなってしまう。または、メモリ上に仮想ファイルを作成しない代わりに、ハードディスクなどの二次記憶領域に仮想ファイルを作成すれば編集は可能になるが、編集を開始するまでの待ち時間は長くなってしまう。
本発明は前述の問題点に鑑み、バックアップ処理中のファイルを編集する際の利便性を向上させることを目的とする。
【課題を解決するための手段】
【００１０】
本発明のバックアップ処理方法は、バックアップの対象となるファイルのコピーを実施することでバックアップが実行されているかどうかを判定する判定工程と、前記判定工程の判定結果に基づいて、前記バックアップの対象となるファイルを編集した結果の出力方法を決定する出力方法決定工程と、前記出力方法決定工程で決定した編集情報出力方法に基づいて編集情報を出力する編集情報出力工程と、編集の対象となる編集対象ファイルと、前記編集情報出力工程が出力した編集情報との関連を管理する編集情報管理工程と、前記編集情報管理工程で管理している該編集対象ファイルのバックアップが完了した後で、該編集対象ファイルに対して、前記編集情報管理工程で該編集対象ファイルに関連付けられた編集情報を適用する編集情報適用工程とを有することを特徴とする。
【発明の効果】
【００１１】
本発明によれば、バックアップ処理中のファイルを編集する際の利便性を向上させることができる。
【図面の簡単な説明】
【００１２】
【図１】実施形態１におけるバックアップ処理方法を実行する工程群を説明する構成図である。
【図２】バックアップ状態の状態遷移を説明する図である。
【図３】実施形態１におけるバックアップ全体の処理の流れを説明するフローチャートである。
【図４】バックアップ要求管理テーブルの例を説明する図である。
【図５】実施形態１におけるバックアップを実行する際の処理の流れを説明するフローチャートである。
【図６】実施形態１における編集結果を出力する際の処理の流れを説明するフローチャートである。
【図７】編集適用状態の状態遷移を説明する図である。
【図８】編集情報管理テーブルの例を説明する図である。
【図９】実施形態１におけるバックアップ中を判定する際の処理の流れを説明するフローチャートである。
【図１０】実施形態１における編集情報を適用する際の処理の流れを説明するフローチャートである。
【図１１】実施形態２におけるバックアップ処理方法を実行する工程群を説明する構成図である。
【図１２】実施形態２におけるバックアップ全体の処理の流れを説明するフローチャートである。
【図１３】実施形態２におけるバックアップを実行する際の処理の流れを説明するフローチャートである。
【図１４】実施形態２におけるバックアップ中を判定する際の処理の流れを説明するフローチャートである。
【図１５】実施形態３におけるバックアップ処理方法を実行する工程群を説明する構成図である。
【図１６】実施形態３におけるバックアップ全体の処理の流れを説明するフローチャートである。
【図１７】実施形態３におけるバックアップを実行する際の処理の流れを説明するフローチャートである。
【図１８】実施形態３におけるバックアップ状況の監視をする際の処理の流れを説明するフローチャートである。
【図１９】実施形態３における編集情報を適用する際の処理の流れを説明するフローチャートである。
【図２０】実施形態のバックアップ処理方法を実行するためのハードウエア構成の例を説明するブロック図である。
【発明を実施するための形態】
【００１３】
以下、添付の図面を参照して、本発明をその好適な実施形態に基づいて詳細に説明する。なお、以下の実施形態において示す構成は一例に過ぎず、本発明は図示された構成に限定されるものではない。
＜実施形態１＞
本実施形態のバックアップ処理方法に関する構成について図１を用いて説明する。本実施形態のバックアップ処理方法１００は、大きく分けるとバックアップを行う工程群とファイルの編集を行う工程群の２つを構成する。
【００１４】
バックアップを行う工程群は、バックアップ要求受信工程１１１、バックアップ状態管理工程１１２、バックアップ実行工程１１３によって構成される。ファイルの編集を行う工程群は、出力方法決定工程１２１、編集情報出力工程１２２、編集情報管理工程１２３、編集情報適用工程１２４によって構成される。
【００１５】
バックアップ要求受信工程１１１は、ユーザーから任意のファイルに対するバックアップの指示であるバックアップ要求を受け付ける工程である。バックアップ要求には、少なくとも１または複数のバックアップの対象であるバックアップ対象ファイルと、各バックアップ対象ファイルのコピー先であるバックアップ先が含まれている。
なお、ユーザーはバックアップ要求を任意のタイミングで明示的に送信してもよいし、自動送信するように事前に設定してあっても構わない。また、該バックアップ先は１または複数のバックアップ対象ファイルの全体に対して１つ設定してもよいし、バックアップ対象ファイルごとに別々に設定してもよい。
本実施形態のバックアップ処理方法は、バックアップ要求を受け付けることで処理を開始する。
【００１６】
バックアップ状態管理工程１１２は、該バックアップ要求に含まれる該バックアップ対象ファイルごとに、バックアップの進行状況を表すバックアップ状態を管理する工程である。
バックアップ実行工程１１３は、該バックアップ対象ファイルをバックアップ要求で指定されたバックアップ先のパスへコピーする工程である。
【００１７】
バックアップ状態について、図２に示す状態遷移図を用いて説明する。
バックアップ状態は５つの状態を持つ。バックアップ要求を受信すると待機中状態２０１に遷移する。その後バックアップの実行が開始されると、実行中状態２０２に遷移する。
バックアップの実行がエラーなしで正常に終了すると、完了状態２０３に遷移する。実行中状態２０２のとき、バックアップの実行においてエラーが発生した場合はエラー状態２０４に遷移する。エラー状態２０４のとき、該エラー状態のバックアップ対象ファイルに対するバックアップがリトライされた場合は待機中状態２０１に遷移する。待機中状態２０１または実行中状態２０２のとき、バックアップ処理をキャンセルした場合は、キャンセル状態２０５に遷移する。
【００１８】
出力方法決定工程１２１は、編集の対象である編集対象ファイルがバックアップ処理中であるかどうかを判定し、判定結果に基づいて、編集情報の出力方法を決定する工程である。編集情報の出力方法として一般によく知られた方法は、編集対象ファイルに編集情報を上書きして保存する方法である。また他の方法として、編集対象のファイルとは別の形態に編集情報を出力する方法がある。例えば、編集対象ファイルとは別のファイルに出力することが挙げられるが、出力形態はファイルに限定されるわけではない。
なお、以下の説明では、編集情報が編集対象ファイルとは別の形態に書き出される際には、該編集対象ファイルとは別のファイルである編集情報ファイルが出力される形態で説明をする。
【００１９】
編集情報出力工程１２２は、該編集対象ファイルを編集した結果として、出力方法決定工程１２１で決定された出力方法に従って編集情報を出力する工程である。編集情報は利用者が行った編集内容が記載されているものである。例えば、画像編集であればホワイトバランスを「太陽光」に設定や、１〜９の段階で表現されるシャープネスを５に設定などが記載される。
【００２０】
編集情報管理工程１２３は、編集情報出力工程１２２で編集情報が該編集対象ファイルとは別の形態で出力された場合に、該編集対象ファイルと該編集情報を関連付けて管理する工程である。
編集情報適用工程１２４は、該編集対象ファイルに対して、該編集対象ファイルとは別の形態で出力された編集情報を適用する工程である。該編集対象ファイルに適用する編集情報は、編集情報管理工程１２３で該編集対象ファイルに対して関連付けて管理されている編集情報を用いる。
【００２１】
次に、本実施形態のバックアップ処理方法が実施するバックアップ全体の処理の流れについて図３のフローチャートを用いて説明する。
Ｓ３０１において、バックアップ要求受信工程１１１で、ユーザーが指定した任意の１または複数のファイルに対するバックアップ要求を受信する。
Ｓ３０２において、バックアップ状態管理工程１１２で、Ｓ３０１で受信したバックアップ要求の中に含まれるバックアップする対象であるバックアップ対象ファイルを特定する。
【００２２】
Ｓ３０３において、バックアップ状態管理工程１１２で、Ｓ３０２で特定したバックアップ対象ファイルごとに、バックアップ処理に必要な情報とバックアップ状態をバックアップ要求管理テーブルに追加する。バックアップ処理に必要な情報とは、バックアップ要求に含まれる情報であり、バックアップ対象ファイルのパス、バックアップ対象ファイルのバックアップ先のパスの２つである。
【００２３】
バックアップ要求管理テーブルの例を図４に示す。
バックアップ要求管理テーブルには４つのカラムがあり、バックアップ対象ファイルごとに１レコードを生成して管理する。第１カラム４１０は、管理している情報を一意に識別するためのＩＤを格納する。第２カラム４２０は、バックアップ対象ファイルが存在するパスを格納する。第３カラム４３０は、バックアップ対象ファイルをコピーする際の保存先のパスを格納する。第４カラム４４０は、バックアップ対象ファイルのバックアップ状態を格納する。なお、Ｓ３０３においては、バックアップ要求管理テーブルに追加した各バックアップ対象ファイルのバックアップ状態はすべて待機中状態に設定する。
【００２４】
Ｓ３０４において、バックアップ実行工程１１３で、バックアップ処理を開始する。Ｓ３０４の処理が完了すると、バックアップ処理は終了する。なお、Ｓ３０４はサブプロセスとなっているため、詳細は図５のフローチャートを用いて後述する。
【００２５】
次に、サブプロセスＳ３０４の詳細であるバックアップ処理について、図５のフローチャートを用いて説明する。
Ｓ５０１において、バックアップ要求管理テーブルから状態が待機中状態のレコードを取得する。図４を例に説明すると、レコード４０３、レコード４０４、レコード４０５が待機中状態のレコードである。
【００２６】
Ｓ５０２において、Ｓ５０１で取得した結果、バックアップ状態が待機中のレコードが存在するかどうかを判定する。待機中状態のレコードが存在する場合はＳ５０３へ処理を進め、待機中状態のレコードが存在しない場合は処理を終了する。
Ｓ５０３において、Ｓ５０１で取得した待機中状態のレコードの中から１つのレコードを処理対象レコードとして選択する。
【００２７】
Ｓ５０４において、処理対象レコードのバックアップ状態を実行中に更新する。
Ｓ５０５において、処理対象レコードからバックアップ対象ファイルのパスと、バックアップ先のパスを取得し、バックアップ対象ファイルをバックアップ先にコピーする。そして、Ｓ５０６において、処理対象レコードの状態を完了に更新する。
Ｓ５０７において、バックアップ実行工程１１３で、バックアップが完了したことを編集情報適用工程１２４に通知する。Ｓ５０７の処理が終わるとＳ５０１に戻り処理を繰り返す。
【００２８】
次に、バックアップ処理中にファイルを編集する際の処理について、図６のフローチャートを用いて説明する。
ユーザーが任意のファイルを編集して編集結果を保存しようとすると、Ｓ６０１において、編集情報出力工程１２２で、編集結果の保存指示を受信する。編集結果の保存指示には少なくとも編集対象ファイルのパス情報が含まれている。
Ｓ６０２において、出力方法決定工程１２１で、編集対象ファイルがバックアップ中であるかどうかを判定する。バックアップ中であると判定した場合はＳ６０３へ、バックアップ中ではないと判定した場合はＳ６０６へ、処理を進める。なお、Ｓ６０２はサブプロセスとなっているため、詳細は図９のフローチャートを用いて後述する。
【００２９】
Ｓ６０３において、出力方法決定工程１２１で、編集情報の出力方法を編集対象ファイルとは別のファイルに出力する方法に決定する。つまり、バックアップ中であると判定した場合は、編集情報は編集対象ファイルとは別のファイルとして保存されることとなる。これにより、バックアップ中のファイルに対して編集を行った場合であっても、バックアップ対象ファイルを変更することなく、編集結果を保存することが可能となる。また、バックアップ対象ファイルの編集を開始しようとした際にコピーが発生しないため、即座に編集することが可能となる。そのため、データの一貫性を持ったバックアップと、バックアップ対象ファイルに対する編集を即座に開始するということが両立できる。
【００３０】
Ｓ６０４において、編集情報出力工程１２２で、編集結果を該編集対象ファイルとは異なる編集情報ファイルとして出力する。
Ｓ６０５において、編集情報管理工程１２３で、Ｓ６０４で出力した編集情報ファイルごとに、編集情報ファイルのパス、編集対象ファイルのパス、編集適用状態の３つの情報を編集情報管理テーブルに追加する。
【００３１】
編集適用状態については、図７に状態遷移図を示し詳細を説明する。編集適用状態は２つの状態を持つ。編集情報が追加されると未適用状態７０１に遷移する。その後、編集情報が編集対象ファイルに適用されると適用済み状態７０２に遷移する。
【００３２】
編集情報管理テーブルの例を図８に示す。
編集情報管理テーブルには４つのカラムがあり、編集情報ごとに１レコードを生成して管理する。これは、同一の編集対象ファイルに対して２回編集を行った場合はレコードが２つになることを意味する。例えば、図８では、／Ａ／Ｂ／Ｃ／００２．ｍｘｆファイルに対する編集がレコード８０１と、レコード８０２の２つのレコードに保存されている。
第１カラム８１０は、管理している情報を一意に識別するためのＩＤを格納する。第２カラム８２０は、編集対象ファイルが存在するパスを格納する。第３カラム８３０は、編集情報ファイルが存在するパスを格納する。第４カラム８４０は、編集情報が編集対象ファイルに適用されたかを表す編集適用状態を格納する。なお、Ｓ６０５において追加するレコードについては、編集適用状態はすべて未適用状態とする。
【００３３】
Ｓ６０６において、出力方法決定工程１２１で、編集情報の出力方法を編集対象ファイルへの上書き保存する方法に決定する。つまりバックアップ中でないと判定した場合は、編集対象ファイルに対して編集情報を上書きすることとなる。
Ｓ６０７において、編集情報出力工程１２２で、編集結果を該編集対象ファイルに上書きする。なお、上書き保存する方法の場合は編集対象ファイルと編集情報が異なるファイルにならず、かつ編集情報は編集対象ファイルに適用済みになるので編集情報管理テーブルで編集情報を管理しない。
【００３４】
次に、サブプロセスＳ６０２の詳細であるバックアップ中であるかどうかを判定する処理について、図９のフローチャートを用いて説明する。
Ｓ９０１において、出力方法決定工程１２１で、Ｓ６０１で受信した編集結果の保存指示から編集対象ファイルのパスを取得する。
【００３５】
Ｓ９０２において、出力方法決定工程１２１でバックアップ要求管理テーブルに対して、バックアップ対象ファイルのパスが編集対象ファイルのパスと等しいかつ、バックアップ状態が待機中または実行中のレコードを取得する。その結果、レコードが存在すればＳ９０３へ、レコードが存在しなければＳ９０４へ、処理を進める。
Ｓ９０３において、出力方法決定工程１２１で編集対象ファイルはバックアップ中であると判定する。また、Ｓ９０４において、出力方法決定工程１２１で、編集対象ファイルはバックアップ中ではないと判定する。
【００３６】
次に、バックアップ処理中にバックアップ対象ファイルに対して行った編集を、バックアップ対象ファイルのバックアップが完了した後に適用する処理について、図１０のフローチャートを用いて説明する。
Ｓ１００１において、編集情報適用工程１２４で、バックアップ実行工程１１３がＳ５０７において通知したバックアップ完了ファイルのパスを受信する。
【００３７】
Ｓ１００２において、編集情報適用工程１２４で、編集情報管理テーブルにおいて編集対象ファイルのパスと受信したバックアップ完了ファイルのパスが一致するレコードから、編集情報ファイルパスを取得する。
Ｓ１００３において、編集情報適用工程１２４で、Ｓ１００２で取得した編集情報ファイルのパスが存在するかどうかを判定する。編集情報ファイルのパスが存在する場合はＳ１００４へ処理を進める。存在しない場合は処理を終了する。
【００３８】
Ｓ１００４において、編集情報適用工程１２４で、編集情報ファイルのパスを順に処理するために編集情報ファイルのパスのインデックスｉを０にする。
Ｓ１００５において、編集情報適用工程１２４で、編集情報ファイルパスのインデックスｉがＳ１００２で取得した編集情報ファイルのパスの数よりも小さいかどうかを判定する。インデックスｉがＳ１００２で取得した編集情報ファイルのパスの数よりも小さい場合はＳ１００６へ処理を進める。等しいまたは大きい場合は処理を終了する。
【００３９】
Ｓ１００６において、編集情報適用工程１２４で、Ｓ１００２で取得した編集情報ファイルのパスから、ｉ番目のインデックスの編集情報ファイルパスｉを取得する。
Ｓ１００７において、編集情報適用工程１２４で、Ｓ１００２で取得したバックアップ完了ファイルのパスの指すファイルに対して、Ｓ１００６で取得した編集情報ファイルパスｉの指す編集情報ファイルを適用する。その結果、バックアップ完了ファイルは編集後のファイルに更新される。つまりバックアップ処理中に行われた編集が反映されたことを意味する。
【００４０】
Ｓ１００８において、編集情報管理テーブルにおいて編集情報ファイルのパスと編集情報ファイルパスｉが一致するレコードの状態を適用済に更新する。レコードの状態を更新した後はＳ１００９に処理を進め、編集情報ファイルパスのインデックｉに１を加算してＳ１００５の処理へ戻る。
【００４１】
＜実施形態２＞
実施形態２におけるバックアップ処理方法に関する構成を図１１に示す。なお、実施形態１と構成が同じ部分については図１と同じ番号を用いる。
本発明の実施形態２におけるバックアップ処理方法１１００は、実施形態１におけるバックアップ処理方法１００のバックアップ状態管理工程１１２に代わってバックアップ中フラグ設定工程１１０１を構成要素に加えた。
【００４２】
バックアップ中フラグ設定工程１１０１は、バックアップ中を表すバックアップ中フラグを、バックアップ対象ファイルに設定する工程である。バックアップ中フラグは、設定されているときがバックアップ処理中を表し、設定されていない時はバックアップ処理中ではないことを表す。これにより、バックアップ中であるかどうかを判定する際に、バックアップ対象ファイルのみを見て判定することが可能になる。
また、バックアップ全体の処理、バックアップ処理、バックアップ中の判定について、それぞれの処理が実施形態１とは異なるので詳細を後述する。
【００４３】
実施形態２におけるバックアップ全体の処理について図１２のフローチャートを用いて説明する。
Ｓ１２０１において、バックアップ要求受信工程１１１で、ユーザーが指定した任意の１または複数のファイルに対するバックアップ要求を受信する。
Ｓ１２０２において、バックアップ中フラグ設定工程１１０１で、Ｓ１２０１で受信したバックアップ要求の中に含まれるバックアップするべき対象であるバックアップ対象ファイルを特定する。
【００４４】
Ｓ１２０３において、バックアップ中フラグ設定工程１１０１で、Ｓ１２０２で特定したバックアップ対象ファイルごとに、バックアップ中フラグを設定する。バックアップ中フラグの設定方法は、例えばファイルにフラグ情報を埋め込むことが挙げられるが、これに限定されるものではない。
Ｓ１２０４において、バックアップ中フラグ設定工程１１０１で、バックアップ対象ファイルのパスをバックアップ処理キューに追加する。
Ｓ１２０５において、バックアップ実行工程１１３で、バックアップ処理を開始する。Ｓ１２０５の処理が完了すると、バックアップ処理は終了する。なお、Ｓ１２０５は、サブプロセスとなっているため、詳細は図１３を用いて後述する。
【００４５】
次に、サブプロセスＳ１２０５の詳細であるバックアップ処理について、図１３のフローチャートを用いて説明する。
Ｓ１３０１において、バックアップ実行工程１１３で、バックアップ処理キューが空であるかどうかを判定する。バックアップ処理キューが空ではない場合はＳ１３０２に処理を進め、空の場合は処理を終了する。
【００４６】
Ｓ１３０２において、バックアップ実行工程１１３で、バックアップ処理キューからバックアップ対象ファイルのパスを１つ取得する。
Ｓ１３０３において、バックアップ実行工程１１３で、Ｓ１３０２で取得したパスからバックアップ対象ファイルを取得する。
【００４７】
Ｓ１３０４において、バックアップ実行工程１１３で、バックアップ対象ファイルをコピーすることでバックアップを実行する。バックアップを実行する際は、バックアップ対象ファイルのバックアップ中フラグ以外の部分をコピーする。これは、バックアップ中フラグをバックアップ対象ファイルに埋め込んだ場合であっても、バックアップ要求を受け付けた時点のファイルと同じバイナリを持つファイルをバックアップするためである。
Ｓ１３０５において、バックアップ実行工程１１３で、バックアップが完了したことを編集情報適用工程１２４に通知する。Ｓ１３０５の処理が終わると、Ｓ１３０１に戻り処理を繰り返す。
【００４８】
次に、実施形態２におけるバックアップ中の判定処理について、図１４のフローチャートを用いて説明する。
Ｓ１４０１において、出力方法決定工程１２１で、編集対象ファイルにバックアップ中フラグが存在するかどうかを判定する。バックアップ中フラグが存在すればＳ１４０２へ、存在しなければＳ１４０３へ、処理を進める。
Ｓ１４０２において、出力方法決定工程１２１で、編集対象ファイルはバックアップ中であると判定する。また、Ｓ１４０３において、出力方法決定工程１２１で、編集対象ファイルはバックアップ中でないと判定する。
【００４９】
＜実施形態３＞
実施形態３におけるバックアップ処理方法に関する構成を図１５に示す。なお、実施形態１と構成が同じ部分については図１と同じ番号を用いる。
本発明の実施形態３におけるバックアップ処理方法１５００は、実施形態１におけるバックアップ処理方法１００に対して、バックアップ完了検出工程１５０１が追加されている。
【００５０】
バックアップ完了検出工程１５０１は、該バックアップ対象ファイルのバックアップ状態が完了状態になったことを検出する工程である。
本実施形態においては、バックアップ完了検出工程１５０１を追加したことで、実施形態１および実施形態２で、バックアップ実行工程１１３が編集情報適用工程１２４に直接バックアップの完了を通知していた処理が変更される。実施形態１および実施形態２では、バックアップ実行工程１１３が編集情報適用工程１２４に直接バックアップの完了を通知していたが、実施形態３ではバックアップ完了検出工程１５０１を介して通知する。これにより、バックアップの処理と編集情報の適用処理を非同期に実施することが可能となる。
【００５１】
また、バックアップ全体の処理、バックアップ処理、編集情報の適用について、それぞれの処理が実施形態１とは異なるので詳細を後述する。
実施形態３におけるバックアップ全体の処理について図１６のフローチャートを用いて説明する。
Ｓ１６０１において、バックアップ要求受信工程１１１で、ユーザーが指定した任意の１または複数のファイルに対するバックアップ要求を受信する。
Ｓ１６０２において、バックアップ状態管理工程１１２で、Ｓ１６０１で受信したバックアップ要求の中に含まれるバックアップするべき対象であるバックアップ対象ファイルを特定する。
【００５２】
Ｓ１６０３において、バックアップ状態管理工程１１２で、Ｓ１６０２で特定したバックアップ対象ファイルごとに、バックアップ処理に必要な情報とバックアップ状態をバックアップ要求管理テーブルに追加する。バックアップ処理に必要な情報とは、バックアップ要求に含まれる情報であり、バックアップ対象ファイルのパス、バックアップ対象ファイルのバックアップ先のパスの２つである。バックアップ要求管理テーブルの例は図４に示したものと同様である。なお、Ｓ１６０３においては、バックアップ要求管理テーブルに追加した各バックアップ対象ファイルのバックアップ状態はすべて待機中状態に設定する。
【００５３】
Ｓ１６０４において、バックアップ完了検出工程１５０１で、バックアップ完了の監視を開始する。なお、Ｓ１６０４はサブプロセスとなっているため、詳細は図１８のフローチャートを用いて後述する。
Ｓ１６０５において、バックアップ実行工程１１３で、バックアップ処理を開始する。Ｓ１６０５の処理が完了すると、バックアップ処理は終了する。
なお、Ｓ１６０５はサブプロセスとなっているため、詳細は図１７のフローチャートを用いて後述する。
【００５４】
次に、サブプロセスＳ１６０５の詳細であるバックアップ処理について、図１７のフローチャートを用いて説明する。
Ｓ１７０１において、バックアップ要求管理テーブルから状態が待機中状態のレコードを取得する。図４を例に説明すると、レコード４０３、レコード４０４、レコード４０５が待機中状態のレコードである。
Ｓ１７０２において、取得したバックアップ状態が待機中のレコードが存在するかどうかを判定する。待機中状態のレコードが存在する場合はＳ１７０３へ処理を進め、待機中状態のレコードが存在しない場合は処理を終了する。
【００５５】
Ｓ１７０３において、Ｓ１７０１で取得した待機中状態のレコードの中から１つのレコードを処理対象レコードとして選択する。
Ｓ１７０４において、処理対象レコードのバックアップ状態を実行中に更新する。
Ｓ１７０５において、バックアップ実行工程１１３で、処理対象レコードからバックアップ対象ファイルのパスと、バックアップ先のパスを取得し、バックアップ対象ファイルをバックアップ先にコピーする。
【００５６】
Ｓ１７０６において、処理対象レコードの状態を完了に更新する。Ｓ１７０６の処理が終わると、Ｓ１７０１に戻り処理を繰り返す。
実施形態１では、Ｓ１７０６の処理の後にバックアップ実行の完了を通知していたが、本実施形態においてはバックアップ実行の完了はバックアップ完了検出工程１５０１が別途検出するので通知の必要はない。
【００５７】
次に、サブプロセスＳ１６０４の詳細であるバックアップの完了を監視する処理について、図１８のフローチャートを用いて説明する。
Ｓ１８０１において、バックアップ完了検出工程１５０１で、バックアップ要求管理テーブルの監視を開始する。
Ｓ１８０２において、バックアップ完了検出工程１５０１で、バックアップ要求管理テーブルからバックアップ状態が完了のレコードを取得する。図４を例にとると、バックアップ状態が完了のレコードはレコード４０１である。
【００５８】
続いて、Ｓ１８０３において、バックアップ完了検出工程１５０１で、Ｓ１８０２において取得したレコードが存在するかどうかを判定する。バックアップ状態が完了のレコードが存在する場合はＳ１８０４へ、バックアップ状態が完了のレコードが存在しない場合はＳ１８０６へ、処理を進める。
Ｓ１８０４において、バックアップ完了検出工程１５０１で、Ｓ１８０２で取得した１または複数のレコードにそれぞれ含まれるバックアップ対象ファイルのパスを、バックアップ完了ファイルパスとしてそれぞれ抽出する。
【００５９】
Ｓ１８０５において、バックアップ完了検出工程１５０１で、Ｓ１８０４で抽出した１または複数のバックアップ完了ファイルパスを編集情報適用工程１２４に通知する。通知後はＳ１８０６へ処理を進める。
Ｓ１８０６において、バックアップ完了検出工程１５０１で、一定時間待機してＳ１８０２へ処理を進めることで、定期的に繰り返してバックアップ処理の完了を検出している。なお、待機する時間は固定値として設定したものであっても、ユーザーが指定した任意の時間でも構わない。
【００６０】
次に、バックアップ処理中にバックアップ対象ファイルに対して行った編集を、バックアップ対象ファイルのバックアップが完了した後に適用する処理について図１９のフローチャートを用いて説明する。
Ｓ１９０１において、編集情報適用工程１２４で、バックアップ完了検出工程１５０１がＳ１８０５において通知した１または複数のバックアップ完了ファイルパスを受信する。
【００６１】
Ｓ１９０２において、編集情報適用工程１２４で、１または複数のバックアップ完了ファイルパスを順に処理するためにバックアップ完了ファイルパスのインデックスｊを０にする。
Ｓ１９０３において、編集情報適用工程１２４で、バックアップ完了ファイルパスのインデックスｊがＳ１９０１で受信したバックアップ完了ファイルパスの数よりも小さいかどうかを判定する。インデックスｊがバックアップ完了ファイルパスよりも小さい場合はＳ１９０４へ、等しいまたは大きい場合は処理を終了する。
【００６２】
Ｓ１９０４において、編集情報適用工程１２４で、Ｓ１９０１で受信した１または複数のバックアップ完了ファイルパスから、ｊ番目のインデックスのバックアップ完了ファイルパスｊを取得する。
Ｓ１９０５において、編集情報適用工程１２４で、編集情報管理テーブルから編集対象ファイルパスとバックアップ完了ファイルパスｊが一致するレコードに含まれる編集情報ファイルパスを取得する。
【００６３】
Ｓ１９０６において、編集情報適用工程１２４で、Ｓ１９０５で取得した編集情報ファイルパスが存在するかどうかを判定する。編集情報ファイルパスが存在する場合はＳ１９０７へ処理を進める。存在しない場合はＳ１９１４に処理を進め、バックアップ完了ファイルパスのインデックスｊに１を加算してＳ１９０３の処理へ戻る。
Ｓ１９０７において、編集情報適用工程１２４で、編集情報ファイルパスを順に処理するために編集情報ファイルパスのインデックスｋを０にする。
【００６４】
Ｓ１９０８において、編集情報適用工程１２４で、編集情報ファイルパスのインデックスｋがＳ１９０５で取得した編集情報ファイルパスの数よりも小さいかどうかを判定する。インデックスｋがＳ１９０５で取得した編集情報ファイルパスの数よりも小さい場合はＳ１９０９へ処理を進める。等しいまたは大きい場合はＳ１９１４に処理を進め、バックアップ完了ファイルパスのインデックスｊに１を加算してＳ１９０３の処理へ戻る。
【００６５】
Ｓ１９０９において、編集情報適用工程１２４で、Ｓ１９０５で取得した編集情報ファイルパスから、ｋ番目のインデックスの編集情報ファイルパスｋを取得する。
Ｓ１９１０において、編集情報適用工程１２４で、編集情報管理テーブルにおいて編集情報ファイルパスｋを編集情報ファイルパスの値として持つレコードから編集適用状態を取得する。
【００６６】
Ｓ１９１１において、Ｓ１９１０で取得した編集適用状態が未適用かどうかを判定する。未適用の場合はＳ１９１２に処理を進める。未適用ではない場合は、Ｓ１９１５に処理を進め、編集情報ファイルパスのインデックスｋに１を加算してＳ１９０６の処理へ戻る。
Ｓ１９１２において、編集情報適用工程１２４で、Ｓ１９０４で取得したバックアップ完了ファイルパスｊの指すファイルに対して、Ｓ１９０９で取得した編集情報ファイルパスｋの指す編集情報ファイルを適用する。その結果、バックアップ完了ファイルパスｊが指すファイルは編集後のファイルに更新される。つまり、バックアップ処理中に行われた編集が反映されたことを意味する。
【００６７】
Ｓ１９１３において、編集情報管理テーブルにおいて編集情報ファイルパスｋを編集情報ファイルパスの値として持つレコードの編集適用状態を適用済に更新する。レコードの状態を更新した後はＳ１９１５に処理を進め、編集情報ファイルパスのインデックｋに１を加算してＳ１９０６の処理へ戻る。
【００６８】
前述した実施形態のバックアップ処理方法１００、１１００、１５００および上述の各フローチャートを実行するためのハードウエア構成の例を図２０に示す。
図２０において、２００１は全体を制御するＣｅｎｔｒａｌ Ｐｒｏｃｅｓｓｉｎｇ Ｕｎｉｔ（ＣＰＵ）である。２００２は各処理や機能構成を実現するためのプログラムやパラメータを格納するＲｅａｄ Ｏｎｌｙ Ｍｅｍｏｒｙ（ＲＯＭ）である。
【００６９】
２００３は外部装置などから供給されるプログラムやデータを一時記憶し、ＣＰＵ２００１のワークメモリとして動作するＲａｎｄｏｍ Ａｃｃｅｓｓ Ｍｅｍｏｒｙ（ＲＡＭ）である。２００４はハードディスクやメモリカードなどの外部記憶装置である。ただし、固定あるいは着脱可能な状態でも構わない。例えば、フレキシブルディスク（ＦＤ）やＣｏｍｐａｃｔ Ｄｉｓｋ（ＣＤ）等の光ディスク、磁気や光カード、ＩＣカード、メモリカードなどであってもよい。
【００７０】
２００５はユーザーの操作を受け、データを入力するポインティングデバイスやキーボードなどの入力デバイス２００９と接続するための入力デバイスインタフェースである。
２００６はデータや供給されたデータを表示するためのモニタ２０１０と接続するためのディスプレイインタフェースである。２００７はインターネット２０１１などのネットワーク回線に接続するためのネットワークインタフェースである。２００８はＣＰＵ２００１〜ネットワークインタフェース２００７の各ユニットを通信可能に接続するシステムバスである。
【００７１】
（その他の実施例）
本発明は、前述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００７２】
１００  バックアップ処理方法
１１１  バックアップ要求受信工程
１１２  バックアップ状態管理工程
１１３  バックアップ実行工程
１２１  出力方法決定工程
１２２  編集情報出力工程
１２３  編集情報管理工程
１２４  編集情報適用工程
【図１】
2016212565.tif 000003
【図２】
2016212565.tif 000004
【図３】
2016212565.tif 000005
【図４】
2016212565.tif 000006
【図５】
2016212565.tif 000007
【図６】
2016212565.tif 000008
【図７】
2016212565.tif 000009
【図８】
2016212565.tif 000010
【図９】
2016212565.tif 000011
【図１０】
2016212565.tif 000012
【図１１】
2016212565.tif 000013
【図１２】
2016212565.tif 000014
【図１３】
2016212565.tif 000015
【図１４】
2016212565.tif 000016
【図１５】
2016212565.tif 000017
【図１６】
2016212565.tif 000018
【図１７】
2016212565.tif 000019
【図１８】
2016212565.tif 000020
【図１９】
2016212565.tif 000021
【図２０】
2016212565.tif 000022