(57)【要約】【課題】ファイルの復旧可能性を向上させる。【解決手段】ジョブ５の参照、更新のファイルアクセスの要求に対し、Ｉ／Ｏエラーが発生した場合に、代替ファイルスペース１３を確保できなくても、暫定ファイルスペース１４を確保して、バックアップが成功した場合には、ファイル復旧手段７は、復旧が成功したものとする。一方、暫定ファイルスペース１４を確保できても、バックアップが失敗した場合、あるいは、暫定ファイルスペース１４を確保できなかった場合、あるいは、暫定ファイルスペース１４を確保できても暫定ファイルスペース１４が消えてしまったような場合は、ファイル復旧手段７は、復旧の失敗と判定して、処理をＩ／Ｏエラーとする。【選択図】図１
2007272656.tif 000002
【特許請求の範囲】
【請求項１】
ファイルを多重化して格納する複数のファイルスペースと各ファイルスペースに関する情報を記憶する複数のファイルスペース情報部とを有する多重化ファイル部と、
前記多重化ファイル部が設けられた装置とは異なる装置に設けられた記憶部と、
前記多重化ファイル部に格納されたファイルに対する入出力処理を実施するファイル入出力処理手段と、
前記ファイル入出力手段が前記ファイルに対する入出力処理を実施したときに、入出力エラーが発生した場合、前記ファイルスペースとは異なる代替ファイルスペースを前記多重化ファイル部に確保し、前記入出力エラーとなったファイルを第１のファイルとして、前記第１のファイルと同じファイル内容の第２のファイルを、異なるファイルスペースから読み出して前記代替ファイルスペースに格納し、前記多重化ファイル部に前記代替ファイルスペースを確保できなかった場合、前記記憶部に暫定ファイルスペースを確保し、前記第２のファイルを前記暫定ファイルスペースに格納し、前記第２のファイルに基づいて前記第１のファイルの復旧を行うファイル復旧手段と、を備えた、
ことを特徴とする多重化ファイルシステム。
【請求項２】
前記多重化ファイル部は、各ファイルスペースにおいて格納するファイルの位置情報、ファイルサイズ及びファイル状態に関するファイルスペース情報を格納するファイルスペース情報部を有し、
前記ファイル復旧手段は、前記記憶部に暫定ファイルスペースを確保したときに、前記暫定ファイルスペースに関する暫定ファイルスペース情報に基づいて、前記第２のファイルの前記暫定ファイルスペースにおける位置情報、ファイルサイズ及びファイル状態の判別が可能となるように、前記ファイルスペース情報部の情報を更新する、
ことを特徴とする請求項１に記載の多重化ファイルシステム。
【請求項３】
前記ファイル復旧手段は、前記暫定ファイルスペースの確保に失敗した場合、前記多重化ファイル部の各ファイルスペース情報部の前記ファイル状態をエラー状態に更新する、
ことを特徴とする請求項２に記載の多重化ファイルシステム。
【請求項４】
前記ファイル入出力処理手段は、前記入出力エラーが発生したときに、前記多重化ファイル部の該当するファイルスペースに書き込まれたファイル状態を参照し、前記ファイル状態が暫定状態の場合、前記多重化ファイル部の該当するファイルスペース情報と前記暫定ファイルスペースに書き込まれた位置情報とを比較して、対応するときは、いずれかの前記位置情報に基づいて、前記ファイル復旧手段が確保した暫定ファイルスペースに前記第２のファイルを書き出す、
ことを特徴とする請求項２又は３に記載の多重化ファイルシステム。
【請求項５】
前記ファイル入出力処理手段は、前記多重化ファイル部の該当するファイルスペース情報と前記暫定ファイルスペースに書き込まれた位置情報とを比較して、対応しないときは、前記ファイルスペース情報部のファイル状態をエラー状態に設定し、前記第１のファイルの入出力処理を終了させる、
ことを特徴とする請求項４に記載の多重化ファイルシステム。
【請求項６】
前記多重化ファイル部及び前記記憶部とは別に備えられた外部バックアップ媒体と、
前記ファイル復旧手段が前記暫定ファイルスペースを確保したときに、前記ファイル入出力処理手段に、前記第２のファイルを前記記憶部の前記暫定ファイルスペースと前記外部バックアップ媒体とに書き出すように指示するバックアップ手段と、を備え、
前記ファイル入出力手段は、前記バックアップ手段の指示に従って、前記第２のファイルを前記記憶部の前記暫定ファイルスペースと前記外部バックアップ媒体に書き出す、
ことを特徴とする請求項２乃至５のいずれか１項に記載の多重化ファイルシステム。
【請求項７】
前記バックアップ手段は、前記ファイル入出力処理手段が、前記該当ファイルの前記外部バックアップ媒体への書き出しに成功した場合、バックアップ成功の結果の通知を行う、
ことを特徴とする請求項６に記載の多重化ファイルシステム。
【請求項８】
複数のファイルスペースにそれぞれ多重化されて格納されたファイルのうち、いずれかのファイルに対し、入出力処理を実施するステップと、
前記入出力処理を実施したときに、入出力エラーが発生した場合、前記ファイルスペースとは別に代替ファイルスペースを確保するステップと、
前記入出力エラーが発生したファイルを第１のファイルとして、前記第１のファイルと同じファイル内容の第２のファイルを、異なるファイルスペースから読み出して前記代替ファイルスペースに格納し、前記第２のファイルに基づいて前記第１のファイルを復旧するステップと、
前記代替ファイルスペースを確保できなかった場合、前記複数のファイルスペースを有する装置とは異なる装置に、暫定ファイルスペースを確保するステップと、
前記暫定ファイルスペースに前記第２のファイルを格納し、前記第２のファイルに基づいて前記第１のファイルを復旧するステップと、を備えた、
ことを特徴とする多重化ファイルシステムのファイル復旧方法。
【請求項９】
コンピュータに、
複数のファイルスペースにそれぞれ多重化されて格納されたファイルのうち、いずれかのファイルに対し、入出力処理を実施する手順、
前記入出力処理を実施したときに、入出力エラーが発生した場合、前記ファイルスペースとは別に代替ファイルスペースを確保する手順、
前記入出力エラーが発生したファイルを第１のファイルとして、前記第１のファイルと同じファイル内容の第２のファイルを、異なるファイルスペースから読み出して前記代替ファイルスペースに格納し、前記第２のファイルに基づいて前記第１のファイルを復旧する手順、
前記代替ファイルスペースを確保できなかった場合、前記複数のファイルスペースを有する装置とは異なる装置に、暫定ファイルスペースを確保する手順、
前記暫定ファイルスペースに前記第２のファイルを格納し、前記第２のファイルに基づいて前記第１のファイルを復旧する手順、
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、多重化ファイルシステム、多重化ファイルシステムのファイル復旧方法及びプログラムに関するものである。
【背景技術】
【０００２】
コンピュータシステムにおいて、ファイルの入出力エラーのような障害に対する安全性を確保するため、二重化ファイルを利用したものがある（例えば、特許文献１参照）。
【０００３】
かかる従来のコンピュータシステムでは、二重化ファイルの問題点である多数回の障害にも耐えうるよう障害耐久性を向上させている。
【特許文献１】特開２０００−２１５１０９号公報（第４頁、図１）
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかし、従来のコンピュータシステムでは、ファイルの復旧時に代替ファイルスペースが確保できない場合には、復旧しきれないおそれがある。
【０００５】
本発明は、このような従来の問題点に鑑みてなされたもので、ファイルの復旧可能性を向上させることが可能な２重化装置、２重化装置のファイル復旧方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
この目的を達成するため、本発明の第１の観点に係る多重化ファイルシステムは、
ファイルを多重化して格納する複数のファイルスペースと各ファイルスペースに関する情報を記憶する複数のファイルスペース情報部とを有する多重化ファイル部と、
前記多重化ファイル部が設けられた装置とは異なる装置に設けられた記憶部と、
前記多重化ファイル部に格納されたファイルに対する入出力処理を実施するファイル入出力処理手段と、
前記ファイル入出力手段が前記ファイルに対する入出力処理を実施したときに、入出力エラーが発生した場合、前記ファイルスペースとは異なる代替ファイルスペースを前記多重化ファイル部に確保し、前記入出力エラーとなったファイルを第１のファイルとして、前記第１のファイルと同じファイル内容の第２のファイルを、異なるファイルスペースから読み出して前記代替ファイルスペースに格納し、前記多重化ファイル部に前記代替ファイルスペースを確保できなかった場合、前記記憶部に暫定ファイルスペースを確保し、前記第２のファイルを前記暫定ファイルスペースに格納し、前記第２のファイルに基づいて前記第１のファイルの復旧を行うファイル復旧手段と、を備えたことを特徴とする。
【０００７】
前記多重化ファイル部は、各ファイルスペースにおいて格納するファイルの位置情報、ファイルサイズ及びファイル状態に関するファイルスペース情報を格納するファイルスペース情報部を有し、
前記ファイル復旧手段は、前記記憶部に暫定ファイルスペースを確保したときに、前記暫定ファイルスペースに関する暫定ファイルスペース情報に基づいて、前記第２のファイルの前記暫定ファイルスペースにおける位置情報、ファイルサイズ及びファイル状態の判別が可能となるように、前記ファイルスペース情報部の情報を更新するようにしてもよい。
【０００８】
前記ファイル復旧手段は、前記暫定ファイルスペースの確保に失敗した場合、前記多重化ファイル部の各ファイルスペース情報部の前記ファイル状態をエラー状態に更新するようにしてもよい。
【０００９】
前記ファイル入出力処理手段は、前記入出力エラーが発生したときに、前記多重化ファイル部の該当するファイルスペースに書き込まれたファイル状態を参照し、前記ファイル状態が暫定状態の場合、前記多重化ファイル部の該当するファイルスペース情報と前記暫定ファイルスペースに書き込まれた位置情報とを比較して、対応するときは、いずれかの前記位置情報に基づいて、前記ファイル復旧手段が確保した暫定ファイルスペースに前記第２のファイルを書き出すようにしてもよい。
【００１０】
前記ファイル入出力処理手段は、前記多重化ファイル部の該当するファイルスペース情報と前記暫定ファイルスペースに書き込まれた位置情報とを比較して、対応しないときは、前記ファイルスペース情報部のファイル状態をエラー状態に設定し、前記第１のファイルの入出力処理を終了させるようにしてもよい。
【００１１】
前記多重化ファイル部及び前記記憶部とは別に備えられた外部バックアップ媒体と、
前記ファイル復旧手段が前記暫定ファイルスペースを確保したときに、前記ファイル入出力処理手段に、前記第２のファイルを前記記憶部の前記暫定ファイルスペースと前記外部バックアップ媒体とに書き出すように指示するバックアップ手段と、を備え、
前記ファイル入出力手段は、前記バックアップ手段の指示に従って、前記第２のファイルを前記記憶部の前記暫定ファイルスペースと前記外部バックアップ媒体に書き出すようにしてもよい。
【００１２】
前記バックアップ手段は、前記ファイル入出力処理手段が、前記該当ファイルの前記外部バックアップ媒体への書き出しに成功した場合、バックアップ成功の結果の通知を行うようにしてもよい。
【００１３】
本発明の第２の観点に係る多重化ファイルシステムのファイル復旧方法は、
複数のファイルスペースにそれぞれ多重化されて格納されたファイルのうち、いずれかのファイルに対し、入出力処理を実施するステップと、
前記入出力処理を実施したときに、入出力エラーが発生した場合、前記ファイルスペースとは別に代替ファイルスペースを確保するステップと、
前記入出力エラーが発生したファイルを第１のファイルとして、前記第１のファイルと同じファイル内容の第２のファイルを、異なるファイルスペースから読み出して前記代替ファイルスペースに格納し、前記第２のファイルに基づいて前記第１のファイルを復旧するステップと、
前記代替ファイルスペースを確保できなかった場合、前記複数のファイルスペースを有する装置とは異なる装置に、暫定ファイルスペースを確保するステップと、
前記暫定ファイルスペースに前記第２のファイルを格納し、前記第２のファイルに基づいて前記第１のファイルを復旧するステップと、を備えたことを特徴とする。
【００１４】
本発明の第３の観点に係るプログラムは、
コンピュータに、
複数のファイルスペースにそれぞれ多重化されて格納されたファイルのうち、いずれかのファイルに対し、入出力処理を実施する手順、
前記入出力処理を実施したときに、入出力エラーが発生した場合、前記ファイルスペースとは別に代替ファイルスペースを確保する手順、
前記入出力エラーが発生したファイルを第１のファイルとして、前記第１のファイルと同じファイル内容の第２のファイルを、異なるファイルスペースから読み出して前記代替ファイルスペースに格納し、前記第２のファイルに基づいて前記第１のファイルを復旧する手順、
前記代替ファイルスペースを確保できなかった場合、前記複数のファイルスペースを有する装置とは異なる装置に、暫定ファイルスペースを確保する手順、
前記暫定ファイルスペースに前記第２のファイルを格納し、前記第２のファイルに基づいて前記第１のファイルを復旧する手順、
を実行させるためのものである。
【発明の効果】
【００１５】
本発明によれば、ファイルの復旧可能性を向上させることができる。
【発明を実施するための最良の形態】
【００１６】
以下、本発明の実施形態に係る多重化ファイルシステムを図面を参照して説明する。
本実施形態に係る多重化ファイルシステムとしてのコンピュータシステムの構成を図１に示す。
本実施形態に係るコンピュータシステムは、データ処理装置１と、補助記憶装置２と、主記憶装置３と、補助記憶装置４と、からなる。
【００１７】
まず、補助記憶装置２は、ディスク装置等により構成されたものであり、二重化ファイル９と、代替ファイルスペース１３と、を備える。
【００１８】
二重化ファイル９は、正ファイル１０ａと副ファイル１０ｂからなる。
正ファイル１０ａは、ファイルスペース情報（正）１１ａとファイルスペース（正）１２ａとからなる。
【００１９】
ファイルスペース情報（正）１１ａは、ファイルスペース（正）１２ａの位置情報及びファイル状態を持つ。ファイル状態とは、ファイルにＩ／Ｏエラーが発生した後のファイル復旧状態を示す情報である。
【００２０】
ファイルスペース情報（正）１１ａのファイル状態としては、「正常」、「エラー」、「暫定」の３種類がある。「正常」はファイルに問題がない状態、「エラー」はファイルＩ／Ｏエラーが発生して復旧も出来ず、ファイルにアクセスできない状態、「暫定」は暫定ファイルスペース１４を確保している状態である。
【００２１】
ファイルスペース（正）１２ａは、ファイルの内容を格納するためのものである。
【００２２】
同様に、副ファイル１０ｂは、ファイルスペース情報（副）１１ｂとファイルスペース（副）１２ｂからなる。
【００２３】
ファイルスペース情報（副）１１ｂは、同様にファイルスペース（副）１２ｂの位置情報及びファイル状態を持つ。
【００２４】
ファイルスペース（副）１２ｂは、ファイルスペース情報（正）１１ａと同様にファイルの内容が格納されており、Ｉ／Ｏエラーが発生しない限りファイルスペース（正）１２ａと同じ内容となる。また、ファイルスペース（副）１２ｂはファイルスペース（正）１２ａとは異なる装置上にとられる。
【００２５】
代替ファイルスペース１３は、Ｉ／Ｏエラー発生時のファイル復旧に用いるためのものである。
【００２６】
主記憶装置３は、メモリのような一時的なデータ・プログラムの格納場所であり、二重化ファイル９を記憶する前記補助記憶装置２とは異なる装置である。また、本実施形態の主記憶装置３は、暫定ファイルスペース１４を確保するためにも用いられる。
【００２７】
暫定ファイルスペース１４は、代替ファイルスペース１３が確保できなかった場合に、ファイルスペースの代わりとして割り当てられるものである。一般的なキャッシュと異なり、これはコンピュータが稼動している限りは内容は保証される（別目的で使用されない）ものとする。暫定ファイルスペース１４は、位置情報とファイル内容とを備える。
【００２８】
補助記憶装置４は、テープのような取り外し可能なバックアップ先であり、外部バックアップ媒体１５を備える。
【００２９】
データ処理装置１は、プログラム制御により動作するものであり、ジョブ５と、ファイルＩ／Ｏ手段６と、ファイル復旧手段７と、バックアップ手段８と、からなる。
【００３０】
ジョブ５は、ファイルＩ／Ｏ手段６に対し、二重化ファイル９への参照、更新等のファイルアクセスの指示を行うものである。
【００３１】
ファイルＩ／Ｏ手段６は、ジョブ５から、参照、更新の指示があった場合、その指示に従ってファイルのＩ／Ｏ処理を行うものである。ファイルＩ／Ｏ手段６は、指示が参照の場合は正ファイル１０ａから読み込み、指示が更新の場合は正ファイル１０ａ・副ファイル１０ｂ両ファイルへ書き出しを行う。
【００３２】
ファイルＩ／Ｏ手段６は、Ｉ／Ｏが正常に終了した場合には、Ｉ／Ｏ正常終了の結果をジョブ５に返す。また、ファイルＩ／Ｏ手段６は、参照、更新時にＩ／Ｏエラーが発生した場合には、ファイル復旧手段７を動作させる。
【００３３】
ファイル復旧手段７は、Ｉ／Ｏエラーが発生して使用不能になったファイルスペースの代りに代替ファイルスペース１３を確保し、ファイルＩ／Ｏ手段６が代替ファイルスペース１３に書き出したファイル内容に基づいて、入出力エラーが発生したファイルの復旧を行うものである。
【００３４】
この際、ファイル復旧手段７は、代替ファイルスペース１３が、エラーが発生したファイルスペース１２ａ又は１２ｂの代りとなるようファイルスペース情報１１ａ又は１１ｂを更新する。復旧が成功した場合、ファイル復旧手段７は、復旧成功の結果をファイルＩ／Ｏ手段６に返却する。
【００３５】
また、代替ファイルスペース１３が確保できなかった場合、ファイル復旧手段７は、代わりに暫定ファイルスペース１４を確保し、バックアップ手段８を動作させる。
【００３６】
バックアップ手段８は、二重化ファイル９の内容の暫定ファイルスペース１４、外部バックアップ媒体１５へのバックアップを行うものである。バックアップ手段８は、バックアップに成功した場合には、Ｉ／Ｏ正常終了の結果をジョブ５に返し、失敗した場合には、Ｉ／Ｏエラーの結果をジョブ５に返却する。データ処理装置１は、バックアップ結果を表示する表示部（図示せず）を備える。
【００３７】
尚、データ処理装置１は、各手段が実行する処理のプログラムを記憶するメモリ（図示せず）を備え、各手段は、このプログラムに従って、各処理を実行する。
【００３８】
次に本実施形態に係る二重化システムの動作を説明する。
二重化ファイル９の参照、更新等を行う場合、ジョブ５はファイルＩ／Ｏ手段６に、二重化ファイル９に参照、更新等のファイルアクセスの要求を出力する。ファイルＩ／Ｏ手段６はその要求を受け取り、図２に示すフローチャートに従ってファイルＩ／Ｏ処理を実行する。
【００３９】
ファイルＩ／Ｏ手段６は、対応するファイルスペース情報１１ａ又は１１ｂを確認し、ファイル状態が「暫定」か否かを判定する（ステップＳ１１）。
【００４０】
ファイル状態が「暫定」状態であると判定した場合（ステップＳ１１においてＹｅｓ）、ファイルＩ／Ｏ手段６は、Ｉ／Ｏ発行対象のファイルのファイルスペース情報１１ａ又は１１ｂに主記憶が含まれる（暫定ファイルスペース１４が存在する）か否かを判定する（ステップＳ１２）。
【００４１】
主記憶が含まれると判定した場合（ステップＳ１２においてＹｅｓ）、ファイルＩ／Ｏ手段６は、暫定ファイルスペース１４の位置とファイルスペース情報１１ａ又は１１ｂとの位置情報とが対応しているか否かを判定する（ステップＳ１３）。
【００４２】
対応していないと判定した場合（ステップＳ１３においてＮｏ）、ファイルＩ／Ｏ手段６は、暫定ファイルスペース１４の情報に正当性はないと判定する。この場合、そのファイルを使用できないことになるので、ファイルＩ／Ｏ手段６は、ファイルスペース情報１１ａ又は１１ｂのファイル状態を「エラー」に設定する（ステップＳ１４）。
【００４３】
ファイルＩ／Ｏ手段６は、Ｉ／Ｏエラーの結果をジョブ５に返却する（ステップＳ１５）。
【００４４】
ファイルＩ／Ｏ手段６が、ファイルスペース情報１１ａ又は１１ｂのファイル状態が「暫定」状態ではないと判定した場合（ステップＳ１１においてＮｏ）、あるいは、主記憶が含まれないと判定した場合（ステップＳ１２においてＮｏ）、ファイル状態は通常通りである。この場合、ファイルＩ／Ｏ手段６は、通常通りファイルＩ／Ｏを実施する（ステップＳ１６）。
【００４５】
また、暫定ファイルスペース１４の内容とファイルスペース情報１１ａ又は１１ｂの位置情報とが対応していた場合（ステップＳ１３においてＹｅｓ）、ファイルＩ／Ｏ手段６は、Ｉ／Ｏエラーによりファイルスペース１２ａ又は１２ｂを使用することはできない。
【００４６】
しかし、暫定ファイルスペース１４上にファイル内容が存在するため、ファイルＩ／Ｏ手段６は、同じようにファイルＩ／Ｏを実施する（ステップＳ１６）。
【００４７】
ファイルＩ／Ｏ手段６は、ファイルＩ／Ｏ時にＩ／Ｏエラーが発生したか否かを判定する（ステップＳ１７）。
【００４８】
ファイルＩ／Ｏ時にＩ／Ｏエラーが発生したと判定した場合（ステップＳ１７においてＹｅｓ）、ファイルＩ／Ｏ手段６は、ファイル復旧手段７を呼び出す（ステップＳ１８）。
【００４９】
ファイルＩ／Ｏ手段６は、ファイル復旧手段７が返却した結果に基づいて復旧が成功したか否かを判定する（ステップＳ１９）。
【００５０】
復旧が失敗したと判定した場合（ステップＳ１９においてＮｏ）、ファイルＩ／Ｏ手段６は、Ｉ／Ｏエラーの結果をジョブ５に返却する（ステップＳ１５）。
【００５１】
復旧が成功したと判定した場合（ステップＳ１９においてＹｅｓ）、ファイルＩ／Ｏ手段６は、Ｉ／Ｏの正常終了の結果をジョブ５に返却する（ステップＳ２０）。
【００５２】
一方、ファイルＩ／Ｏ時にＩ／Ｏエラーが発生しなかったと判定した場合（ステップＳ１７においてＮｏ）、あるいは、復旧が成功したと判定した場合（ステップＳ１９においてＹｅｓ）、ファイルスペース１２ａ又は１２ｂ及びＩ／Ｏの結果に問題はないことになる。
【００５３】
この場合、ファイルＩ／Ｏ手段６は、Ｉ／Ｏの正常終了の結果をジョブ５に返却する（ステップＳ２０）。このようにして、ファイルＩ／Ｏ手段６は、ファイルＩ／Ｏ処理を実行する。
【００５４】
次に、ファイルＩ／Ｏ手段６がＩ／Ｏエラー発生時にファイル復旧手段７を呼び出した場合（図２のステップＳ１８）、ファイル復旧手段７は、図３に示すフローチャートに従って、ファイル復旧処理を実行する。
【００５５】
まず、ファイル復旧手段７は、代替ファイルスペース１３の確保を試みる（ステップＳ３１）。
【００５６】
ファイル復旧手段７は、代替ファイルスペース１３の確保が成功したか否かを判定する（ステップＳ３２）。
【００５７】
代替ファイルスペース１３の確保が失敗したと判定した場合（ステップＳ３２においてＮｏ）、ファイル復旧手段７は、代替ファイルスペース１３の代わりに暫定ファイルスペース１４を確保する（ステップＳ３３）。
【００５８】
ファイル復旧手段７は、暫定ファイルスペース１４の確保に成功したか否かを判定する（ステップＳ３４）。
【００５９】
暫定ファイルスペース１４の確保に失敗したと判定した（ステップＳ３４においてＮｏ）、ファイル復旧手段７は、ファイルスペース情報１１ａ又は１１ｂにエラーを設定する（ステップＳ３５）。
【００６０】
そして、ファイル復旧手段７は、復旧に失敗したとして（ステップＳ３６）、処理をファイルＩ／Ｏ手段６に戻す。
【００６１】
一方、代替ファイルスペース１３の確保が成功したと判定した場合（ステップＳ３２においてＹｅｓ、あるいは、ステップＳ３４においてＹｅｓ）、ファイル復旧手段７は、ファイル状態を「暫定」に設定して対象ファイルスペース情報１１ａ又は１１ｂを更新する。そして、ファイル復旧手段７は、暫定ファイルスペース１４のファイル内容の復旧処理を行う（ステップＳ３７）。
【００６２】
ファイル復旧手段７は、復旧に成功したか否かを判定する（ステップＳ３８）。
【００６３】
復旧に失敗したと判定した場合（ステップＳ３８においてＮｏ）、ファイル復旧手段７は、復旧リトライが可能か否かを判定する（ステップＳ３９）。
【００６４】
復旧リトライが可能と判定した場合（ステップＳ３９においてＹｅｓ）、ファイル復旧手段７は、改めて代替ファイルスペース１３の確保からやり直す（ステップＳ３１）。
【００６５】
復旧リトライが不可能と判定した場合（ステップＳ３９においてＮｏ）、ファイル復旧手段７は、ファイルスペース情報１１ａ又は１１ｂのファイル状態にエラーを設定し（ステップＳ３５）、復旧に失敗したとして（ステップＳ３６）、ファイルＩ／Ｏ処理に戻る。
【００６６】
ファイル復旧に成功したと判定した場合（ステップＳ３８においてＹｅｓ）、ファイル復旧手段７は、ファイルＩ／Ｏを継続して行う（ステップＳ４０）。
【００６７】
ファイル復旧手段７は、暫定ファイルスペース１４を確保できたか否かを判定する（ステップＳ４１）。
【００６８】
確保できたと判定した場合（ステップＳ４１においてＹｅｓ）、ファイル復旧手段７は、バックアップ手段８を呼び出す（ステップＳ４２）。
【００６９】
ファイル復旧手段７は、バックアップ手段８のバックアップ結果に基づいてバックアップに成功したか否かを判定する（ステップＳ４３）。
【００７０】
バックアップに成功したと判定した場合（ステップＳ４３においてＹｅｓ）、ファイル復旧手段７は、復旧に成功したと判定して（ステップＳ４４）、処理をファイルＩ／Ｏ手段６に戻す。
【００７１】
バックアップに失敗したと判定した場合（ステップＳ４３においてＮｏ）、ファイルの保全がされていないため、ファイル復旧手段７は、対象のファイルスペース情報１１ａ又は１１ｂのファイル状態に「エラー」を設定する（ステップＳ３５）。そして、ファイル復旧手段７は、復旧に失敗したとして（ステップＳ３６）、処理をファイルＩ／Ｏ手段６に戻す。
【００７２】
次に、ファイル復旧手段７がバックアップ手段８を呼び出した場合（ステップＳ４２）、バックアップ手段８は、図４に示すフローチャートに従って、バックアップ処理を実行する。
【００７３】
バックアップ手段８は、まず、バックアップ対象のファイルがバックアップ中か否かを判定する（ステップＳ５１）。
【００７４】
バックアップ中と判定した場合（ステップＳ５１においてＹｅｓ）、バックアップ手段８は、このバックアップ処理を終了させる。
【００７５】
バックアップ中ではないと判定した場合（ステップＳ５１においてＮｏ）、バックアップ手段８は、バックアップ対象のファイル内容を、ファイルスペース１２ａ又は１２ｂから読み込むようにファイルＩ／Ｏ手段６に指示する（ステップＳ５２）。
【００７６】
バックアップ手段８は、Ｉ／Ｏエラーが発生したか否かを判定する（ステップＳ５３）。
【００７７】
Ｉ／Ｏエラーが発生しなかったと判定した（ステップＳ５３においてＮｏ）、バックアップ手段８は、バックアップを実施するファイルに対して、バックアップ対象のファイル内容を、主記憶装置３の暫定ファイルスペース１４と外部バックアップ媒体１５とに書き出すようにファイルＩ／Ｏ手段６に指示する（ステップＳ５４）。
【００７８】
バックアップ手段８は、Ｉ／Ｏエラーが発生したか否かを判定する（ステップＳ５５）。
【００７９】
Ｉ／Ｏエラーが発生しなかったと判定した（ステップＳ５５においてＮｏ）、バックアップ手段８は、バックアップ成功と判定する（ステップＳ５６）。このように判定すると、バックアップ手段８は、バックアップが成功した旨のバックアップ結果をジョブ５に通知して（ステップＳ５７）、処理をファイル復旧手段７に戻す。ジョブ５は、表示部にバックアップが成功した旨のバックアップ結果を表示する。
【００８０】
一方、途中でＩ／Ｏエラーが発生したと判定した（ステップＳ５３；Ｙｅｓ、あるいは、ステップＳ５５；Ｙｅｓ）、バックアップ手段８は、バックアップが失敗したと判定する（ステップＳ５８）。
【００８１】
このように判定した場合、バックアップ手段８は、バックアップが失敗した旨のバックアップ結果をジョブ５に通知して（ステップＳ５７）、処理をファイル復旧手段７に戻す。ジョブ５は、表示部にバックアップが失敗した旨のバックアップ結果を表示する。
【００８２】
次に、この動作を具体的に説明する。
二重化ファイル９が図５に示すようなファイルスペース情報(正）１１ａ、ファイルスペース情報(副）１１ｂを有しているものとする。
【００８３】
ファイルスペース情報１１ａのファイル状態は「正常」であり、ファイルスペース１２ａのファイルに問題はない。一方、ファイルスペース情報１１ｂのファイル状態は「エラー状態」であり、ファイルスペース１２ｂのファイルにファイルＩ／Ｏエラーが発生して復旧も出来ず、ファイルスペース１２ｂのファイルには、アクセスできない。
【００８４】
このため、ジョブ５が二重化ファイル９に対してファイル内相対位置１５０からサイズ２０の更新要求を出した場合、ファイルＩ／Ｏ手段６は、ファイルスペース情報１１ａに基づいて、ファイル状態が暫定か否かをチェックする（ステップＳ１１）。
【００８５】
ファイルスペース１２ａのファイル状態は「正常」であるので、ファイルＩ／Ｏ手段６は、ファイルスペース１２ａのファイルに対してファイルＩ／Ｏを実施する（ステップＳ１６）。
【００８６】
Ｉ／Ｏエラーが発生した場合（ステップＳ１７；Ｙｅｓ）、ファイルＩ／Ｏ手段６は、ファイル復旧手段７を呼び出し（ステップＳ１８）、ファイル復旧手段７は、代替ファイルスペース１３の確保を試みる（ステップＳ３１）。
【００８７】
ファイル復旧手段７は、図６に示すような代替ファイルスペース１３を確保した場合（ステップＳ３１）、ファイルスペース情報１１ａを図６に示すように更新し（ステップＳ３７）、再度Ｉ／Ｏを発行する（ステップＳ３８；Ｙｅｓ、Ｓ４０）。
【００８８】
最後に、ファイル復旧手段７は、暫定ファイルスペース１４を確保したか否かをチェックし（ステップＳ４１）。図６に示すように暫定ファイルスペース１４を確保していない場合（ステップＳ４１においてＮｏ）、ファイル復旧手段７は、復旧が成功したものとして処理をファイルＩ／Ｏ手段６に戻す（ステップＳ４４）。
【００８９】
ファイルＩ／Ｏ手段６は、復旧が成功したため（図２のステップＳ１９においてＹｅｓ）、Ｉ／Ｏ正常終了の結果をジョブ５に返却して（ステップＳ２０）、処理を終了させる。以上の動作が通常のファイル復旧の場合の動作である。
【００９０】
次に、ファイル復旧手段７が代替ファイルスペース１３を確保できなかった場合（図３のステップＳ３２においてＮｏ）に、暫定ファイルスペース１４を確保した場合(ステップＳ３３）について説明する。
【００９１】
暫定ファイルスペース１４を確保できた場合（ステップＳ３４においてＹｅｓ）、ファイル復旧手段７は、ファイルスペース情報１１ａを図７に示すように更新し（ステップＳ３７）、復旧成功としてＩ／Ｏを実施する（ステップＳ４０、Ｓ４１）。
【００９２】
ファイル復旧手段７は、暫定ファイルスペース１４を確保したため（ステップＳ４１においてＹｅｓ）、バックアップ手段８を呼び出す（ステップＳ４２）。
【００９３】
バックアップ手段８が該当ファイルのバックアップを行っていないため（図４のステップＳ５１においてＮｏ）、ファイルＩ／Ｏ手段６は、ファイルスペース１２ａの内容を読み込む（ステップＳ５２）。Ｉ／Ｏエラーが発生しなければ（ステップＳ５３においてＮｏ）、バックアップ手段８は、外部バックアップ媒体１５に書き出す（ステップＳ５４）。
【００９４】
バックアップに問題が発生しなかった場合（ステップＳ５５においてＮｏ）はバックアップ成功として（ステップＳ５６）、バックアップ手段８は、バックアップが成功した旨のバックアップ結果を利用者に通知する（ステップＳ５７）。そして、バックアップ手段８は、バックアップ処理を終了させ、処理をファイル復旧手段７に戻す。
【００９５】
ファイル復旧手段７は、バックアップ結果を確認し、バックアップに成功しため（ステップ図３のステップＳ４３においてＹｅｓ）、ファイル復旧手段７は、復旧成功として（ステップＳ４４）、ファイル復旧処理を終了させる。そして、ファイル復旧手段７は、処理をファイルＩ／Ｏ手段６に戻す。
【００９６】
ファイルＩ／Ｏ手段６は、復旧が成功したため（図２のステップＳ１９においてＹｅｓ）、Ｉ／Ｏが正常に終了した旨の結果をジョブ５に返却する（ステップＳ２０）。
【００９７】
利用者（運用者）はステップＳ５７での通知を確認した場合は該当ファイルの正常な復旧を行う為、補助記憶装置２の空きスペースを確保、あるいは別装置に対象ファイルを配置するなどの処置を行うことになる。
【００９８】
次に、暫定ファイルスペース１４を確保後、バックアップに失敗した場合（図４のステップＳ５３においてＮｏ、ステップＳ５５においてＮｏ）の動作について説明する。
【００９９】
この場合、ファイル復旧は不可能になる。この場合、バックアップ手段８は、バックアップ失敗として（ステップＳ５８）、バックアップ結果を利用者に通知し（ステップＳ５７）、バックアップ処理を終了させ、処理をファイル復旧手段７に戻す。
【０１００】
ファイル復旧手段７は、バックアップ結果を確認し、バックアップに失敗したため（図３のステップＳ４３；Ｎｏ）、ファイルスペース情報１１ａを図８に示すように更新する（ステップＳ３５）。
【０１０１】
そして、ファイル復旧手段７は、復旧失敗として（ステップＳ３６）、ファイル復旧手段７はファイル復旧処理を終了させて、処理をファイルＩ／Ｏ手段６に戻す。
【０１０２】
ファイルＩ／Ｏ手段６は復旧が失敗したため（図２のステップＳ１９においてＮｏ）、Ｉ／Ｏエラーの結果をジョブ５に返し（ステップＳ１５）、ファイルＩ／Ｏ手段６は、ファイルＩ／Ｏ処理を終了させる。
【０１０３】
次に、ファイル復旧手段７が代替ファイルスペース１３の確保を試みて（図３のステップＳ３１）、暫定ファイルスペース１４を確保できなかった場合（ステップＳ３２においてＮｏ）の動作について説明する。
【０１０４】
この場合、ファイル復旧手段７は、ファイルスペース情報を図９に示すように更新し（図３のステップＳ３５）、復旧失敗として（ステップＳ３６）、処理をファイルＩ／Ｏ手段６に戻す。
【０１０５】
復旧に失敗したため（図２のステップＳ１９においてＮｏ）、ファイルＩ／Ｏ手段６は、Ｉ／Ｏエラーの結果をジョブ５に返し（ステップＳ１５）、ファイルＩ／Ｏ手段６はＩ／Ｏファイル処理を終了させる。
【０１０６】
次に、暫定ファイルスペース１４を確保後、コンピュータの再起動などで暫定ファイルペース１４が消えてしまった（無効になってしまった）場合の動作について説明する。
【０１０７】
図７に示す状態でコンピュータシステムの再起動が行われ、図１０に示すように、暫定ファイルスペース１４の位置情報、サイズがなしになった場合、暫定ファイルスペース１４が消えてしまったことになる。
【０１０８】
この場合、ジョブ５が二重化ファイル９に対してファイル内相対位置１５０からサイズ２０の更新要求をファイルＩ／Ｏ手段６に出力すると、ファイルＩ／Ｏ手段６はファイルスペース情報１１ａのファイル状態が「暫定」かどうかチェックする（ステップＳ１１）。
【０１０９】
ファイルスペース情報１１ａのファイル状態は「暫定」の為、ファイルＩ／Ｏ手段６は、Ｉ／Ｏを実施する対象のファイルスペース情報１１ａに主記憶が存在するか否かをチェックする（ステップＳ１２）。
【０１１０】
図１０に示すように、ファイルスペース情報１１ａのファイルスペース位置に主記憶がある場合（ステップＳ１２においてＹｅｓ）、ファイルＩ／Ｏ手段６は、暫定ファイルスペース１４とファイルスペース情報１１ａのファイル状態とが対応しているか否かを判定する（ステップＳ１３）。
【０１１１】
図１０に示すように対応していない場合（ステップＳ１３においてＮｏ）、ファイルＩ／Ｏ手段６は、図８に示すように、ファイルスペース情報１１ａにエラーを設定する（ステップＳ１４）。
【０１１２】
ファイルＩ／Ｏ手段６は、Ｉ／Ｏエラーの結果をジョブ５に返却して（ステップＳ１５）、ファイルＩ／Ｏ処理を終了させる。なお、Ｉ／Ｏエラーの場合、利用者はバックアップされたものをリストアして人手でファイル復旧を行う必要がある。
【０１１３】
このように、ジョブ５の参照、更新のファイルアクセスの要求に対し、Ｉ／Ｏエラーが発生した場合に、代替ファイルスペース１３を確保でき、Ｉ／Ｏを実施した結果、暫定ファイルスペース１４を確保しなかったときは、復旧成功となる。
【０１１４】
また、代替ファイルスペース１３を確保できなくても、暫定ファイルスペース１４を確保して、バックアップが成功した場合には、復旧は成功する。
【０１１５】
一方、暫定ファイルスペース１４を確保できても、バックアップが失敗した場合、復旧は失敗となる。
【０１１６】
また、暫定ファイルスペース１４を確保できなかった場合、あるいは、暫定ファイルスペース１４を確保できても暫定ファイルスペース１４が消えてしまったような場合には、Ｉ／Ｏエラーとなる。
【０１１７】
以上説明したように、本実施形態によれば、補助記憶装置２に代替スペースファイルスペース１３を確保できなかった場合、主記憶装置３上の暫定ファイルスペース１４を確保し、この暫定ファイルスペース１４をファイルスペースの一部として使用するようにした。
【０１１８】
従って、代替ファイルスペースを確保出来なかった場合にもエラーとはならずに処理を継続できる。このため、ファイルの復旧可能性を向上させることができる。
【０１１９】
また、その暫定ファイルスペースを含んだファイルのバックアップを自動で行うことができる為、ファイルの内容を保証することが可能となる。
【０１２０】
即ち、従来より二重化ファイルのＩ／Ｏエラーに対する耐久性が向上する。また、暫定ファイルスペースを確保後に該当ファイルのバックアップを行うため、暫定ファイルスペース（揮発メモリ上）１４の不安定な状態を解消させることができる。
【０１２１】
尚、上記実施形態では、プログラムが、それぞれメモリ等に予め記憶されているものとして説明した。しかし、多重化ファイルシステムを、装置の全部又は一部として動作させ、あるいは、上述の処理を実行させるためのプログラムを、フレキシブルディスク、ＣＤ−ＲＯＭ（Compact Disk Read-Only Memory）、ＤＶＤ（Digital Versatile Disk）、ＭＯ（Magneto Optical disk）などのコンピュータ読み取り可能な記録媒体に格納して配布し、これを別のコンピュータにインストールし、上述の手段として動作させ、あるいは、上述の工程を実行させてもよい。
【０１２２】
さらに、インターネット上のサーバ装置が有するディスク装置等にプログラムを格納しておき、例えば、搬送波に重畳させて、コンピュータにダウンロード等するものとしてもよい。
【図面の簡単な説明】
【０１２３】
【図１】本発明の実施形態１に係る多重化ファイルシステムとしてのコンピュータシステムの構成を示すブロック図である。
【図２】図１に示すファイルＩ／Ｏ手段が実行するファイルＩ／Ｏ処理を示すフローチャートである。
【図３】図１に示すファイル復旧手段が実行するファイル復旧処理を示すフローチャートである。
【図４】図１に示すバックアップ手段が実行するバックアップ処理を示すフローチャートである。
【図５】２重化ファイルの具体例を示す図である。
【図６】通常のファイル復旧動作のファイルスペース情報を示す図である。
【図７】代替ファイルスペースを確保できなかった場合に、暫定ファイルスペースを確保した場合のファイルスペース情報を示す図である。
【図８】暫定ファイルスペースを確保後、バックアップに失敗した場合のファイルスペース情報を示す図である。
【図９】暫定ファイルスペースを確保できなかった場合のファイルスペース情報を示す図である。
【図１０】暫定ファイルスペースを確保後、コンピュータの再起動などで暫定ファイルペースが消えてしまった場合のファイルスペース情報を示す図である。
【符号の説明】
【０１２４】
５  ジョブ
６  ファイルＩ／Ｏ手段
７  ファイル復旧手段
８  バックアップ手段
１３  代替ファイルスペース
１４  暫定ファイルスペース
１５  外部バックアップ媒体
【図１】
2007272656.tif 000003
【図２】
2007272656.tif 000004
【図３】
2007272656.tif 000005
【図４】
2007272656.tif 000006
【図５】
2007272656.tif 000007
【図６】
2007272656.tif 000008
【図７】
2007272656.tif 000009
【図８】
2007272656.tif 000010
【図９】
2007272656.tif 000011
【図１０】
2007272656.tif 000012