(57)【要約】【課題】  突然の電源断が発生した場合でも、バックアップ対象のデータの欠損を回避することができるデータ書込み装置及びデータ書込み方法を提供する。【解決手段】  データ書込み装置（バックアップサーバ１００）において、ＬＴＯ書込み制御部１３０は、バックアップ状態が第１のステータス（未実施）であるバックアップデータに対してＬＴＯ装置３００（ＬＴＯテープ３１０）への書込みを行い、書込みから所定時間が経過するまでの間は、バックアップ状態を第２のステータス（書込み完了待ち）とし、所定時間が経過した場合に第３のステータス（書込み完了）に更新する。【選択図】図１
2019153187.tif 000002
【特許請求の範囲】
【請求項１】
クライアント装置から受信したバックアップデータをバックアップ先の記憶装置に書込むデータ書込み装置であって、
前記バックアップデータを一時的に記憶する記憶部と、
前記クライアント装置から前記バックアップデータを受信し、当該バックアップデータを前記記憶部に記憶させる第１の処理を制御するデータ蓄積制御部と、
前記バックアップデータのバックアップ状態を管理する管理テーブルと、
前記記憶部に記憶された前記バックアップデータを前記記憶装置に書込む第２の処理を制御する書込み制御部と、
を備え、
前記管理テーブルは、前記バックアップデータごとの前記バックアップ状態を、少なくとも、前記第１の処理が実施済みで前記第２の処理が未実施である状態を示す第１のステータスと、前記第２の処理において当該バックアップデータが前記記憶装置に書込まれた直後の状態を示す第２のステータスと、前記第２の処理が確実に実施済みである状態を示す第３のステータスと、によって管理し、
前記データ蓄積制御部は、前記第１の処理を実施した前記バックアップデータの前記バックアップ状態を前記第１のステータスに設定し、
前記書込み制御部は、前記バックアップ状態が前記第１のステータスである前記バックアップデータに対して前記第２の処理を実施し、前記第２の処理において当該バックアップデータを前記記憶装置に書込んでから所定時間が経過するまでの間は、当該バックアップデータの前記バックアップ状態を前記第２のステータスに更新し、当該所定時間が経過した場合に、当該バックアップデータの前記バックアップ状態を前記第３のステータスに更新する
ことを特徴とするデータ書込み装置。
【請求項２】
前記データ書込み装置の起動時に、前記書込み制御部は、前記管理テーブルにおける前記バックアップ状態を確認し、前記バックアップ状態が前記第２のステータスである前記バックアップデータについては、当該バックアップ状態を前記第１のステータスに変更する
ことを特徴とする請求項１に記載のデータ書込み装置。
【請求項３】
前記バックアップデータの前記バックアップ状態が前記第２のステータスに維持される前記所定時間は、当該バックアップデータのインデックス情報の前記記憶装置への書込みが担保される時間である
ことを特徴とする請求項１に記載のデータ書込み装置。
【請求項４】
前記所定時間は、前記バックアップデータの前記記憶装置への書込みで用いられるファイルシステムに基づいて設定される
ことを特徴とする請求項３に記載のデータ書込み装置。
【請求項５】
前記書込み制御部は、前記バックアップデータの前記バックアップ状態を前記第２のステータスから前記第３のステータスに更新するとき、前記記憶部に記憶された当該バックアップデータを削除する
ことを特徴とする請求項１に記載のデータ書込み装置。
【請求項６】
正常な状態で電源断が要求された場合には、前記バックアップ状態が前記第２のステータスである前記バックアップデータについて、当該バックアップデータのインデックス情報が前記記憶装置に書込まれ、前記記憶部に記憶された当該バックアップデータが削除され、当該バックアップ状態が前記第３のステータスに更新された後に、電源を落とす処理が行われる
ことを特徴とする請求項１に記載のデータ書込み装置。
【請求項７】
前記記憶装置は、ＬＴＯ（Linear Tape-Open）テープを記憶媒体とする
ことを特徴とする請求項１に記載のデータ書込み装置。
【請求項８】
前記書込み制御部は、前記第２の処理において、前記バックアップデータをＬＴＦＳ（Linear Tape File System）を用いて前記記憶装置に書込む
ことを特徴とする請求項１に記載のデータ書込み装置。
【請求項９】
クライアント装置から受信したバックアップデータをバックアップ先の記憶装置に書込むデータ書込み装置によるデータ書込み方法であって、
前記データ書込み装置は、
前記バックアップデータを一時的に記憶する記憶部と、
前記クライアント装置から前記バックアップデータを受信し、当該バックアップデータを前記記憶部に記憶させる第１の処理を制御するデータ蓄積制御部と、
前記バックアップデータのバックアップ状態を管理する管理テーブルと、
前記記憶部に記憶された前記バックアップデータを前記記憶装置に書込む第２の処理を制御する書込み制御部と、
を有し、
前記管理テーブルは、前記バックアップデータごとの前記バックアップ状態を、少なくとも、前記第１の処理が実施済みで前記第２の処理が未実施である状態を示す第１のステータスと、前記第２の処理において当該バックアップデータが前記記憶装置に書込まれた直後の状態を示す第２のステータスと、前記第２の処理が確実に実施済みである状態を示す第３のステータスと、によって管理し、
前記データ蓄積制御部が、前記第１の処理を実施し、前記第１の処理が実施された前記バックアップデータの前記バックアップ状態を前記第１のステータスに設定する第１のステップと、
前記書込み制御部が、前記バックアップ状態が前記第１のステータスである前記バックアップデータに対して前記第２の処理を実施し、前記第２の処理において当該バックアップデータを前記記憶装置に書込んでから所定時間が経過するまでの間は、当該バックアップデータの前記バックアップ状態を前記第２のステータスに更新する第２のステップと、
前記書込み制御部が、前記第２のステップにおいて前記バックアップデータの前記バックアップ状態が前記第２のステータスに更新されてから前記所定時間が経過した場合に、当該バックアップデータの前記バックアップ状態を前記第３のステータスに更新する第３のステップと、
を備えることを特徴とするデータ書込み方法。
【請求項１０】
前記データ書込み装置の起動時に、
前記書込み制御部が、前記管理テーブルにおける前記バックアップ状態を確認し、前記バックアップ状態が前記第２のステータスである前記バックアップデータについては、当該バックアップ状態を前記第１のステータスに変更する
ことを特徴とする請求項９に記載のデータ書込み方法。
【請求項１１】
前記第２のステップにおいて、前記バックアップデータの前記バックアップ状態が前記第２のステータスに維持される前記所定時間は、当該バックアップデータのインデックス情報の前記記憶装置への書込みが担保される時間である
ことを特徴とする請求項９に記載のデータ書込み方法。
【請求項１２】
前記所定時間は、前記バックアップデータの前記記憶装置への書込みで用いられるファイルシステムに基づいて設定される
ことを特徴とする請求項１１に記載のデータ書込み方法。
【請求項１３】
前記第３のステップにおいて前記バックアップデータの前記バックアップ状態を前記第２のステータスから前記第３のステータスに更新するとき、前記書込み制御部は、前記記憶部に記憶された当該バックアップデータを削除する
ことを特徴とする請求項９に記載のデータ書込み方法。
【請求項１４】
正常な状態で電源断が要求された場合には、
前記バックアップ状態が前記第２のステータスである前記バックアップデータについて、当該バックアップデータのインデックス情報を前記記憶装置に書込み、前記記憶部に記憶された当該バックアップデータを削除し、当該バックアップ状態を前記第３のステータスに更新した後に、電源を落とす処理が行われる
ことを特徴とする請求項９に記載のデータ書込み方法。
【請求項１５】
前記書込み制御部は、前記第２の処理において、前記バックアップデータをＬＴＦＳ（Linear Tape File System）を用いて前記記憶装置に書込む
ことを特徴とする請求項９に記載のデータ書込み方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ書込み装置及びデータ書込み方法に関し、ＬＴＯ（Linear Tape-Open）テープ等を用いたバックアップシステムにおけるデータ書込み装置及びデータ書込み方法に適用して好適なものである。
【背景技術】
【０００２】
従来、ＬＴＯテープ等の二次記憶メディアにデータを保存する場合、データの本体（データ部）とともに当該データの管理情報（インデックス情報等）を書込んでおく管理方式が知られている。このような管理方式の代表的なものとして、ＬＴＦＳ（Linear Tape File System）が挙げられる。
【０００３】
上記のような従来の管理方式では、新しいデータを書込むごとに、インデックス情報を更新する必要があるが、テープメディアはアクセス速度が比較的遅いため、ホストサーバのメモリ上にインデックス情報をキャッシングしておき、定期的に（例えば、５分毎に）、インデックス情報をまとめて更新するといった方式が採用される（例えば、特許文献１）。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】“LFTS（Linear Type File System）のアーキテクチャー”、［online］、一般社団法人  JEITA（電子情報技術産業協会）  情報・産業社会システム部会  技術企画・標準委員会  テープストレージ専門委員会、［平成29年11月15日検索］、インターネット<URL：http://home.jeita.or.jp/upload_file/20120206153203_BsFvXUyDqG.pdf>
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、非特許文献１に開示されたＬＴＦＳの管理方式とＬＴＯテープを用いてバックアップシステムを運用した場合、データ部はＬＴＯテープに書込み済みであっても、キャッシュメモリ上のインデックス情報のＬＴＯテープへの書込みが終了していない状態で突然の電源断等によって装置の停止が発生したときには、電源復旧時にキャッシュメモリ上からインデックス情報が失われてしまうために、書込み済みのデータが管理できなくなり、結果として当該データが失われてしまう（欠損してしまう）という問題があった。
【０００６】
またこのような状況が発生すると、従来の管理方式では、データの提供元から改めてバックアップ対象のデータを再取得してバックアップを行う等の対処方法を取らざるを得ず、手間や時間が余計に掛かってしまうという問題もあった。
【０００７】
本発明は以上の点を考慮してなされたもので、データのバックアップを行うデータ書込み装置（バックアップサーバ）において突然の電源断が発生した場合でも、バックアップ対象のデータの欠損を回避することが可能なデータ書込み装置及びデータ書込み方法を提案しようとするものである。
【課題を解決するための手段】
【０００８】
かかる課題を解決するため本発明においては、クライアント装置から受信したバックアップデータをバックアップ先の記憶装置に書込むデータ書込み装置であって、バックアップデータを一時的に記憶する記憶部と、クライアント装置からバックアップデータを受信し、当該バックアップデータを記憶部に記憶させる第１の処理（データ一時書込み）を制御するデータ蓄積制御部と、バックアップデータのバックアップ状態を管理する管理テーブルと、記憶部に記憶されたバックアップデータを記憶装置に書込む第２の処理（データ本書込み）を制御する書込み制御部と、を備えるデータ書込み装置（バックアップサーバ）が提供される。ここで、管理テーブルは、バックアップデータごとのバックアップ状態を、少なくとも、第１の処理が実施済みで第２の処理が未実施である状態を示す第１のステータス（未実施）と、第２の処理において当該バックアップデータが記憶装置に書込まれた直後の状態を示す第２のステータス（書込み完了待ち）と、第２の処理が確実に実施済みである状態を示す第３のステータス（書込み完了）と、によって管理する。そしてこのデータ書込み装置においては、データ蓄積制御部が、第１の処理を実施したバックアップデータのバックアップ状態を第１のステータスに設定し、書込み制御部が、バックアップ状態が第１のステータスであるバックアップデータに対して第２の処理を実施し、第２の処理において当該バックアップデータを記憶装置に書込んでから所定時間が経過するまでの間は、当該バックアップデータのバックアップ状態を第２のステータスに更新し、当該所定時間が経過した場合に、当該バックアップデータのバックアップ状態を第３のステータスに更新することを特徴とする。
【０００９】
また、かかる課題を解決するため本発明においては、クライアント装置から受信したバックアップデータをバックアップ先の記憶装置に書込むデータ書込み装置による以下のようなデータ書込み方法が提供される。ここで、データ書込み装置は、バックアップデータを一時的に記憶する記憶部と、クライアント装置からバックアップデータを受信し、当該バックアップデータを記憶部に記憶させる第１の処理を制御するデータ蓄積制御部と、バックアップデータのバックアップ状態を管理する管理テーブルと、記憶部に記憶されたバックアップデータを記憶装置に書込む第２の処理を制御する書込み制御部と、を有する。また、管理テーブルは、バックアップデータごとのバックアップ状態を、少なくとも、第１の処理が実施済みで第２の処理が未実施である状態を示す第１のステータスと、第２の処理において当該バックアップデータが記憶装置に書込まれた直後の状態を示す第２のステータスと、第２の処理が確実に実施済みである状態を示す第３のステータスと、によって管理する。そしてこのデータ書込み方法は、データ蓄積制御部が、第１の処理を実施し、第１の処理が実施されたバックアップデータのバックアップ状態を第１のステータスに設定する第１のステップと、書込み制御部が、バックアップ状態が第１のステータスであるバックアップデータに対して第２の処理を実施し、第２の処理において当該バックアップデータを記憶装置に書込んでから所定時間が経過するまでの間は、当該バックアップデータのバックアップ状態を第２のステータスに更新する第２のステップと、書込み制御部が、第２のステップにおいてバックアップデータのバックアップ状態が第２のステータスに更新されてから所定時間が経過した場合に、当該バックアップデータのバックアップ状態を第３のステータスに更新する第３のステップと、を備えることを特徴とする。
【発明の効果】
【００１０】
本発明によれば、データのバックアップを行うデータ書込み装置（バックアップサーバ）において突然の電源断が発生した場合でも、バックアップ対象のデータの欠損を回避することができる。
【図面の簡単な説明】
【００１１】
【図１】本発明の一実施の形態に係るデータ書込み装置の構成例を示すブロック図である。
【図２】バックアップ状態管理テーブルの構成例を説明するための図である。
【図３】データ一時書込み処理の処理手順の一例を示すフローチャートである。
【図４】データ本書込み処理の処理手順の一例を示すフローチャートである。
【図５】バックアップ動作の一例を説明するための図（その１）である。
【図６】バックアップ動作の一例を説明するための図（その２）である。
【発明を実施するための形態】
【００１２】
以下図面について、本発明の一実施の形態を詳述する。
【００１３】
図１は、本発明の一実施の形態に係るデータ書込み装置の構成例を示すブロック図である。図１には、ＬＴＦＳを用いたＬＴＯテープのバックアップシステムが示されており、本発明の一実施の形態に係るデータ書込み装置として、バックアップサーバ１００が例示されている。
【００１４】
バックアップサーバ１００は、クライアントサーバ２００からバックアップ用のデータ（以後、「バックアップデータ」とも称する）を受信し、当該受信したデータのうちからバックアップ対象として選定したデータ（以後、「対象データ」とも称する）をバックアップ先の二次記憶装置であるＬＴＯ装置３００に書込む（バックアップする）データ書込み装置であって、バックアップ状態管理テーブル１１０、データ蓄積制御部１２０、ＬＴＯ書込み制御部１３０、ファイルシステム１４０、ファイルシステム１５０、及び内蔵ＨＤＤ（Hard Disk Drive）１６０を備えて構成される。
【００１５】
バックアップ状態管理テーブル１１０は、全てのバックアップデータの情報を保持するデータテーブルであり、バックアップサーバ１００によるバックアップ動作は本テーブルを参照または更新しながら行われる。バックアップ状態管理テーブル１１０の詳細は、図２を参照しながら後述する。
【００１６】
データ蓄積制御部１２０は、クライアントサーバ２００から受信したバックアップデータを、ファイルシステム１４０経由で内蔵ＨＤＤ１６０に一時的に書込む処理を実行する（データ一時書込み）。また、データ蓄積制御部１２０は、データ一時書込みに関する情報（図２参照）をバックアップ状態管理テーブル１１０に登録する処理も実行する。
【００１７】
ＬＴＯ書込み制御部１３０は、バックアップ状態管理テーブル１１０に情報が登録されたバックアップデータのうちから、バックアップの対象データを選定し、当該対象データを内蔵ＨＤＤ１６０から読み出してファイルシステム１５０経由でＬＴＯ装置３００のＬＴＯテープ３１０に書込む処理を実行する（データ本書込み）。また、ＬＴＯ書込み制御部１３０は、データ本書込みの書込み状況に応じて、バックアップ状態管理テーブル１１０を更新する処理も実行する（具体的には例えば、図２に示す書込み状態４０２や書込み完了待ち時刻等の更新）。さらに、ＬＴＯテープ３１０への対象データの書込みが完了後は、内蔵ＨＤＤ１６０に一時格納されていた対象データを削除する。
【００１８】
ファイルシステム１４０は、内蔵ＨＤＤ１６０に一時的に格納されるデータを管理するために用いられるファイルシステムであって、例えばＸＦＳ（登録商標）等が用いられる。
【００１９】
ファイルシステム１５０は、ＬＴＯ装置３００のＬＴＯテープ３１０に格納されるデータを管理するために用いられるファイルシステムであって、例えばＬＴＦＳが用いられる。なお、図１においてファイルシステム１５０内に示されたインデックス１５１、データＡ１５２、データＢ１５３、データＣ１５４、及びデータＤ１５５は、ＬＴＯ書込み制御部１３０によってＬＴＯテープ３１０に書込まれるデータ（対象データ）の一例である。ここで、インデックス１５１には、データＡ１５２〜データＤ１５５のそれぞれのインデックス情報が保持されている。また、データＡ１５２〜データＤ１５５は、内蔵ＨＤＤ１６０内に示されたデータＡ１６１〜データＤ１６４に対応している。
【００２０】
内蔵ＨＤＤ１６０は、バックアップサーバ１００に内蔵された記憶装置であって、バックアップデータの一時的な格納場所として利用される。なお、図１において内蔵ＨＤＤ１６０内に示されたデータＡ１６１、データＢ１６２、データＣ１６３、及びデータＤ１６４は、クライアントサーバ２００から受信したバックアップデータの一例である。
【００２１】
ＬＴＯ装置３００は、記憶媒体としてＬＴＯテープ３１０を有する記憶装置である。図１においてＬＴＯテープ３１０内に示されたインデックス３１１、データＡ３１２、データＢ３１３、データＣ３１４、及びデータＤ３１５は、ＬＴＯ書込み制御部１３０によってバックアップサーバ１００の内蔵ＨＤＤ１６０からＬＴＯテープ３１０に書込まれたデータの一例であり、個別には、ファイルシステム１５０内に示されたインデックス１５１及びデータＡ１５２〜データＤ１５５に対応する。なお、本実施の形態において、ＬＴＯ装置３００はバックアップサーバ１００によるバックアップ先の記憶装置の一例であって、他の種類の記憶装置であってもよい。また、記憶媒体もＬＴＯテープ３１０に限定されるものではなく、他の種類の記憶媒体であってもよい。
【００２２】
図２は、バックアップ状態管理テーブルの構成例を説明するための図である。バックアップ状態管理テーブル１１０は、個々のバックアップデータごとに、図２の構成表４００に例示したようなカラムを有して構成される。具体的には、構成表４００は、データパス４０１、書込み状態４０２、バーコード情報４０３、データ時刻４０４、及び書込み完了待ち時刻４０５のカラムを有する。
【００２３】
データパス４０１には、内蔵ＨＤＤ１６０に一時的に格納されるデータ（バックアップデータ）のパスが記載される。
【００２４】
書込み状態４０２には、バックアップデータの状態が記載され、より具体的には例えば、当該データについて「未実施」、「書込み完了待ち」、または「書込み完了」の３つのステータスの何れかを示す情報が記載される。ここで「未実施」は、内蔵ＨＤＤ１６０内にデータが存在するが、ＬＴＯテープ３１０への書込み前の状態を意味する。また「書込み完了待ち」は、ＬＴＯテープ３１０に当該データのデータ部（例えばデータＡ３１２等）が書込み済みであるが、書込み後に「所定時間」（詳細は後述するが、インデックス情報の書込みを担保できるだけの所定時間）が経過していない状態を意味する。また「書込み完了」は、ＬＴＯテープ３１０に当該データのデータ部が書込み済みで、かつ「所定時間」が経過し、内蔵ＨＤＤ１６０内に一時格納された当該データが削除された状態を意味する。
【００２５】
バーコード情報４０３には、書込み先であるＬＴＯテープ３１０のバーコード情報が記載される。バーコード情報４０３は、データリストア時に対象データが格納されているＬＴＯテープ３１０を識別するために使用される。
【００２６】
データ時刻４０４には、バックアップデータとしてクライアントサーバ２００から受信したデータ自体（元データとも称する）が作成されたときの時刻情報が記載される。データ時刻４０４を利用することによって、元データからＬＴＯテープ３１０に書込んだバックアップデータ（対象データ）を時刻管理することができる。
【００２７】
書込み完了待ち時刻４０５には、当該データのデータ部がＬＴＯテープ３１０に書込まれて書込み状態４０２が「書込み完了待ち」に更新されたときの時刻情報が記載される。書込み完了待ち時刻４０５は、ＬＴＯテープ３１０への書込み後の経過時間を計算するために用いられる（図４のステップＳ２０９等を参照）。
【００２８】
以上が、本実施の形態に係るデータ書込み装置（バックアップサーバ１００）を含むバックアップシステムの構成である。次に、図３及び図４を参照しながら、バックアップサーバ１００で実行されるバックアップ処理について説明する。上記のバックアップ処理は、データ蓄積制御部１２０によるデータ一時書込み処理と、ＬＴＯ書込み制御部１３０によるデータ本書込み処理とに分けることができる。
【００２９】
図３は、データ一時書込み処理の処理手順の一例を示すフローチャートである。前述したように、データ一時書込み処理は、ＬＴＯテープ３１０へのバックアップが要求されるバックアップデータを、クライアントサーバ２００から受信して、内蔵ＨＤＤ１６０に一時的に格納（蓄積）する処理であって、データ蓄積制御部１２０によって実行される。
【００３０】
図３によればまず、ステップＳ１０１において、データ蓄積制御部１２０は、クライアントサーバ２００からの接続要求を待機する。
【００３１】
そして、クライアントサーバ２００から接続要求が行われると、データ蓄積制御部１２０は、クライアントサーバ２００からバックアップデータを受信し（ステップＳ１０２）、受信したデータをＸＦＳ等のファイルシステム１４０を介して内蔵ＨＤＤ１６０に書込む（ステップＳ１０３）。
【００３２】
そして、ステップＳ１０３における内蔵ＨＤＤ１６０へのデータの書込みが完了すると、データ蓄積制御部１２０は、当該データに対応する情報をバックアップ状態管理テーブル１１０に登録する（ステップＳ１０４）。より具体的には、データパス４０１、書込み状態４０２、及びデータ時刻４０４が登録され、このとき書込み状態４０２には「未実施」が登録される。
【００３３】
以上のように、データ一時書込み処理が行われることによって、内蔵ＨＤＤ１６０に一時的に格納されたすべてのバックアップデータについて、バックアップ状態管理テーブル１１０に情報が登録される。
【００３４】
図４は、データ本書込み処理の処理手順の一例を示すフローチャートである。前述したように、データ本書込み処理は、バックアップ状態管理テーブル１１０に基づいて、バックアップの対象データをＬＴＯ装置３００のＬＴＯテープ３１０に書込む処理であって、ＬＴＯ書込み制御部１３０によって実行される。
【００３５】
図４によればまず、ＬＴＯ書込み制御部１３０は、起動時に、バックアップ状態管理テーブル１１０を参照し、書込み状態４０２が「書込み完了待ち」となっているデータを取得する（ステップＳ２０１）。
【００３６】
次いでステップＳ２０２において、ＬＴＯ書込み制御部１３０は、ステップＳ２０１で取得した「書込み完了待ち」のデータの有無を確認し、「書込み完了待ち」のデータがあった場合は、全ての該当データについて、その書込み状態４０２を「書込み完了待ち」から「未実施」に更新し（ステップＳ２０３）、ステップＳ２０４の処理に進む。一方、ステップＳ２０２において「書込み完了待ち」のデータがなかった場合は、ステップＳ２０３の処理を実行せずにステップＳ２０４の処理に進む。
【００３７】
以上のステップＳ２０１〜Ｓ２０３の処理は、主に異常な電源断からの復帰時のための処理である。まず、バックアップサーバ１００では、正常な状態のサーバ停止要求に基づいて電源断される場合、ＬＴＯテープ３１０に書込み途中のデータは、ファイルシステムの正常な終了処理によってインデックス情報までＬＴＯテープ３１０に書込まれ、その後、バックアップサーバ１００の電源が落とされる。そこで、ステップＳ２１２〜Ｓ２１４について後述するように、本実施の形態に係るバックアップサーバ１００では、正常なサーバ停止要求に基づいて電源断される場合には、バックアップ状態管理テーブル１１０における当該データの書込み状態４０２を「書込み完了」に更新する。以上のことを踏まえると、電源断復帰時の起動時に書込み状態４０２が「書込み完了待ち」となっているデータは、突然の故障や停電等の異常な停止によって正常な終了処理が行なわれなかったことが示唆され、インデックス情報が欠損していることが疑われるデータである。そのため、本実施の形態に係るバックアップサーバ１００では、ステップＳ２０１〜Ｓ２０３において、このようなデータについては、ＬＴＯテープ３１０に再度バックアップするために、書込み状態４０２を「書込み完了待ち」から「未実施」に更新するものである。
【００３８】
ステップＳ２０４〜Ｓ２１１では、内蔵ＨＤＤ１６０に一時的に格納されたバックアップデータ（例えば、図１に例示したデータＡ１６１〜データＤ１６４）をＬＴＯ装置３００のＬＴＯテープ３１０に書込む処理が行なわれる。
【００３９】
ステップＳ２０４において、ＬＴＯ書込み制御部１３０は、バックアップ状態管理テーブル１１０を参照し、書込み状態４０２が「未実施」のデータを取得する。そしてステップＳ２０５では、ＬＴＯ書込み制御部１３０は、ステップＳ２０４で取得した「未実施」の状態のデータの有無を確認する。
【００４０】
ステップＳ２０５において「未実施」のデータがあった場合には、ＬＴＯ書込み制御部１３０は、該当データをファイルシステム１５０を介してＬＴＯテープ３１０に書込む（ステップＳ２０６）。なお、バックアップ状態管理テーブル１１０に「未実施」のデータが複数ある場合には、該当するデータのうちでデータ時刻４０４が最も古いデータを、ステップＳ２０６におけるバックアップの対象データとする。そして、ＬＴＯテープ３１０へのデータの書込みが完了すると、ＬＴＯ書込み制御部１３０は、バックアップ状態管理テーブル１１０における当該データの書込み状態４０２を「書込み完了待ち」に更新する（ステップＳ２０７）。ステップＳ２０７の処理が終了した後は、ステップＳ２０８に進む。
【００４１】
また、ステップＳ２０７において、ＬＴＯ書込み制御部１３０は、バックアップ状態管理テーブル１１０に、当該データのバーコード情報４０３及び書込み完了待ち時刻４０５も合わせて登録する。バーコード情報４０３を登録することによって、バックアップデータのリストア時にバックアップ先のＬＴＯテープ３１０を特定できるようになる。また、書込み完了待ち時刻４０５を登録することによって、「書込み完了待ち」の状態になってからの経過時間が分かり、この経過時間は後述するステップＳ２０９で参照される。
【００４２】
一方、ステップＳ２０５において「未実施」のデータがあった場合には、ＬＴＯ書込み制御部１３０は、ステップＳ２０６，Ｓ２０７の処理を行わずにステップＳ２０８に進む。
【００４３】
ステップＳ２０８では、ＬＴＯ書込み制御部１３０は、書込み状態４０２が「書込み完了待ち」である全てのデータに対して、ステップＳ２０９〜Ｓ２１１に示す書込み完了チェックを行う。
【００４４】
ステップＳ２０９では、書込み状態４０２が「書込み完了待ち」であるデータのうち、書込み完了待ち時刻４０５が「所定時間（一定時間）」を経過しているデータの存在の有無を確認する。この「所定時間」は、インデックス情報の書込みを担保できるだけの所定時間であって、より詳しくは、ＬＴＯテープ３１０に対するデータの書込みにおいて、データの本体（データ部）が書込まれた後に当該データのインデックス情報が書込まれるまでに要する時間を超える時間が設定される。図１の例を挙げると、データＡ３１２がＬＴＯテープ３１０に書込まれた後、データＡに関するインデックス３１１がＬＴＯテープ３１０に書込まれるために要する時間を超える時間が「所定時間」として設定される。また、本例では、ＬＴＯテープ３１０への書込みはＬＴＦＳのファイルシステム１５０を介して行われるとしたが、上記の「所定時間」は、バックアップ先に書込まれるデータのファイルシステム（本例ではＬＴＦＳ）に基づいて、異なる時間を決定・設定することができる。
【００４５】
ステップＳ２０９において書込み完了待ち時刻４０５が「所定時間」を経過しているデータが存在する場合には、ＬＴＯ書込み制御部１３０は、該当する全てのデータについて、内蔵ＨＤＤ１６０に一時的に格納されている当該データを削除し（ステップＳ２１０）、さらに、バックアップ状態管理テーブル１１０の書込み状態４０２を「書込み完了待ち」から「書込み完了」に更新する（ステップＳ２１１）。ステップＳ２１１の処理が終了した後は、ステップＳ２１２に進む。
【００４６】
一方、ステップＳ２０９において書込み完了待ち時刻４０５が「所定時間」を経過しているデータが存在しない場合は、ステップＳ２１０，Ｓ２１１の処理を行わずにステップＳ２１２に進む。
【００４７】
以上のように、ステップＳ２０４〜Ｓ２１１の処理が行なわれることにより、内蔵ＨＤＤ１６０に一時的に格納されたバックアップデータのうち、バックアップが「未実施状態」の対象データが、ファイルシステム１５０を介してＬＴＯ装置３００のＬＴＯテープ３１０に書込まれる。
【００４８】
そして、ステップＳ２１２〜Ｓ２１４では、バックアップサーバ１００（またはバックアップサービス）に対する停止要求に関する処理が行なわれる。なお、「停止要求」の具体例としてバックアップサーバ１００の正常な状態での電源断の要求について説明するが、本実施の形態では、正常処理によるバックアップサービスの一時停止や終了の要求も、上記「停止要求」に含めることができる。
【００４９】
ステップＳ２１２では、ＬＴＯ書込み制御部１３０は、「停止要求」の有無を確認する。「停止要求」が無い場合には、ステップＳ２０４に戻り、バックアップが「未実施状態」の対象データがあればＬＴＯテープ３１０への書込みを繰り返す。
【００５０】
一方、ステップＳ２１２において「停止要求」があった場合には、正常な状態でバックアップサーバ１００を停止するための通常処理が行われ、このなかで、メモリ上にキャッシングされているインデックス情報はファイルシステム１５０によってＬＴＯテープ３１０に更新される。そして、当該更新の後に、バックアップサーバ１００が停止されるため、「書込み完了待ち」状態のデータのインデックス情報が欠損することはない。
【００５１】
そこで、ステップＳ２１２において「停止要求」があった場合には、ＬＴＯ書込み制御部１３０はバックアップサーバ１００が停止する前の終了処理として、書込み状態４０２が「書込み完了待ち」である全てのデータについて、内蔵ＨＤＤ１６０に一時的に格納された当該データを削除するとともに（ステップＳ２１３）、書込み状態４０２を「書込み完了」に更新する（ステップＳ２１４）。
【００５２】
以上、ステップＳ２１２〜Ｓ２１４の処理によれば、バックアップサーバ１００（またはバックアップサービス）が正常に終了した場合には、バックアップ状態管理テーブル１１０の書込み状態４０２が「書込み完了待ち」となっているデータは存在しない。すなわち、バックアップサーバ１００（またはバックアップサービス）の起動時に、バックアップ状態管理テーブル１１０の書込み状態４０２が「書込み完了待ち」となっているデータが存在した場合には、起動前に異常な停止があったことを示唆するものであり、当該データに対応するインデックス情報の欠損等が考えられる。そこで、本実施の形態では、このような場合にはステップＳ２０１〜Ｓ２０３で述べたように、当該データの書込み状態４０２を「未実施」とすることによって、再度バックアップが行われるようにしている。
【００５３】
かくして、本実施の形態によれば、データのバックアップを行うデータ書込み装置（バックアップサーバ１００）において突然の電源断が発生した場合でも、バックアップ対象のデータの欠損を回避することができる。
【００５４】
以下では、具体的なモデルを用いて、図４に示したフローチャートに沿ったバックアップサーバ１００によるバックアップ動作（より厳密には、データ本書込み処理の動作）を確認する。
【００５５】
図５，図６は、バックアップ動作の一例を説明するための図（その１，その２）である。図５，図６では、バックアップの対象データ（データＡ〜データＤ）について、内蔵ＨＤＤ１６０及びＬＴＯテープ３１０における記憶状況、並びにバックアップ状態管理テーブル１１０の書込み状態４０２に登録されたステータスが、時間の経過（時刻Ａ，時刻Ｂ，…，時刻Ｊ）に沿って示されている。なお、図５，図６に示すデータＡ〜データＤは、図１に例示した複数のデータＡ〜データＤ（例えば、内蔵ＨＤＤ１６０内のデータＡ１６１〜データＤ１６４等）にそれぞれ対応するものとして捉えてよい。
【００５６】
まず、図５について説明する。図５には、いわゆる正常動作時のバックアップ動作の様子が示されている。
【００５７】
時刻Ａは、バックアップ動作前のタイミングを示しており、データ蓄積制御部１２０によるデータ一時書込み処理（図３参照）が実行されることによって、バックアップの対象データ（データＡ〜データＤ）が、内蔵ＨＤＤ１６０に一時的に格納されている。このバックアップの対象データは、作成時刻（データ時刻４０４）の古い順に、データＡ，データＢ，データＣ，データＤであるとし、以降、古いデータから順にＬＴＯテープ３１０に書込まれる。なお、時刻Ａはバックアップ動作前のため、バックアップ状態管理テーブル１１０の書込み状態４０２は、データＡ〜データＤの何れも「未実施」となる。
【００５８】
時刻Ｂは、最も古いデータＡをＬＴＯテープ３１０に書込んだ直後のタイミングを示している。このとき、データＡは、ＬＴＯテープ３１０及び内蔵ＨＤＤ１６０の両方に記憶されており、図４のステップＳ２０７で説明したように、書込み状態４０２が「未実施」から「書込み完了待ち」に更新される。
【００５９】
以後、時刻Ｃ〜時刻Ｅでは、時刻ＢにおけるデータＡと同様に、データＢ、データＣ、及びデータＤが順次ＬＴＯテープ３１０に書込まれる。各データの書込み状態４０２は、ＬＴＯテープ３１０に書込まれた直後に、「未実施」から「書込み完了待ち」に更新される。
【００６０】
ここで時刻Ｄでは、データＡについて、書込み状態４０２が「書込み完了待ち」に更新されてから「所定時間（一定時間）」が経過したとして、内蔵ＨＤＤ１６０に一時的に格納されていたデータＡが削除され（図４のステップＳ２１０）、書込み状態４０２が「書込み完了待ち」から「書込み完了」に更新される（図４のステップＳ２１１）。「所定時間（一定時間）」については図４を参照しながら詳述したので繰り返しの説明を省略するが、簡単に言えば、インデックス情報の書込みが終了する以上の時間である。
【００６１】
そして時刻Ｅでは、データＡと同様にデータＢについても、書込み状態４０２が「書込み完了待ち」に更新されてから「所定時間（一定時間）」が経過したとして、内蔵ＨＤＤ１６０に一時的に格納されていたデータＢが削除され、書込み状態４０２が「書込み完了待ち」から「書込み完了」に更新される。なお、時刻Ｅでは、データＣ及びデータＤは、「書込み完了待ち」に更新されてから「所定時間（一定時間）」が経過していないため、「書込み完了待ち」のままであり、内蔵ＨＤＤ１６０における一時的な格納も残っている。
【００６２】
以後の経過の図示は省略するが、正常動作時のバックアップ動作では、上記の処理を繰り返し、最終的にはデータＡ〜データＤの全てがＬＴＯテープ３１０に書込まれ、内蔵ＨＤＤ１６０から削除され、書込み状態４０２が「書込み完了」に更新されて、バックアップ動作が完了する。
【００６３】
次に、図６について説明する。図６には、いわゆる異常動作後のバックアップ動作の様子が示されており、具体的には、図５の時刻Ｅの直後に突然の電源断が発生してバックアップサーバ１００が停止した場合の、バックアップ動作復旧の様子が示されている。
【００６４】
時刻Ｆは、電源断直前のタイミング（図５の時刻Ｅと同じ）を示している。
【００６５】
そして、時刻Ｇは、バックアップ動作復旧直後のタイミング（ＬＴＯ書込み制御部１３０が起動したタイミング）を示している。バックアップ動作復旧直後は、ＬＴＯ書込み制御部１３０はバックアップ状態管理テーブル１１０の書込み状態４０２を確認し、インデックス情報の欠損が疑われる「書込み完了待ち」状態の全てのデータを「未実施」に更新する（図４のステップＳ２０１〜Ｓ２０３）。図６の場合、時刻Ｆで「書込み完了待ち」となっていたデータＣ及びデータＤの書込み状態４０２が、時刻Ｇで「未実施」に更新される。このように「未実施」の状態に変更されたデータＣ，データＤは、その後の処理で、古いデータから順に、再度バックアップが行われることになる。
【００６６】
時刻Ｈは、「未実施」のデータＣ，データＤのうち、より古いデータＣをＬＴＯテープ３１０に書込んだ直後のタイミングを示している。このとき、図５の時刻Ｄと同様に、データＣの書込み状態４０２は「未実施」から「書込み完了待ち」に更新される。
【００６７】
時刻Ｉは、「未実施」のデータＣ，データＤのうち、次に古いデータＤをＬＴＯテープ３１０に書込んだ直後のタイミングを示している。このとき、図５の時刻Ｅと同様に、データＤの書込み状態４０２は「未実施」から「書込み完了待ち」に更新される。また、時刻Ｉでは、データＣについて、時刻Ｈで書込み状態４０２が「書込み完了待ち」に更新されてから「所定時間（一定時間）」が経過したとして、内蔵ＨＤＤ１６０に一時的に格納されていたデータＣが削除され、書込み状態４０２が「書込み完了待ち」から「書込み完了」に更新される。
【００６８】
そして、最後の時刻Ｊは、データＤの書込み状態４０２が「書込み完了待ち」に更新されてから「所定時間（一定時間）」が経過したタイミングを示している。このとき、内蔵ＨＤＤ１６０に一時的に格納されていたデータＤが削除され、書込み状態４０２が「書込み完了待ち」から「書込み完了」に更新される。
【００６９】
以上、図６の時刻Ｇから時刻Ｊまでに示したようなバックアップ動作が行われることによって、突然の電源断が発生して「書込み完了待ち」状態のデータ（データＣ，データＤ）が残ってしまった場合でも、復旧後に再度、バックアップが実行され、これらのデータが失われないようにできることが確認された。
【００７０】
なお、本発明は上記した実施の形態に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施の形態は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、実施の形態の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
【００７１】
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実施には殆ど全ての構成が相互に接続されていると考えてもよい。
【符号の説明】
【００７２】
１００  バックアップサーバ
１１０  バックアップ状態管理テーブル
１２０  データ蓄積制御部
１３０  ＬＴＯ書込み制御部
１４０，１５０  ファイルシステム
１６０  内蔵ＨＤＤ
２００  クライアントサーバ
３００  ＬＴＯ装置
３１０  ＬＴＯテープ
４０１  データパス
４０２  書込み状態
４０３  バーコード情報
４０４  データ時刻
４０５  書込み完了待ち時刻
【図１】
2019153187.tif 000003
【図２】
2019153187.tif 000004
【図３】
2019153187.tif 000005
【図４】
2019153187.tif 000006
【図５】
2019153187.tif 000007
【図６】
2019153187.tif 000008