(57)【要約】【課題】高速かつ確実にファイルの複製が可能な技術を提供する。【解決手段】記憶装置であって、第１記憶部と、フォルダ内におけるファイル操作を検知し、変化のあったファイルの情報をファイル複製処理対象としてデータベースに逐次登録する登録処理部と、データベースにファイル複製処理対象として登録されたファイルを、ファイル単位で第２記憶部に順次複製するファイル複製処理と、フォルダに属するファイルをフォルダ単位で第２記憶部に一括して複製するフォルダ複製処理と、を実行可能な複製処理部と、を備え、複製処理部は、フォルダ複製処理の開始時に、データベースのファイル複製処理対象から外し、フォルダ複製処理中であっても、データベースに、変化のあったファイルの情報がファイル複製処理対象として登録された場合には、フォルダ複製処理と並行してファイル複製処理を実行する。【選択図】図３
2018132848.tif 000002
【特許請求の範囲】
【請求項１】
記憶装置であって、
フォルダおよび前記フォルダに属するファイルを記憶する第１記憶部と、
前記フォルダ内におけるファイル操作を検知し、変化のあったファイルの情報をファイル複製処理対象としてデータベースに逐次登録する登録処理部と、
前記データベースにファイル複製処理対象として登録されたファイルを、ファイル単位で第２記憶部に順次複製するファイル複製処理と、前記フォルダに属するファイルをフォルダ単位で前記第２記憶部に一括して複製するフォルダ複製処理と、を実行可能な複製処理部と、を備え、
前記複製処理部は、
前記フォルダ複製処理の開始時に、前記フォルダに属し、ファイル複製処理対象として登録されたファイルを前記データベースのファイル複製処理対象から外し、
前記フォルダ複製処理中であっても、前記データベースに、変化のあったファイルの情報がファイル複製処理対象として登録された場合には、前記フォルダ複製処理と並行して前記ファイル複製処理を実行する、記憶装置。
【請求項２】
請求項１に記載の記憶装置であって、
前記複製処理部は、定期的に前記フォルダ複製処理を行う、記憶装置。
【請求項３】
フォルダおよび前記フォルダに属するファイルを記憶する第１記憶部を備えた第１記憶装置と第２記憶部を備えた第２記憶装置とを備えるファイル複製システムであって、
前記第１記憶装置は、前記フォルダ内におけるファイル操作を検知し、変化のあったファイルの情報をファイル複製処理対象としてデータベースに逐次登録する登録処理部と、
前記データベースにファイル複製処理対象として登録されたファイルを、ファイル単位で前記第２記憶部に順次複製するファイル複製処理と、前記フォルダに属するファイルをフォルダ単位で前記第２記憶部に一括して複製するフォルダ複製処理と、を実行可能な複製処理部と、を備え、
前記複製処理部は、
前記フォルダ複製処理の開始時に、前記フォルダに属し、ファイル複製処理対象として登録されたファイルを前記データベースのファイル複製処理対象から外し、
前記フォルダ複製処理中であっても、前記データベースに、変化のあったファイルの情報がファイル複製処理対象として登録された場合には、前記フォルダ複製処理と並行して前記ファイル複製処理を実行する、ファイル複製システム。
【請求項４】
フォルダおよび前記フォルダに属するファイルを記憶する第１記憶部を備えた記憶装置によって実行されるファイル複製方法であって、
前記フォルダ内におけるファイル操作を検知し、変化のあったファイルの情報をファイル複製処理対象としてデータベースに逐次登録する登録工程と、
前記データベースにファイル複製処理対象として登録されたファイルを、ファイル単位で第２記憶部に順次複製するファイル複製工程と、
前記フォルダに属するファイルをフォルダ単位で前記第２記憶部に一括して複製するフォルダ複製工程と、を備え、
前記フォルダ複製工程の開始時に、前記フォルダに属し、ファイル複製処理対象として登録されたファイルを前記データベースのファイル複製処理対象から外し、
前記フォルダ複製工程の実行中であっても、前記データベースに、変化のあったファイルの情報がファイル複製処理対象として登録された場合には、前記フォルダ複製工程と並行して前記ファイル複製工程を実行する、ファイル複製方法。
【請求項５】
フォルダおよび前記フォルダに属するファイルを記憶する第１記憶部を備えた記憶装置を動作させるためのコンピュータプログラムであって、
前記フォルダ内におけるファイル操作を検知し、変化のあったファイルの情報をファイル複製処理対象としてデータベースに逐次登録する登録機能と、
前記データベースにファイル複製処理対象として登録されたファイルを、ファイル単位で第２記憶部に順次複製するファイル複製処理と、前記フォルダに属するファイルをフォルダ単位で前記第２記憶部に一括して複製するフォルダ複製処理と、を実行可能な複製機能と、を備え、
前記複製機能は、
前記フォルダ複製処理の開始時に、前記フォルダに属し、ファイル複製処理対象として登録されたファイルを前記データベースのファイル複製処理対象から外し、
前記フォルダ複製処理中であっても、前記データベースに、変化のあったファイルの情報がファイル複製処理対象として登録された場合には、前記フォルダ複製処理と並行して前記ファイル複製処理を実行する、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、記憶装置、ファイル複製システム、ファイル複製方法、および、コンピュータプログラムに関する。
【背景技術】
【０００２】
ネットワーク接続ストレージ（ＮＡＳ：Ｎｅｔｗｏｒｋ  Ａｔｔａｃｈｅｄ  Ｓｔｏｒａｇｅ）において、他の記憶装置との間でファイルの複製による同期（以下、「レプリケーション」という）を行うものが知られている。同期方法として、例えば、特許文献１に記載されているように、同期対象のファイルを指定するファイルリストを部分的に更新するか再作成するかを、同期対象のファイルの総数に対する更新されたファイルの数の割合に応じて切替えることで、処理を高速化する方法が知られている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第５７７６４９９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
例えば、数十万単位でファイル操作があった場合に、ファイル単位で同期を行うと、レプリケーションの完了までに時間がかかる場合がある。また、この場合、ＮＡＳの処理負荷が高くなるため、レプリケーションが失敗する可能性がある。このような課題はレプリケーションに限らず、バックアップやミラーリングなど、同一のファイルを他の記憶装置や他の記憶領域に複製する技術に共通した課題であった。そのため、高速かつ確実にファイルの複製が可能な技術が望まれていた。
【課題を解決するための手段】
【０００５】
本発明は、上述の課題の少なくとも一部を解決するためになされたものであり、以下の形態として実現することが可能である。
【０００６】
（１）本発明の一形態によれば、記憶装置が提供される。この記憶装置は、フォルダおよび前記フォルダに属するファイルを記憶する第１記憶部と；前記フォルダ内におけるファイル操作を検知し、変化のあったファイルの情報をファイル複製処理対象としてデータベースに逐次登録する登録処理部と；前記データベースにファイル複製処理対象として登録されたファイルを、ファイル単位で第２記憶部に順次複製するファイル複製処理と、前記フォルダに属するファイルをフォルダ単位で前記第２記憶部に一括して複製するフォルダ複製処理と、を実行可能な複製処理部と、を備え；前記複製処理部は；前記フォルダ複製処理の開始時に、前記フォルダに属し、ファイル複製処理対象として登録されたファイルを前記データベースのファイル複製処理対象から外し；前記フォルダ複製処理中であっても、前記データベースに、変化のあったファイルの情報がファイル複製処理対象として登録された場合には、前記フォルダ複製処理と並行して前記ファイル複製処理を実行する。この形態の記憶装置によれば、フォルダ複製処理によってフォルダ単位でファイルの複製を行うため、高速かつ低負荷にファイルを複製することができる。また、フォルダ複製処理中であっても、ファイル複製処理を並行して実行するため、確実にファイルの複製ができる。従って、本形態の記憶装置によれば、高速かつ確実にファイルを複製することができる。
【０００７】
（２）上記形態の記憶装置において、前記複製処理部は、定期的に前記フォルダ複製処理を行ってもよい。この形態の記憶装置によれば、フォルダ複製処理を定期的に行うため、より確実にファイルの複製ができる。
【０００８】
なお、本発明は、種々の形態で実現することが可能であり、例えば、ファイルの複製システムや、ファイルの複製方法、コンピュータプログラム等の形態で実現することができる。コンピュータプログラムは、コンピュータが読み取り可能な一時的でない有形の記録媒体に記録されていてもよい。
【図面の簡単な説明】
【０００９】
【図１】ファイル複製システムの概要を示す説明図である。
【図２】記憶装置の説明図である。
【図３】データベースの一例を示した図である。
【図４】データベースへの登録処理を表すフローチャートである。
【図５】ファイル複製処理を表すフローチャートである。
【図６】フォルダ複製処理を表すフローチャートである。
【図７】第２実施形態におけるデータベースの一例を示した図である。
【図８】第２実施形態におけるファイル複製処理を表すフローチャートである。
【図９】第３実施形態におけるデータベースの一例を示した図である。
【図１０】第３実施形態におけるファイル複製処理を表すフローチャートである。
【発明を実施するための形態】
【００１０】
Ａ．第１実施形態：
図１は、本発明の一実施形態におけるファイル複製システム５００の概要を示す説明図である。本実施形態において、ファイル複製システム５００は、第１記憶装置１００と第２記憶装置２００と端末装置３００とを備える。端末装置３００は、本実施形態では、パーソナルコンピュータである。端末装置３００は、パーソナルコンピュータに限らず、ゲーム機やテレビ、レコーダ等の各種民生機器であってもよい。本実施形態において、ファイル複製システム５００は端末装置３００を１台のみ備えるが、複数台備えていてもよい。
【００１１】
端末装置３００と第１記憶装置１００と第２記憶装置２００とは、ネットワーク４００を介してそれぞれ相互に接続されている。ネットワーク４００は、有線ネットワークであってもよいし、その全部または一部が無線ネットワークによって構成されてもよい。また、ネットワーク４００は、ＬＡＮでもよいし、ＷＡＮ、インターネットでもよく、それらが組み合わされていてもよい。ファイル複製システム５００は、ネットワーク４００を介して端末装置３００から第１記憶装置１００の第１記憶部１１に記録されたファイルを、ネットワーク４００を通じて第２記憶装置２００の第２記憶部１２に複製するためのシステムである。ファイル複製システム５００において行われる「複製」の態様としては、（１）新規に作成されたファイル、更新されたファイル、削除されたファイルを対象として同じものを別に作る処理（ファイル同期、ミラーリング、レプリケーション）、（２）新規に作成されたファイル、更新されたファイルのみを対象として、削除されたファイルを除外して別にコピーする処理（バックアップ）、におけるファイルの複製が含まれる。
【００１２】
図２は、本発明の一実施形態における第１記憶装置１００の説明図である。本実施形態において、第１記憶装置１００はＮＡＳである。第１記憶装置１００は、記憶部１０と、ネットワークインターフェイス部２０と、ＣＰＵ３０と、ＲＡＭ４０と、ＲＯＭ５０と、を備える。第１記憶装置１００のことを、単に「記憶装置」ともいう。
【００１３】
記憶部１０は、例えば、磁気ディスクドライブ方式のハードディスクドライブ、半導体記憶素子方式のフラッシュメモリドライブ等が用いられる。本実施形態において、記憶部１０は、第１記憶部１１と、データベース１３とを有する。第１記憶部１１は、フォルダおよびフォルダに属するファイルを記憶する。データベース１３には、端末装置３００から第１記憶装置１００内の第１記憶部１１に対して行われたファイル操作のイベントの内容が、イベント毎に記録される。
【００１４】
ネットワークインターフェイス部２０は、他の装置、例えば第２記憶装置２００や端末装置３００との間で通信を行うためのインターフェイスである。
【００１５】
ＣＰＵ３０には、記憶部１０と、ネットワークインターフェイス部２０と、ＲＡＭ４０と、ＲＯＭ５０と、が接続されている。ＲＯＭ５０には、第１記憶装置１００を動作させるためのコンピュータプログラム（ファームウェア）が記録されている。ファームウェアは、ＲＯＭ５０に記憶されていてもよい。また、メモリーカードや光ディスクなどのコンピュータ、一時的でない有形の記録媒体に記録されていてもよい。
【００１６】
ＣＰＵ３０は、ＲＯＭ５０に記録されたファームウェアをＲＡＭ４０にロードして実行することで、登録処理部３１および複製処理部３２として動作する。登録処理部３１は、第１記憶部１１内のフォルダ内におけるファイル操作を検知し、変化のあったファイルの情報をファイル複製処理対象としてデータベース１３に逐次登録する機能（登録機能）を実現する。複製処理部３２は、データベース１３にファイル複製処理対象として登録されたファイルを、ファイル単位で第２記憶部１２に順次複製するファイル複製処理と、フォルダに属するファイルをフォルダ単位で第２記憶部１２に一括して複製するフォルダ複製処理と、を実行可能な機能（複製機能）を実現する。
【００１７】
図３は、データベース１３の一例を示した図である。本実施形態において、データベース１３には、ファイル操作イベント毎に、「ＩＤ」、「ＤＡＴＥ」、「ＡＣＴＩＯＮ」、「ＰＡＴＨ」の各フィールドが記録される。「ＩＤ」フィールドは、各イベントに固有の番号を表し、「ＤＡＴＥ」フィールドは、データベース１３への登録日時を表す。「ＡＣＴＩＯＮ」フィールドは、ファイル操作内容を表し、「ｕｐｄａｔｅ」か「ｄｅｌｅｔｅ」のいずれかの種別が記録される。「ｕｐｄａｔｅ」はファイルの新規作成、更新を表し、「ｄｅｌｅｔｅ」は、ファイルの削除を表す。「ＰＡＴＨ」フィールドは、第１記憶部１１内におけるファイル操作対象となったファイルのパスを表す。
【００１８】
図４は、データベース１３への登録処理を表すフローチャートである。この処理は第１記憶装置１００の動作中、登録処理部３１により繰り返し実行される処理であり、上述した登録機能を実現するための処理である。まず、登録処理部３１は、第１記憶部１１に記録された所定のフォルダ内におけるファイル操作を検知する（ステップＳ１００）。本実施形態では、「所定のフォルダ」は第１記憶部１１のフォルダ階層上の一番上位（以下、「ルートフォルダ」と呼ぶ。）が対象となっている。登録処理の対象は、例えば、ルートフォルダではない別のフォルダでもよく、複数のフォルダが対象となっていてもよい。
【００１９】
そして、登録処理部３１は、変化のあったファイルの情報をファイル複製処理対象としてデータベース１３に登録する（ステップＳ１１０）。具体的には、登録処理部３１は、変化のあったファイルのうち、新規作成あるいは更新されたファイルについては、ファイル複製処理対象として、データベース１３の「ＡＣＴＩＯＮ」フィールド（図３）に、「ｕｐｄａｔｅ」と記録し、削除されたファイルについては、データベース１３の「ＡＣＴＩＯＮ」フィールドに、「ｄｅｌｅｔｅ」と記録する。なお、ステップＳ１００〜Ｓ１１０を「登録工程」ともいう。
【００２０】
以上で説明した登録処理は、後述するファイル複製処理や、フォルダ複製処理が実行された場合でも、これらの処理と同時並列的に実行される。この登録処理により、第１記憶装置１００は、フォルダ内におけるファイル操作を検知し、変化のあったファイルの情報をファイル複製処理対象としてデータベース１３に逐次登録することができる。つまり、この登録処理により、第１記憶装置１００は、端末装置３００からのファイル操作を監視して、その履歴をデータベース１３に登録することが出来る。
【００２１】
図５は、ファイル複製処理を表すフローチャートである。この処理は第１記憶装置１００の動作中、複製処理部３２により繰り返し実行される処理であり、上述した複製機能のうちのファイル複製処理を実現するための処理である。このファイル複製処理は、本実施形態では１分に１回の頻度で実行される。まず、複製処理部３２は、データベース１３にファイル複製処理対象が登録されているかどうか判定する（ステップＳ２００）。具体的には、データベース１３において、「ＡＣＴＩＯＮ」フィールドに「ｕｐｄａｔｅ」と記録されたファイルが、ファイル複製処理対象である。ファイル複製処理対象が登録されていない場合（ステップＳ２００：ＮＯ）、ファイル複製処理は終了する。ファイル複製処理対象が登録されている場合（ステップＳ２００：ＹＥＳ）、複製処理部３２は、ファイル複製処理対象として登録されたファイルを、ファイル単位で第２記憶部１２に複製する（ステップＳ２１０）。
【００２２】
ファイルの複製には、例えば、ｒｓｙｎｃコマンドを用いる。ｒｓｙｎｃコマンドを用いる場合、”ｒｓｙｎｃ  −ａ  複製元ファイルパス（例えば、「￥Ａ￥ａ．ｔｘｔ」）  複製先ファイルパス”と引数を指定することによってファイルが第２記憶部１２に複製される。複製元ファイルパスはデータベース１３の「ＰＡＴＨ」フィールドに記録されたファイルパスであり、複製先ファイルパスは第２記憶部１２内のファイルパスである。
【００２３】
なお、ステップＳ２００〜Ｓ２１０を「ファイル複製工程」ともいう。以上で説明したファイル複製処理により、第１記憶装置１００は、データベース１３にファイル複製処理対象として登録されたファイルを、ファイル単位で第２記憶部１２に順次複製することができる。本実施形態では、複製処理部３２は、ステップＳ２１０において複製が行われたファイルについては、データベース１３から登録（レコード）を抹消する。
【００２４】
図６は、フォルダ複製処理を表すフローチャートである。この処理は第１記憶装置１００の動作中、複製処理部３２により定期的に実行される処理であり、上述した複製機能のうちのフォルダ複製処理を実現するための処理である。このフォルダ複製処理は、本実施形態では１時間に１回の頻度で実行される。まず、複製処理部３２は、フォルダ複製処理の開始時に、複製処理対象のフォルダであるルートフォルダに属し、ファイル複製処理対象として登録されたファイルをデータベース１３のファイル複製処理対象から外す（ステップＳ３００）。具体的には、データベース１３からレコード全てを削除する。
【００２５】
そして、ルートフォルダに属するファイルをフォルダ単位で第２記憶部１２に一括して複製する（ステップＳ３１０）。フォルダの複製には、例えば、ｒｓｙｎｃコマンドを用いる。ｒｓｙｎｃコマンドを用いる場合、”ｒｓｙｎｃ  −ａ  複製元フォルダパス  複製先フォルダパス”と引数を指定することによってファイルがフォルダ単位で第２記憶部１２に複製される。複製元フォルダパスは第１記憶部１１内のフォルダパス（本実施形態では、ルート）であり、複製先ファイルパスは第２記憶部１２内のフォルダパスである。フォルダ複製処理の対象は、例えば、ルートフォルダではない別のフォルダでもよく、複数のフォルダが対象となっていてもよい。
【００２６】
なお、ステップＳ３００〜Ｓ３１０を「フォルダ複製工程」ともいう。以上で説明したフォルダ複製処理により、フォルダに属するファイルをフォルダ単位で第２記憶部１２に一括して複製することができる。上記ステップＳ３１０におけるフォルダの複製では、追加・更新されたファイル（つまり、差分ファイル）のみを複製することが好ましい。
【００２７】
以上で説明したように、本実施形態では、複製処理部３２は、上述したフォルダ複製処理を１時間に１回実行し、上述したファイル複製処理を１分に１回実行する。そして、複製処理部３２は、上述したフォルダ複製処理の実行中であっても、データベース１３に、変化のあったファイルの情報がファイル複製処理対象として登録された場合には、フォルダ複製処理と並行して、同時に、ファイル複製処理を実行する。
【００２８】
以上で説明した本実施形態の第１記憶装置１００によれば、複製処理部３２は、フォルダ複製処理によってフォルダ単位でファイルの複製を行うため、高速かつ低負荷にファイルを複製することができる。また、複製処理部３２は、フォルダ複製処理中であっても、ファイル複製処理を並行して実行するため、更新されたファイルを即座に確実に複製できる。従って、本実施形態の第１記憶装置１００によれば、高速かつ確実にファイルを複製することができる。この結果、本実施形態によれば、取りこぼしのない確実なフェイルオーバーを実現することができる。フェイルオーバーとは、現在使用中のシステム（例えば、第１記憶装置１００）に障害が発生した場合に、予備のシステム（例えば、第２記憶装置２００）を用いて自動的に処理を引き継ぐ技術である。
【００２９】
Ｂ．第２実施形態：
図７は、第２実施形態におけるデータベース１３Ａの一例を示した図である。第２実施形態は、第１実施形態に対して、データベース１３Ａの内容とファイル複製処理の処理内容が主に異なる。本実施形態において、データベース１３Ａには、「ＩＤ」、「ＤＡＴＥ」、「ＳＴＡＴＥ」、「ＡＣＴＩＯＮ」、「ＰＡＴＨ」の各フィールドが記録される。「ＳＴＡＴＥ」フィールドは、ファイル複製処理の状態を表し、「ｕｎｆｉｎｉｓｈｅｄ」か「ｆｉｎｉｓｈｅｄ」のいずれかの種別が複製処理部３２によって記録される。「ｕｎｆｉｎｉｓｈｅｄ」はファイル複製処理が実行されていないことを表し、「ｆｉｎｉｓｈｅｄ」は、ファイル複製処理が完了したことを表す。本実施形態では、図４に示した登録処理のステップＳ１１０において、「ＳＴＡＴＥ」フィールドに、「ｕｎｆｉｎｉｓｈｅｄ」と、一旦、記録される。
【００３０】
図８は、第２実施形態におけるファイル複製処理を表すフローチャートである。この処理は、第１実施形態と同様に、第１記憶装置１００の動作中、複製処理部３２により繰り返し実行される処理である。まず、複製処理部３２は、データベース１３Ａにファイル複製処理対象が登録されているかどうか判定する（ステップＳ２０１）。ファイル複製処理対象が登録されていない場合（ステップＳ２０１：ＮＯ）、ファイル複製処理は終了する。ファイル複製処理対象が登録されている場合（ステップＳ２０１：ＹＥＳ）、複製処理部３２は、ファイル複製処理対象として登録されたファイルがまだ複製されていないかどうか判定する（ステップＳ２１１）。具体的には、データベース１３Ａにおけるファイル複製処理対象の「ＳＴＡＴＥ」フィールドが「ｕｎｆｉｎｉｓｈｅｄ」のファイルを、まだ複製されていないファイルとして判定する。
【００３１】
ファイル複製処理対象が既に複製されている場合（ステップＳ２１１：ＮＯ）、つまり、ファイル複製処理対象の「ＳＴＡＴＥ」フィールドが「ｆｉｎｉｓｈｅｄ」の場合、複製処理部３２は、ファイル複製処理は終了する。ファイル複製処理対象が複製されていない場合（ステップＳ２１１：ＹＥＳ）、つまり、ファイル複製処理対象の「ＳＴＡＴＥ」フィールドが「ｕｎｆｉｎｉｓｈｅｄ」の場合、複製処理部３２は、ファイル複製処理対象として登録されたファイルを、ファイル単位で第２記憶部１２に複製する（ステップＳ２１２）。最後に、ファイル複製処理対象として登録されたファイルをデータベース１３Ａのファイル複製処理対象から外す（ステップＳ２１３）。具体的には、データベース１３Ａにおけるファイル複製処理対象の「ＳＴＡＴＥ」フィールドに「ｆｉｎｉｓｈｅｄ」を記録する。
【００３２】
以上で説明した本実施形態の第１記憶装置１００によれば、複製処理部３２は、ファイル複製処理対象として登録されたファイルがまだ複製されていないかどうか判定して、ファイルの複製を行う。そのため、データベース１３Ａに蓄積されたファイル操作の情報に基づき、より確実にファイルの複製を行うことができる。
【００３３】
Ｃ．第３実施形態：
図９は、第３実施形態におけるデータベース１３Ｂの一例を示した図である。第３実施形態は、第１実施形態に対して、データベース１３Ｂの内容とファイル複製処理の処理内容が主に異なる。本実施形態において、データベース１３Ｂには、「ＩＤ」、「ＤＡＴＥ」、「ＳＴＡＴＥ」、「ＡＣＴＩＯＮ」、「ＰＡＴＨ」、「ＥＲＲＯＲ」の各フィールドが記録される。「ＥＲＲＯＲ」フィールドは、ファイルの複製が失敗したか否かを表し、ファイルの複製が失敗した場合に、複製処理部３２によってエラー種別コードが記録される。
【００３４】
図１０は、第３実施形態におけるファイル複製処理を表すフローチャートである。この処理は、第１実施形態と同様に、第１記憶装置１００の動作中、複製処理部３２により繰り返し実行される処理である。まず、複製処理部３２は、データベース１３Ｂにファイル複製処理対象が登録されているかどうか判定する（ステップＳ２０５）。ファイル複製処理対象が登録されていない場合（ステップＳ２０５：ＮＯ）、ファイル複製処理は終了する。ファイル複製処理対象が登録されている場合（ステップＳ２０５：ＹＥＳ）、複製処理部３２は、ファイル複製処理対象として登録されたファイルを、ファイル単位で第２記憶部１２に複製する（ステップＳ２１５）。
【００３５】
複製処理部３２は、ステップＳ２１５におけるファイルの複製が失敗した場合には、データベース１３Ｂの「ＥＲＲＯＲ」フィールドにエラーの原因に応じたエラー種別コードを記録する。本実施形態では、上述した図６のフォルダ複製処理におけるファイルの複製と同一のファイルを複製しようとして書き込みエラーが発生した場合に、エラー種別コードとして「Ｅ０１」と記録する。
【００３６】
最後に、複製処理部３２は、ステップＳ２１５におけるファイルの複製が、失敗していないかを判定する（ステップＳ２２５）。具体的には、データベース１３Ｂにおけるファイル複製処理対象の「ＥＲＲＯＲ」フィールドに、ファイルの複製が失敗したことを示すエラー種別コード（Ｅ０１）が記録されているかを判定する。ファイルの複製が失敗していない場合（ステップＳ２２５：ＮＯ）、ファイル複製処理は終了する。ファイルの複製が失敗していた場合（ステップＳ２２５：ＹＥＳ）、複製処理部３２は、処理をステップＳ２１５に戻して、エラーを起こしていると判定されなくなるまで、上述したステップＳ２１５、Ｓ２２５の処理を繰り返す。つまり、ファイル複製処理対象のファイルが複製されるまでファイル複製処理を行う。
【００３７】
以上で説明した本実施形態の第１記憶装置１００によれば、複製処理部３２は、ファイル複製処理において、ファイルの複製が失敗した場合、ファイルの複製が成功するまでファイルの複製を繰り返す。そのため、より確実にファイルの複製ができる。
【００３８】
なお、上記ステップＳ２１５におけるファイル複製処理おいて、上記第２実施形態のように、データベース１３Ｂの「ＳＴＡＴＥ」フィールドに基づき、ファイル複製処理対象として登録されたファイルがまだ複製されていないかどうか判定してファイルの複製（図８、ステップＳ２１１〜Ｓ２１３）を行ってもよい。
【００３９】
本実施形態において、複製処理部３２は、ファイルの破損による物理エラーが生じた場合に、そのエラーを表すエラー種別コード（例えば、「Ｅ０２」）をデータベース１３Ｂに記録してもよい。ファイルの破損による物理エラー等のエラー種別コードが記録された場合には、複製処理部３２は、ファイルが複製されるまでステップＳ２１５、Ｓ２２５の処理を予め定めた回数繰り返し、あらかじめ定めた回数失敗した場合には、エラーを表示、またはメール等によって通知して、ファイルの複製を中止してもよい。
【００４０】
Ｄ．変形例：
＜第１変形例＞
上記実施形態において、第１記憶装置１００は、第２記憶装置２００との間でファイルの複製を行っている。これに対して、第１記憶装置１００は、ファイルの複製のみでなく、フォルダやファイルの削除も行なってもよい。つまり、第１記憶装置１００は、第２記憶装置２００との間でフォルダやファイルの同期を行ってもよい。具体的には、複製処理部３２は、ファイル複製処理またはフォルダ複製処理の少なくとも一方において、データベース１３における「ＡＣＴＩＯＮ」フィールド（図３）に「ｄｅｌｅｔｅ」が記録されているファイル複製処理対象を削除する。
【００４１】
＜第２変形例＞
上記実施形態において、第２記憶部１２は、第１記憶装置１００にネットワーク接続された第２記憶装置２００の記憶領域である。これに対して、第２記憶部１２は、ネットワーク接続以外のストレージ（ＤＡＳ：Ｄｉｒｅｃｔ  Ａｔｔａｃｈｅｄ  Ｓｔｏｒａｇｅ）の記憶領域でもよい。この場合、第１記憶装置１００は、ＤＡＳへの接続インターフェイスとして、例えば、ＵＳＢやＩＥＥＥ１３９４、ｅＳＡＴＡを備える。また、第２記憶部１２は、第１記憶装置１００に内蔵されていてもよい。
【００４２】
＜第３変形例＞
上記実施形態において、第１記憶装置１００は、ネットワーク４００を介して端末装置３００に接続されたＮＡＳである。これに対して、第１記憶装置１００は、端末装置３００に対して直接的に接続されたＤＡＳでもよい。
【００４３】
＜第４変形例＞
上記実施形態において、ファイル複製処理は１分間に１回行われる。また、フォルダ複製処理は１時間に１回行われる。これに対して、ファイル複製処理およびフォルダ複製処理の実行頻度は任意に設定できる。なお、ファイル複製処理の頻度のほうがフォルダ複製処理の頻度よりも高いことが好ましい。
【００４４】
＜第５変形例＞
上記実施形態では、フォルダ複製処理は定期的に実行されるが、フォルダ複製処理は不定期に実行されてもよい。不定期とは、例えば、端末装置３００の電源オンまたはオフと連動したタイミングや、第１記憶装置１００の電源オンまたはオフと連動したタイミング等である。
【００４５】
本発明は、上述の実施形態や変形例に限られるものではなく、その趣旨を逸脱しない範囲において種々の構成で実現することができる。例えば発明の概要の欄に記載した各形態中の技術的特徴に対応する実施形態、変形例中の技術的特徴は、上述した課題を解決するために、あるいは上述の効果の一部又は全部を達成するために、適宜、差し替えや組み合わせを行うことが可能である。また、その技術的特徴が本明細書中に必須なものとして説明されていなければ、適宜削除することが可能である。
【符号の説明】
【００４６】
１０…記憶部
１１…第１記憶部
１２…第２記憶部
１３、１３Ａ、１３Ｂ…データベース
２０…ネットワークインターフェイス部
３０…ＣＰＵ
３１…登録処理部
３２…複製処理部
４０…ＲＡＭ
５０…ＲＯＭ
１００…第１記憶装置
２００…第２記憶装置
３００…端末装置
４００…ネットワーク
５００…ファイル複製システム
【図１】
2018132848.tif 000003
【図２】
2018132848.tif 000004
【図３】
2018132848.tif 000005
【図４】
2018132848.tif 000006
【図５】
2018132848.tif 000007
【図６】
2018132848.tif 000008
【図７】
2018132848.tif 000009
【図８】
2018132848.tif 000010
【図９】
2018132848.tif 000011
【図１０】
2018132848.tif 000012