(57)【特許請求の範囲】
【請求項１】
複数ファイルを操作可能なファイル操作プログラムの起動単位に関して、第一のファイルのオープンの要求を受け付ける手順と、
受け付けた前記第一のファイルのオープンの要求に対して前記起動単位に関して保護状態ファイルがオープンされていない場合であって、前記第一のファイルの非保護状態ファイルは存在するときは前記第一のファイルの非保護状態ファイルをオープンし、前記起動単位に関して保護状態ファイルがオープンされている場合は、前記第一のファイルの保護状態ファイルをオープンするオープン手順とをコンピュータが実行するファイル管理方法。
【請求項２】
前記オープン手順は、前記起動単位に関して保護状態ファイルがオープンされている場合に、前記第一のファイルの保護状態ファイルが存在しないときは、当該第一のファイルの非保護状態ファイルの複製に基づいて保護状態ファイル生成し、生成した当該保護状態ファイルをオープンする請求項１記載のファイル管理方法。
【請求項３】
前記オープン手順は、前記起動単位に関して保護状態ファイルがオープンされていない場合に、前記第一のファイルの非保護状態ファイルは存在せず、前記第一のファイルの保護状態ファイルは存在するときは、当該保護状態ファイルのオープンの許可の指定が有る場合に、当該保護状態ファイルをオープンする請求項１又は２記載のファイル管理方法。
【請求項４】
前記オープン手順は、前記第一のファイルのオープンの要求が読み込みのみを目的とする場合、前記起動単位に関して保護状態ファイルがオープンされており、前記第一のファイルの保護状態ファイルが存在しないときは、前記第一のファイルの非保護状態ファイルをオープンする請求項１乃至３いずれか一項記載のファイル管理方法。
【請求項５】
複数ファイルを操作可能なファイル操作プログラムの起動単位に関して、保護状態ファイルがオープンされている場合に、非保護状態ファイルに対して書き込みが要求されたときは、該非保護状態ファイルの複製を生成し、当該複製に対して書き込み内容が反映された結果を保護状態ファイルとし、
前記起動単位に関して保護状態ファイルがオープンされていない場合に、非保護状態ファイルに対して書き込みが要求されたときは、当該非保護状態ファイルに書き込みを行い、当該非保護状態ファイルと同一ファイルに対応する保護状態ファイルを削除する処理をコンピュータが実行するファイル管理方法。
【請求項６】
複数ファイルを操作可能なファイル操作プログラムの起動単位に関して、第一のファイルのオープンの要求を受け付ける手段と、
受け付けた前記第一のファイルのオープンの要求に対して前記起動単位に関して保護状態ファイルがオープンされていない場合であって、前記第一のファイルの非保護状態ファイルは存在するときは前記第一のファイルの非保護状態ファイルをオープンし、前記起動単位に関して保護状態ファイルがオープンされている場合は、前記第一のファイルの保護状態ファイルをオープンするオープン手段とを有するファイル管理装置。
【請求項７】
複数ファイルを操作可能なファイル操作プログラムの起動単位に関して、保護状態ファイルがオープンされている場合に、非保護状態ファイルに対して書き込みが要求されたときは、該非保護状態ファイルの複製を生成し、当該複製に対して書き込み内容が反映された結果を保護状態ファイルとし、
前記起動単位に関して保護状態ファイルがオープンされていない場合に、非保護状態ファイルに対して書き込みが要求されたときは、当該非保護状態ファイルに書き込みを行い、当該非保護状態ファイルと同一ファイルに対応する保護状態ファイルを削除するファイル管理装置。
【請求項８】
複数ファイルを操作可能なファイル操作プログラムの起動単位に関して、第一のファイルのオープンの要求を受け付ける手順と、
受け付けた前記第一のファイルのオープンの要求に対して前記起動単位に関して保護状態ファイルがオープンされていない場合であって、前記第一のファイルの非保護状態ファイルは存在するときは前記第一のファイルの非保護状態ファイルをオープンし、前記起動単位に関して保護状態ファイルがオープンされている場合は、前記第一のファイルの保護状態ファイルをオープンするオープン手順とをコンピュータに実行させるファイル管理プログラム。
【請求項９】
複数ファイルを操作可能なファイル操作プログラムの起動単位に関して、保護状態ファイルがオープンされている場合に、非保護状態ファイルに対して書き込みが要求されたときは、該非保護状態ファイルの複製を生成し、当該複製に対して書き込み内容が反映された結果を保護状態ファイルとし、
前記起動単位に関して保護状態ファイルがオープンされていない場合に、非保護状態ファイルに対して書き込みが要求されたときは、当該非保護状態ファイルに書き込みを行い、当該非保護状態ファイルと同一ファイルに対応する保護状態ファイルを削除する処理をコンピュータに実行させるファイル管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ファイル管理方法、ファイル管理装置、及びファイル管理プログラムに関する。
【背景技術】
【０００２】
従来、アプリケーションプログラムによって扱われるデータに含まれうる機密情報等の漏洩の防止を目的として、アプリケーションプログラムに関して保護状態と非保護状態との状態管理を行うことが検討されている（例えば、特許文献１）。
【０００３】
すなわち、暗号化等によって保護されているファイル（以下、「保護状態ファイル」という。）を扱うプロセスは、保護状態とされる。一方、斯かる保護が行われていないファイル（以下、「非保護」ファイル）を扱うプロセスは、非保護状態とされる。保護状態のプロセスによるファイルへの書き込み時には、書き込み内容は暗号化等される。したがって、ユーザは、暗号化等の指示を行わずとも、書き込み内容は自動的に暗号化等され、保護される。
【０００４】
他方において、一つのプロセスにおいて、複数のファイルを同時に編集可能なアプリケーションプログラムが有る。すなわち、一つのウィンドウ内に、複数のウィンドウを表示させ、各ウィンドウにはそれぞれ異なるファイルが表示されるようなアプリケーションプログラムである。
【０００５】
斯かるアプリケーションプログラムに関して、保護状態ファイルと非保護状態ファイルとが混在して表示又は編集対象とされたプロセスは、保護状態とされるのが望ましい。保護状態ファイルへの書き込み内容が暗号化等されずに保存されてしまうことによる情報漏洩を防止することができるからである。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１０−５５３７１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、保護状態ファイルと非保護状態ファイルとが混在して表示又は編集対象とされている保護状態において、非保護状態ファイルへの書き込みが行われた場合、当該書き込み内容は、暗号化されて上書きされてしまう。その結果、当該非保護状態ファイルは、ユーザの意図に反して保護状態ファイルとされてしまう。ここで、非保護状態ファイルから保護状態ファイルにされてしまったファイルを、以下「ファイルＡ」という。
【０００８】
このような事態は、ファイルＡの利便性を損なうことになる。例えば、保護状態と非保護状態との管理が行われていないシステム環境において、ファイルＡを開くことができなくなってしまう可能性がある。ファイルＡは、暗号化されているからである。
【０００９】
また、ファイルＡが、アプリケーションプログラムの設定ファイルであったとする。すなわち、アプリケーションプログラムがアクセスするファイルは、ユーザによって直接的に操作対象とされるファイルに限られない。アプリケーションプログラムの振る舞いを規定等するための設定ファイルについても、アクセス対象とされる。
【００１０】
一般的に、設定ファイルは、アプリケーションプログラムプロセスの起動時に読み込まれることが多い。そうすると、ファイルＡが保護状態ファイルとなってしまうと、ファイルＡが保護状態ファイルであることを予定していないアプリケーションプログラムが正常に起動されなくなってしまう可能性がある。また、アプリケーションプログラムの起動が可能である場合であっても、以降において当起動されるプロセスは、全て保護状態となってしまう。その結果、ファイルＡを設定ファイルとして利用するアプリケーションプログラムは、非保護状態において利用することができなくなってしまうという問題がある。そうすると、非保護状態ファイルを作成することができない等、利便性が著しく低下してしまう。
【００１１】
本発明は、上記の点に鑑みてなされたものであって、非保護状態のファイルが意図に反して保護状態化されてしまうのを適切に回避することのできるファイル管理方法、ファイル管理装置、及びファイル管理プログラムの提供を目的とする。
【課題を解決するための手段】
【００１２】
そこで上記課題を解決するため、複数ファイルを操作可能なファイル操作プログラムの起動単位に関して、第一のファイルのオープンの要求を受け付ける手順と、受け付けた前記第一のファイルのオープンの要求に対して前記起動単位に関して保護状態ファイルがオープンされていない場合であって、前記第一のファイルの非保護状態ファイルは存在するときは前記第一のファイルの非保護状態ファイルをオープンし、前記起動単位に関して保護状態ファイルがオープンされている場合は、前記第一のファイルの保護状態ファイルをオープンするオープン手順とをコンピュータが実行する。
【発明の効果】
【００１３】
非保護状態のファイルが意図に反して保護状態化されてしまうのを適切に回避することができる。
【図面の簡単な説明】
【００１４】
【図１】本発明の実施の形態におけるファイル管理装置のハードウェア構成例を示す図である。
【図２】第一の実施の形態におけるファイル管理装置のソフトウェア構成例を示す図である。
【図３】ファイルのオープン処理の処理手順の一例を説明するためのフローチャートである。
【図４】ファイルへの書き込み処理の処理手順の一例を説明するためのフローチャートである。
【図５】ファイル管理装置における具体的な処理手順の第一の例を示すシーケンス図である。
【図６】ファイル管理装置における具体的な処理手順の第二の例を示すシーケンス図である。
【図７】ファイル管理装置における具体的な処理手順の第三の例を示すシーケンス図である。
【図８】第二の実施の形態におけるファイル管理装置のソフトウェア構成例を示す図である。
【発明を実施するための形態】
【００１５】
以下、図面に基づいて本発明の実施の形態を説明する。図１は、本発明の実施の形態におけるファイル管理装置のハードウェア構成例を示す図である。図１のファイル管理装置１０は、コンピュータの一例である。ファイル管理装置１０は、それぞれバスBで相互に接続されているドライブ装置１００と、補助記憶装置１０２と、メモリ装置１０３と、ＣＰＵ１０４と、インタフェース装置１０５と、表示装置１０６と、入力装置１０７とを有する。
【００１６】
ファイル管理装置１０での処理を実現するプログラムは、ＣＤ−ＲＯＭ等の記録媒体１０１によって提供される。プログラムを記録した記録媒体１０１がドライブ装置１００にセットされると、プログラムが記録媒体１０１からドライブ装置１００を介して補助記憶装置１０２にインストールされる。但し、プログラムのインストールは必ずしも記録媒体１０１より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置１０２は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
【００１７】
メモリ装置１０３は、プログラムの起動指示があった場合に、補助記憶装置１０２からプログラムを読み出して格納する。ＣＰＵ１０４は、メモリ装置１０３に格納されたプログラムに従ってファイル管理装置１０に係る機能を実現する。インタフェース装置１０５は、ネットワークに接続するためのインタフェースとして用いられる。表示装置１０６はプログラムによるＧＵＩ（Graphical User Interface）等を表示する。入力装置１０７はキーボード及びマウス等であり、様々な操作指示を入力させるために用いられる。
【００１８】
図２は、第一の実施の形態におけるファイル管理装置のソフトウェア構成例を示す図である。
【００１９】
同図において、ファイル管理装置１０は、一以上のアプリケーション１１及びファイルシステム１２等を有する。
【００２０】
アプリケーション１１は、本実施の形態において、ファイルを操作するファイル操作プログラムの一例である。アプリケーション１１は、起動単位又は実行単位（以下、「起動単位」で統一する）ごとに複数のファイルを操作する。起動単位とは、プロセス又はスレッド等、アプリケーション１１の起動又は実行に応じて、当該アプリケーション１１の実行ファイル等がメモリ装置１０３にロードされることにより生成されるメモリ空間ごとの単位をいう。アプリケーション１１によって操作されるファイルは、成果物として生成されるファイル（以下、「成果物ファイル」という。）に限られない。例えば、設定ファイル等、アプリケーション１１の振る舞いに関する設定情報が記録されたファイルも含まれる。なお、成果物ファイルとは、アプリケーション１１の本来の機能によって出力されるファイルをいう。例えば、ワープロソフトであれば、文書ファイルが成果物とファイルに相当する。したがって、アプリケーション１１が起動単位ごとに複数のファイルを操作するということは、必ずしも、起動単位が、複数の成果物ファイルを操作可能であることに限定されない。
【００２１】
ファイルシステム１２は、ＯＳ（Operating System）によって提供される、いわゆるファイルシステムである。ファイルシステム１２は、複数のアプリケーション１１より共用される。
【００２２】
本実施の形態において、ファイルシステム１２は、ファイル管理部１３、非保護状態ファイル格納部１４、及び保護状態ファイル格納部１５等を有する。
【００２３】
保護状態ファイル格納部１５は、補助記憶装置１０２を用いて保護状態ファイルを格納（記憶）する。保護状態ファイルとは、保護状態化されたファイルをいう。保護状態とは、例えば、暗号化、パスワードの付与、又は操作制限の付与等により、内容の参照が制限されたり、所定の操作が制限されたりした状態をいう。
【００２４】
非保護状態ファイル格納部１４は、補助記憶装置１０２を用いて非保護状態ファイルを格納（記憶）する。非保護状態ファイルとは、保護状態ではないファイルをいう。なお、保護状態と非保護状態とは、相対的な関係でよい。すなわち、例えば、非保護状態ファイルも、暗号化されていてもよいし、パスワードが付与されていてもよい。この場合、保護状態ファイルは、例えば、より強度の強い暗号方式によって暗号化されている。又は保護状態ファイルは、例えば、より長い文字列のパスワードが付与されている。
【００２５】
なお、本実施の形態では、便宜上、暗号化されているファイルを保護状態ファイルの具体例とし、平文のファイルを非保護状態ファイルの具体例とする。
【００２６】
ファイル管理部１３は、アプリケーション１１より要求される、ファイルに関する各種操作の実行等を行う。各種操作とは、例えば、ファイルの生成、オープン、読み込み、及び書き込み等である。同図において、ファイル管理部１３は、オープン処理部１３１、書き込み処理部１３２、及び状態管理部１３３等を含む。オープン処理部１３１は、ファイルのオープン処理を制御する。書き込み処理部１３２は、ファイルの書き込み処理を制御する。オープン処理部１３１及び書き込み処理部１３２は、アプリケーション１１が、保護モードであるか、又は非保護モードであるかに応じて、処理対象とするファイルを選択する。すなわち、本実施の形態では、一つのファイルに対して、保護状態ファイル及び非保護状態ファイルの二つの実体が同時に管理されうる。
【００２７】
一つのファイルに対する二つの実体の管理は、次のように行われる。一つ目の例としては、二つの実体のファイル名は同じとし、非保護状態ファイルと保護状態ファイルとのディレクトリを異ならせる。例えば、保護状態ファイルは、非保護状態ファイルのディレクトリの下の「ｐｒｏｔｅｃｔｅｄ」という名前のディレクトリ内に保存されるようにしてもよい。この場合、非保護状態ファイルのディレクトリは、非保護状態ファイル格納部１４に相当し、保護状態ファイルのディレクトリは、保護状態ファイル格納部１５に相当する。
【００２８】
二つ目の例としては、二つの実体のファイル名を異ならせる。例えば、保護状態ファイルの拡張子を非保護状態ファイルと異なるものとする。または、双方の拡張子は同じとし、保護状態ファイルのファイル名の拡張子を除く部分に、所定の文字列を付加する。この場合、双方のディレクトリは必ずしも異なっていなくてもよい。したがって、この場合、非保護状態ファイルが記憶されている記憶領域が非保護状態ファイル格納部１４に相当し、保護状態ファイルが記憶されている記憶領域が保護状態ファイル格納部１５に相当する。
【００２９】
状態管理部１３３は、アプリケーション１１の状態（保護モード及び非保護モードの別）を、アプリケーション１１の起動単位ごとに管理する。
【００３０】
保護モードとは、一以上の保護状態ファイルが操作対象に含まれている（オープンされている）状態をいう。保護モード中のファイルに対する書き込み内容は、保護状態で（暗号化されて）保存される。非保護モードとは、保護状態ファイルが操作対象に含まれていない（オープンンされていない）状態をいう。非保護モード中のファイルに対する書き込み内容は、非保護状態で（平文のまま）保存される。なお、保護モードに一度遷移した起動単位は、非保護モードに復帰しないことが望ましい。具体的には、現時点において、保護状態ファイルがオープンされていなくても、過去に保護状態ファイルがオープンされている起動単位は、保護モードとされるのが望ましい。現時点において保護状態ファイルがオープンされていなくても、過去に保護状態ファイルがオープンされていれば、当該起動単位のメモリ空間には、当該保護状態ファイルの内容残っている可能性が高い。そのような状態において、非保護モードへの遷移が許容されると、保護状態ファイルの内容（すなわち、保護されるべき内容）が、非保護状態で保存されてしまう可能性があるからである。したがって、本実施の形態では、保護モードから非保護モードへの遷移は行われないこととする。但し、例えば、モードの切り替えに応じて、保護状態ファイルの内容がメモリ空間から削除される等、安全性が確保されるのであれば、保護モードから非保護モードへの遷移が行われてもよい。この場合、現時点において、保護状態ファイルが操作対象に含まれていない起動単位は、非保護モードとされてもよい。
【００３１】
なお、ファイル管理部１３には、ファイルの生成又は読み込み等に関する処理部等も含まれうる。但し、本実施の形態において、その説明は省略される。
【００３２】
既存のファイルシステム１２に対してファイル管理部１３を組み込む場合、例えば、ファイル管理部１３は、フィルタードライバーとして実装されてもよい。フィルタードライバーは、ファイルシステム１２に対する要求が要求先に到達する前に当該要求を受信することができる。したがって、フィルタードライバーは、ファイルのオープンや書き込み等、ファイル操作に関する処理を動的に拡張することができる。
【００３３】
以下、ファイル管理装置１０の処理手順について説明する。図３は、ファイルのオープン処理の処理手順の一例を説明するためのフローチャートである。以下の説明において、「アプリケーション１１」とは、当該アプリケーション１１の一つの起動単位を意味する。
【００３４】
ステップＳ１０１において、ファイル管理部１３のオープン処理部１３１は、アプリケーション１１よりファイルのオープン要求を受け付ける。ファイルのオープン要求には、オープン対象のファイルのパス名及びオープンモード等が指定される。オープンモードとは、ファイルをオープンする目的が、ファイルの読み込み（ｒ）であるかファイルへの書き込み（ｗ）であるか等を示すパラメータである。読み書きを組み合わせることもできる。なお、ファイルの生成を示すオープンモードも存在するが、図３に関しては、当該オープンモードは除外される。
【００３５】
続いて、オープン処理部１３１は、状態管理部１３３に問い合わせることにより、アプリケーション１１が、非保護モードであるか否かを判定する（Ｓ１０２）。例えば、ファイル管理部１３（ここでは、オープン処理部１３１）は、要求元（呼出元）のアプリケーション１１の起動単位の識別子（例えば、プロセスＩＤ等）をＯＳに問い合わせることにより取得することができる。したがって、オープン処理部１３１は、当該識別子を指定してアプリケーション１１の状態（モード）の問い合わせを行う。状態管理部１３３は、保護モードのアプリケーション１１の識別子の集合（以下、「保護モードアプリリスト」という。）をメモリ装置１０３を用いて管理している。したがって、問い合わせに係る識別子が、保護モードアプリリストに含まれていれば、状態管理部１３３は、保護モードを示す応答を行う。問い合わせに係る識別子が保護モードアプリリストに含まれていなければ、状態管理部１３３は、非保護モードを示す応答を行う。
【００３６】
アプリケーション１１が非保護モードである場合（Ｓ１０２でＹｅｓ）、オープン処理部１３１は、オープン要求に指定されたパス名に対応する非保護状態ファイルが、非保護状態ファイル格納部１４に格納されているか否かを確認する（Ｓ１０３）。パス名に対応する非保護状態ファイルとは、必ずしも当該パス名通りのファイルでなくてもよい。すなわち、当該パス名が非保護状態ファイル格納部１４に対応する形式に変換されたパス名に係るファイルであってもよい。
【００３７】
該当する非保護状態ファイルが存在する場合（Ｓ１０３でＹｅｓ）、オープン処理部１３１は、当該非保護状態ファイルのオープンをファイルシステム１２に実行させる（Ｓ１０４）。なお、ファイルのオープン後、オープンされたファイルのファイル識別子が、ファイルのオープン要求に対する応答としてアプリケーション１１に返却される。
【００３８】
該当する非保護状態ファイルが存在しない場合（Ｓ１０３でＮｏ）、オープン処理部１３１は、オープン要求に指定されたパス名に対応する保護状態ファイルが、保護状態ファイル格納部１５に格納されているか否かを確認する（Ｓ１０５）。すなわち、オープン処理部１３１は、オープン要求に指定されたパス名を、保護状態ファイル格納部１５に対応する形式に変換し、変換後のパス名に係るファイルの有無を確認する。保護状態ファイル格納部１５に対応する形式への変換とは、ディレクトリを異なるものとしたり、ファイル名の一部に所定の文字列を付加したりすることをいう。
【００３９】
該当する保護状態ファイルが存在する場合（Ｓ１０５でＹｅｓ）、オープン処理部１３１は、保護モードへの遷移（移行）の許否をユーザに問い合わせる（Ｓ１０６）。例えば、オープン処理部１３１は、保護モードへの遷移の許否を選択させるためのダイアログを表示装置１０６に表示させる。すなわち、保護モードへ遷移した場合、以降におけるファイルへの書き込みは、保護状態ファイル格納部１５に対して行われるという制限が課せられる。したがって、ユーザに当該遷移の許否を選択又は指定させることで、ユーザが意図していない保護モードへの遷移を回避することができる。なお、ユーザによる許可は、必ずしも対話的に入力されなくてもよい。例えば、設定ファイル等において、保護モードへの自動遷移の許否が指定されていてもよい。
【００４０】
ユーザによって、保護モードへの遷移が許可された場合（Ｓ１０７でＹｅｓ）、オープン処理部１３１は、オープン要求に指定されたパス名に対応する保護状態ファイルのオープンを、ファイルシステム１２に実行させる（Ｓ１０８）。続いて、オープン処理部１３１は、オープン要求元のアプリケーション１１の起動単位の識別子を指定して、当該起動単位が保護モードになったことを状態管理部１３３に通知する（Ｓ１０９）。状態管理部１３３は、当該通知に応じ、当該識別子を、保護モードアプリリストに追加する。
【００４１】
一方、ステップＳ１０２において、アプリケーション１１は保護モードであると判定された場合（Ｓ１０２でＮｏ）、オープン処理部１３１は、オープン要求に指定されたパス名に対応する保護状態ファイルが、保護状態ファイル格納部１５に格納されているか否かを確認する（Ｓ１１１）。該当する保護状態ファイルが存在する場合（Ｓ１１１でＹｅｓ）、オープン処理部１３１は、当該保護状態ファイルのオープンを、ファイルシステム１２に実行させる（Ｓ１１２）。続いて、オープン処理部１３１は、オープン要求元のアプリケーション１１の起動単位の識別子を指定して、当該起動単位が保護モードになったことを状態管理部１３３に通知する（Ｓ１１３）。状態管理部１３３は、当該通知に応じ、当該識別子を、保護モードアプリリストに追加する。
【００４２】
なお、ステップＳ１１１〜１１３の各ステップの処理内容は、ステップＳ１０５、Ｓ１０８、及びＳ１０９の処理内容と同じである。
【００４３】
一方、保護モードにおいて、オープン要求に指定されたパス名に対応する保護状態ファイルが存在しない場合（Ｓ１１１でＮｏ）、オープン処理部１３１は、オープンモードは読み込みのみ（ＲｅａｄＯｎｌｙ）か否かを判定する（Ｓ１１４）。オープンモードが読み込みのみの場合（Ｓ１１４）、オープン処理部１３１は、オープン要求に指定されたパス名に対応する非保護状態ファイルが、非保護状態ファイル格納部１４に格納されているか否かを確認する（Ｓ１１５）。該当する非保護状態ファイルが存在する場合（Ｓ１１５でＹｅｓ）、オープン処理部１３１は、非保護状態ファイルに係るパス名のファイルのオープンをファイルシステム１２に実行させる（Ｓ１１６）。なお、ステップＳ１１５、Ｓ１１６の処理内容は、ステップＳ１０３、Ｓ１０４の処理内容と同じである。
【００４４】
オープンモードが読み込みのみであれば、当該非保護状態ファイルへの書き込みは発生しない。したがって、保護モードであっても、当該非保護状態ファイルが保護状態とされることはない。よって、オープンモードが読み込みのみであれば、保護モードであっても非保護状態ファイルのオープンが許容されるのである。
【００４５】
一方、読み込みモードは読み込みのみでない場合（Ｓ１１４でＮｏ）、オープン処理部１３１は、オープン要求に指定されたパス名に対応する非保護状態ファイルが、非保護状態ファイル格納部１４に格納されているか否かを確認する（Ｓ１１８）。該当する非保護状態ファイルが存在する場合（Ｓ１１９でＹｅｓ）、オープン処理部１３１は、当該非保護状態ファイルの複製（コピー）を保護状態ファイル格納部１５に生成し、当該複製を保護状態化する（Ｓ１１９）。すなわち、当該複製は、保護状態ファイルとして保護状態ファイル格納部１５に保存される。なお、保護状態化するとは、暗号化するということである。続いて、オープン処理部１３１は、当該保護状態ファイルのオープンをファイルシステム１２に実行させる（Ｓ１２０）。
【００４６】
このように、保護モードであってオープン要求に係る保護状態ファイルが存在しない場合、ファイルへの書き込みが発生する可能性が有るようなファイルのオープンが要求されたときは、非保護状態ファイルの複製が保護状態とされてオープンされる。したがって、オープンされたファイルに対して書き込みが発生したとしても、複製元の非保護状態ファイルへの影響を回避することができる。すなわち、複製元の非保護状態ファイルが保護状態とされることを回避することができる。
【００４７】
なお、ステップＳ１１９は、一つのファイルに対して、非保護状態ファイルと保護状態ファイルとの双方が存在する状態が発生するタイミングの一つである。
【００４８】
続いて、オープン処理部１３１は、オープン要求元のアプリケーション１１の起動単位の識別子を指定して、当該起動単位が保護モードになったことを状態管理部１３３に通知する（Ｓ１２１）。状態管理部１３３は、当該通知に応じ、当該識別子を、保護モードアプリリストに追加する。
【００４９】
なお、ステップＳ１１５又はＳ１１８において、該当する非保護状態ファイルは存在しない場合（Ｓ１１５でＮｏ、又はＳ１１８でＮｏ）、オープン処理部１３１は、エラーを返却する（Ｓ１１７）。
【００５０】
このように、オープン処理部１３１は、非保護モードのときは、非保護状態ファイルを優先的にオープンさせる。また、オープン処理部１３１は、保護モードのときは、保護状態ファイルをオープンさせ、非保護状態ファイルはオープンさせない。但し、保護モードのときに保護状態ファイルが無い場合、オープン処理部１３１は、非保護状態ファイルの複製に基づく保護状態ファイルをオープンさせる。
【００５１】
なお、保護状態ファイルのオープン時には、保護状態ファイルの非保護化（復号）が行われる。又は、オープン時ではなく、読み込み時に、読み込まれる部分について非保護化が行われてもよい。
【００５２】
続いて、ファイルへの書き込み時の処理手順について説明する。図４は、ファイルへの書き込み処理の処理手順の一例を説明するためのフローチャートである。同図は、現在オープンされているファイルに対して、アプリケーション１１より書き込み要求が有った場合に実行される処理手順を示す。
【００５３】
ステップＳ２０１において、ファイル管理部１３の書き込み処理部１３２は、アプリケーション１１よりファイルへの書き込み要求を受け付ける。ファイルへの書き込み要求には、書き込み先のファイルのファイル識別子及び書き込み内容等が指定される。
【００５４】
続いて、書き込み処理部１３２は、状態管理部１３３に問い合わせることにより、アプリケーション１１が、非保護モードであるか否かを判定する（Ｓ２０２）。ステップＳ２０２の処理内容は、図３のステップＳ１０２と同様でよい。
【００５５】
アプリケーション１１が非保護モードである場合（Ｓ２０２でＹｅｓ）、書き込み処理部１３２は、書き込み要求に指定されたファイル識別子に対応する非保護状態ファイルへの書き込みをファイルシステム１２に実行させる（Ｓ２０３）。なお、この場合、ファイル識別子に係るファイルが、書き込み先とされる非保護状態ファイルである。
【００５６】
続いて、書き込み処理部１３２は、ファイル識別子に係るファイル（すなわち、書き込み先の非保護状態ファイル）に対応する保護状態ファイルが、保護状態ファイル格納部１５に格納されているか否かを確認する（Ｓ２０４）。該当する保護状態ファイルが存在する場合（Ｓ２０４でＹｅｓ）、書き込み処理部１３２は、当該保護状態ファイルを削除する（Ｓ２０５）。当該保護状態ファイルが削除されるのは、当該保護状態ファイルの内容は、同じファイルに対応する非保護状態ファイルより古いものとなっているからである。そこで、当該保護状態ファイルを削除することで、古い内容の保護状態ファイルが操作対象とされる（オープンされる）のを回避しようというわけである。すなわち、後において、保護モードのときに、当該ファイルに対応する保護状態ファイルのオープンが要求された場合、図３のステップＳ１１９及びＳ１２０が実行される。すなわち、非保護状態ファイルの複製に基づいて保護状態ファイルが生成される。その結果、保護状態ファイルは、非保護状態ファイルへの書き込み内容が反映された状態でオープンされる。
【００５７】
一方、アプリケーション１１が保護モードである場合（Ｓ２０２でＮｏ）、書き込み処理部１３２は、書き込み対象のファイルは、非保護状態ファイルであるか否かを判定する（Ｓ２０６）。例えば、アプリケーション１１において、非保護モード中に非保護状態ファイルがオープンされ、その後に、別のファイルの保護状態ファイルがオープンされた場合、当該アプリケーション１１は、保護モードとなる。その状態において、非保護状態ファイルに対して書き込み要求が発生した場合がステップＳ２０６でＹｅｓとなる場合である。
【００５８】
書き込み対象のファイルが非保護状態ファイルである場合（Ｓ２０６でＹｅｓ）、書き込み処理部１３２は、当該非保護状態ファイルの複製（コピー）を保護状態ファイル格納部１５に生成し、当該複製を保護状態化する（Ｓ２０７）。続いて、書き込み処理部１３２は、書き込み内容を保護状態化して（暗号化して）、当該保護状態ファイルへの書き込みをファイルシステム１２に実行させる（Ｓ２０８）。非保護状態ファイルの複製に基づく保護状態ファイルに対して書き込みが行われることにより、非保護状態ファイルに保護状態の内容（暗号化された内容）が書き込まれるのを回避することができる。すなわち、ユーザ又はアプリケーション１１の意図に反して、非保護状態ファイルが保護状態化されてしまうのを回避することができる。ステップＳ２０７は、一つのファイルに対して、非保護状態ファイルと保護状態ファイルとの双方が存在する状態が発生するタイミングの一つである。なお、非保護状態ファイルの複製への書き込み後に、当該複製が保護状態化されてもよい。
【００５９】
一方、書き込み対象のファイルが保護状態ファイルである場合（Ｓ２０６でＮｏ）、書き込み処理部１３２は、書き込み内容を保護状態化して、当該保護状態ファイルへの書き込みをファイルシステム１２に実行させる（Ｓ２０９）。
【００６０】
このように、書き込み処理部１３２は、モード（非保護モード又は保護モード）に適合したファイルへの書き込み要求については、要求されたファイルへの書き込みを行う。一方、保護モードの場合に、非保護状態ファイルへの書き込みが要求された場合、書き込み処理部１３２は、当該非保護状態ファイルの複製に基づく保護状態ファイルへ書き込みを行う。
【００６１】
したがって、この場合、オープンされている非保護状態ファイルへは書き込みは行われないということになる。すなわち、次回、当該非保護状態ファイルがオープンされた場合、当該書き込み内容は、含まれていないということになる。このような事態の発生は、ユーザにとって不利益であるとも考えられる。しかし、本実施の形態では、非保護状態ファイルが保護状態化されることによる不利益を優先させ、当該不利益の発生を抑制するために、複製の生成及び当該複製への書き込みを行うようにしている。
【００６２】
すなわち、例えば、当該非保護状態ファイルが、設定ファイルである場合、当該設定ファイルが保護状態化されることにより、アプリケーション１１が起動されなくなってしまう可能性がある。
【００６３】
一方、図３において説明したように、保護モードへの遷移は、ユーザの許可が得られた場合に行われる。そうすると、ユーザは、非保護状態ファイルへの書き込みは行えないということを承知していると考えることもできる。したがって、非保護状態ファイルへ書き込まれないことの不利益は、ユーザにとって予定されていることであると考えられる。むしろ、保護モードにおいて、非保護状態ファイルへの書き込みが行われたということは、ユーザは、書き込み内容を保護状態としたいと考えていると解釈することができる。換言すれば、保護モードにおける書き込み内容を、非保護状態で保存するのは、ユーザの意図に反すると考えることができる。
【００６４】
上記の考えに基づいて、本実施の形態では、保護モードにおける非保護状態ファイルへの書き込みは抑制されている。
【００６５】
なお、保護状態ファイルへの書き込みが行われる場合は、非保護状態ファイルの削除は行われない。本実施の形態において、非保護状態ファイルが削除されてしまうと、非保護状態ファイルを復元するのは困難だからである。すなわち、オープン時において、非保護状態ファイルが存在しない場合に、保護状態ファイルの複製に基づいて非保護状態ファイルは生成されないからである。場合に、保護状態ファイルの複製に基づいて非保護状態ファイルは生成されないのは、保護状態ファイルの内容が、非保護状態化されてしまうからである。すなわち、保護状態ファイルの存在意義が没却されてしまうからである。
【００６６】
なお、ファイルの生成時の処理手順は、図４における書き込み処理を、オープン処理に置き換えればよい。
【００６７】
続いて、より具体的なシナリオに基づいて、図３又は図４において説明した処理手順の一部を説明する。
【００６８】
図５は、ファイル管理装置における具体的な処理手順の第一の例を示すシーケンス図である。
【００６９】
ステップＳ３０１において、アプリケーション１１は、ＢＢＢ．ｔｘｔのオープンを要求する。当該要求は、ファイル管理部１３のオープン処理部１３１によってフック（横取り）される。オープン処理部１３１は、ＢＢＢ．ｔｘｔに関して非保護状態ファイルが無い場合、ＢＢＢ．ｔｘｔに関する保護状態ファイルのオープンをファイルシステム１２に実行させる（Ｓ３０２）。保護状態ファイルがオープンされることにより、アプリケーション１１は、保護モードとなる。
【００７０】
続いて、アプリケーション１１は、ＢＢＢ．ｔｘｔに対して書き込みを要求する（Ｓ３０３）。当該要求は、ファイル管理部１３の書き込み処理部１３２によってフックされる。ここで、書き込み要求元のアプリケーション１１は保護モードである。したがって、書き込み処理部１３２は、ＢＢＢ．ｔｘｔに関する保護状態ファイルに対する書き込みをファイルシステム１２に実行させる（Ｓ３０４）。
【００７１】
続いて、アプリケーション１１は、ＡＡＡ．ｔｘｔのオープンを要求する（Ｓ３０５）。当該要求は、ファイル管理部１３のオープン処理部１３１によってフックされる。ここで、オープン要求元のアプリケーション１１は保護モードである。したがって、ＡＡＡ．ｔｘｔの保護状態ファイルが無い場合、オープン処理部１３１は、ＡＡＡ．ｔｘｔの非保護状態ファイルのコピー（複製）を生成し、当該複製に基づいて保護状態ファイルを生成する（Ｓ３０６）。続いて、オープン処理部１３１は、当該保護状態ファイルをオープンさせる（Ｓ３０７）。
【００７２】
その結果、保護モードにおいて、書き込み内容が反映されないにも拘わらず非保護状態ファイルがオープンされてしまうのを防止することができる。
【００７３】
また、図６は、ファイル管理装置における具体的な処理手順の第二の例を示すシーケンス図である。
【００７４】
非保護モードにおいて、アプリケーション１１は、ＡＡＡ．ｔｘｔのファイルのオープンを要求する（Ｓ４０１）。当該要求は、ファイル管理部１３のオープン処理部１３１によってフックされる。オープン処理部１３１は、ＡＡＡ．ｔｘｔに関して非保護状態ファイルが有る場合、当該非保護状態ファイルのオープンをファイルシステム１２に実行させる（Ｓ４０２）。
【００７５】
続いて、アプリケーション１１は、ＢＢＢ．ｔｘｔのオープンを要求する（Ｓ４０３）。当該要求は、ファイル管理部１３のオープン処理部１３１によってフックされる。オープン処理部１３１は、ＢＢＢ．ｔｘｔに関して非保護状態ファイルが無い場合、ＢＢＢ．ｔｘｔに関する保護状態ファイルのオープンをファイルシステム１２に実行させる（Ｓ４０４）。保護状態ファイルがオープンされることにより、アプリケーション１１は、保護モードとなる。
【００７６】
続いて、アプリケーション１１は、ＡＡＡ．ｔｘｔに対して書き込みを要求する（Ｓ４０５）。当該要求は、ファイル管理部１３の書き込み処理部１３２によってフックされる。ここで、書き込み要求元のアプリケーション１１は保護モードである。したがって、ＡＡＡ．ｔｘｔの保護状態ファイルが無い場合、オープン処理部１３１は、ＡＡＡ．ｔｘｔの非保護状態ファイルのコピー（複製）を生成し、当該複製に基づいて保護状態ファイルを生成する（Ｓ４０６）。続いて、書き込み処理部１３２は、当該保護状態ファイルへの書き込みをファイルシステム１２に実行させる（Ｓ４０７）。
【００７７】
その結果、保護状態の書き込み内容が、非保護状態ファイルに書き込まれてしまうのを回避することができる。
【００７８】
また、図７は、ファイル管理装置における具体的な処理手順の第三の例を示すシーケンス図である。
【００７９】
非保護モードにおいて、アプリケーション１１は、ＡＡＡ．ｔｘｔのオープンを要求する（Ｓ５０１）。当該要求は、ファイル管理部１３のオープン処理部１３１によってフックされる。オープン処理部１３１は、ＡＡＡ．ｔｘｔに関して非保護状態ファイルが有る場合、当該非保護状態ファイルのオープンをファイルシステム１２に実行させる（Ｓ５０２）。
【００８０】
続いて、アプリケーション１１は、ＡＡＡ．ｔｘｔに対して書き込みを要求する（Ｓ５０３）。当該要求は、ファイル管理部１３の書き込み処理部１３２によってフックされる。ここで、書き込み要求元のアプリケーション１１は非保護モードである。したがって、書き込み処理部１３２は、ＡＡＡ．ｔｘｔに関する非保護状態ファイルに対する書き込みをファイルシステム１２に実行させる（Ｓ５０４）。続いて、ＡＡＡ．ｔｘｔに関して保護状態ファイルが有る場合、書き込み処理部１３２は、当該保護状態ファイルを削除する（Ｓ５０５）。
【００８１】
その結果、保護状態ファイルの内容が、非保護状態ファイルに対して古くなってしまうのを回避することができる。
【００８２】
次に、第二の実施の形態について説明する。第二の実施の形態では、第一の実施の形態と異なる点について説明する。したがって、特に言及しない点については、第一の実施の形態と同様でよい。
【００８３】
図８は、第二の実施の形態におけるファイル管理装置のソフトウェア構成例を示す図である。図８中、図２と同一部分には同一符号を付し、その説明は省略する。
【００８４】
図８において、ファイル管理部１３ａは、ファイルシステム１２に含まれていない。また、ファイル管理部１３ａは、アプリケーション１１ごとに存在する。すなわち、第一の実施の形態におけるファイル管理部１３は、ファイルシステム１２を機能拡張するように実装された例であるのに対し、第二の実施の形態におけるファイル管理部１３ａは、アプリケーション１１を機能拡張するように実装された例を示す。なお、図８は、メモリ上へのロードの状態を示す。すなわち、第二の実施の形態において、ファイル管理部１３ａとして機能するプログラムを格納したファイルは、一つでよい。図８は、当該プログラムがアプリケーション１１の起動単位ごとにロードされることを示す。なお、ファイル管理部１３ａも、オープン処理部１３１、書き込み処理部１３２、及び状態管理部１３３等を含むが、これらの図示は省略されている。
【００８５】
ファイル管理部１３ａが実行する処理手順は、第一の実施の形態におけるファイル管理部１３と同様でよい。但し、そのためには、ファイル管理部１３ａは、アプリケーション１１によるファイルシステム１２に対するファイルの操作要求をフック（横取り）する必要がある。当該操作要求をフックするために、例えば、ＡＰＩフックという機構が用いられてもよい。
【００８６】
ＡＰＩフックとは、その名の通り、アプリケーション１１によるＡＰＩ呼び出し（ここでは、ファイルシステム１２への要求）をフックするための機構である。
【００８７】
具体的には、ファイル管理部１３ａは、ＤＬＬ（Dynamic Link Library）として実装される。当該ＤＬＬは、ＯＳに登録される。ＯＳは、アプリケーション１１の起動時に、登録されたＤＬＬのロードを、ウィンドウメッセージによってアプリケーション１１に要求する。アプリケーション１１は、当該要求に応じて、当該ＤＬＬをロードする。したがって、当該ＤＬＬは、当該アプリケーション１１の仮想アドレス空間にロードされる。当該ＤＬＬは、ロードされると、当該仮想空間アドレスに含まれている、アプリケーション１１が利用するＡＰＩのアドレスの一覧が格納されている領域（インポート領域又はインポートセクション等と呼ばれる。）を、自らの都合の良いように書き換える。例えば、ファイルのオープン用のＡＰＩ又は書き込み用のＡＰＩのアドレスを、当該ＤＬＬに実装されているファイルのオープン用のＡＰＩ（すなわち、オープン処理部１３１）又は書き込み用のＡＰＩ（すなわち、書き込み処理部１３２）のアドレスに置換する。その結果、アプリケーション１１が通常のファイルのオープン用のＡＰＩ又は書き込み用のＡＰＩを呼び出しているつもりでも、当該呼び出しは、ファイル管理部１３ａに対して行われる。その結果、アプリケーション１１のソースコードを修正することなく、ファイル管理部１３ａは、第一の実施の形態と同様の処理を行うことができる。
【００８８】
但し、ＡＰＩフック以外の機構又は仕組みであって、同様の効果を得ることができる公知技術が利用されてもよい。
【００８９】
なお、ファイル管理部１３ａは、アプリケーション１１の起動単位ごとにロードされる。したがって、ファイル管理部１３ａにおける状態管理部１３３は、自らの起動単位の状態を管理すればよい。
【００９０】
上述したように、本実施の形態によれば、一つのファイルに対して、非保護状態ファイルと保護状態ファイルとが管理されうる。そして、非保護モードであるか又は保護モードであるかに応じて、操作対象が適切に選択される。したがって、非保護状態のファイルがユーザ又はアプリケーション１１の意図に反して保護状態化されてしまうのを適切に回避することができる。
【００９１】
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【００９２】
以上の説明に関し、更に以下の項を開示する。
（付記１）
複数ファイルを操作可能なファイル操作プログラムの起動単位に関して、第一のファイルのオープンの要求を受け付ける手順と、
受け付けた前記第一のファイルのオープンの要求に対して前記起動単位に関して保護状態ファイルがオープンされていない場合であって、前記第一のファイルの非保護状態ファイルは存在するときは前記第一のファイルの非保護状態ファイルをオープンし、前記起動単位に関して保護状態ファイルがオープンされている場合は、前記第一のファイルの保護状態ファイルをオープンするオープン手順とをコンピュータが実行するファイル管理方法。
（付記２）
前記オープン手順は、前記起動単位に関して保護状態ファイルがオープンされている場合に、前記第一のファイルの保護状態ファイルが存在しないときは、当該第一のファイルの非保護状態ファイルの複製に基づいて保護状態ファイル生成し、生成した当該保護状態ファイルをオープンする付記１記載のファイル管理方法。
（付記３）
前記オープン手順は、前記起動単位に関して保護状態ファイルがオープンされていない場合に、前記第一のファイルの非保護状態ファイルは存在せず、前記第一のファイルの保護状態ファイルは存在するときは、当該保護状態ファイルのオープンの許可の指定が有る場合に、当該保護状態ファイルをオープンする付記１又は２記載のファイル管理方法。
（付記４）
前記オープン手順は、前記第一のファイルのオープンの要求が読み込みのみを目的とする場合、前記起動単位に関して保護状態ファイルがオープンされており、前記第一のファイルの保護状態ファイルが存在しないときは、前記第一のファイルの非保護状態ファイルをオープンする付記１乃至３いずれか一項記載のファイル管理方法。
（付記５）
複数ファイルを操作可能なファイル操作プログラムの起動単位に関して、保護状態ファイルがオープンされている場合に、非保護状態ファイルに対して書き込みが要求されたときは、該非保護状態ファイルの複製を生成し、当該複製に対して書き込み内容が反映された結果を保護状態ファイルとし、
前記起動単位に関して保護状態ファイルがオープンされていない場合に、非保護状態ファイルに対して書き込みが要求されたときは、当該非保護状態ファイルに書き込みを行い、当該非保護状態ファイルと同一ファイルに対応する保護状態ファイルを削除する処理をコンピュータが実行するファイル管理方法。
（付記６）
複数ファイルを操作可能なファイル操作プログラムの起動単位に関して、第一のファイルのオープンの要求を受け付ける手段と、
受け付けた前記第一のファイルのオープンの要求に対して前記起動単位に関して保護状態ファイルがオープンされていない場合であって、前記第一のファイルの非保護状態ファイルは存在するときは前記第一のファイルの非保護状態ファイルをオープンし、前記起動単位に関して保護状態ファイルがオープンされている場合は、前記第一のファイルの保護状態ファイルをオープンするオープン手段とを有するファイル管理装置。
（付記７）
前記オープン手段は、前記起動単位に関して保護状態ファイルがオープンされている場合に、前記第一のファイルの保護状態ファイルが存在しないときは、当該第一のファイルの非保護状態ファイルの複製に基づいて保護状態ファイル生成し、生成した当該保護状態ファイルをオープンする付記６記載のファイル管理装置。
（付記８）
前記オープン手段は、前記起動単位に関して保護状態ファイルがオープンされていない場合に、前記第一のファイルの非保護状態ファイルは存在せず、前記第一のファイルの保護状態ファイルは存在するときは、当該保護状態ファイルのオープンの許可の指定が有る場合に、当該保護状態ファイルをオープンする付記６又は７記載のファイル管理装置。
（付記９）
前記オープン手段は、前記第一のファイルのオープンの要求が読み込みのみを目的とする場合、前記起動単位に関して保護状態ファイルがオープンされており、前記第一のファイルの保護状態ファイルが存在しないときは、前記第一のファイルの非保護状態ファイルをオープンする付記６乃至８いずれか一項記載のファイル管理装置。
（付記１０）
複数ファイルを操作可能なファイル操作プログラムの起動単位に関して、保護状態ファイルがオープンされている場合に、非保護状態ファイルに対して書き込みが要求されたときは、該非保護状態ファイルの複製を生成し、当該複製に対して書き込み内容が反映された結果を保護状態ファイルとし、
前記起動単位に関して保護状態ファイルがオープンされていない場合に、非保護状態ファイルに対して書き込みが要求されたときは、当該非保護状態ファイルに書き込みを行い、当該非保護状態ファイルと同一ファイルに対応する保護状態ファイルを削除するファイル管理装置。
（付記１１）
複数ファイルを操作可能なファイル操作プログラムの起動単位に関して、第一のファイルのオープンの要求を受け付ける手順と、
受け付けた前記第一のファイルのオープンの要求に対して前記起動単位に関して保護状態ファイルがオープンされていない場合であって、前記第一のファイルの非保護状態ファイルは存在するときは前記第一のファイルの非保護状態ファイルをオープンし、前記起動単位に関して保護状態ファイルがオープンされている場合は、前記第一のファイルの保護状態ファイルをオープンするオープン手順とをコンピュータに実行させるファイル管理プログラム。
（付記１２）
前記オープン手順は、前記起動単位に関して保護状態ファイルがオープンされている場合に、前記第一のファイルの保護状態ファイルが存在しないときは、当該第一のファイルの非保護状態ファイルの複製に基づいて保護状態ファイル生成し、生成した当該保護状態ファイルをオープンする付記１１記載のファイル管理プログラム。
（付記１３）
前記オープン手順は、前記起動単位に関して保護状態ファイルがオープンされていない場合に、前記第一のファイルの非保護状態ファイルは存在せず、前記第一のファイルの保護状態ファイルは存在するときは、当該保護状態ファイルのオープンの許可の指定が有る場合に、当該保護状態ファイルをオープンする付記１１又は１２記載のファイル管理プログラム。
（付記１４）
前記オープン手順は、前記第一のファイルのオープンの要求が読み込みのみを目的とする場合、前記起動単位に関して保護状態ファイルがオープンされており、前記第一のファイルの保護状態ファイルが存在しないときは、前記第一のファイルの非保護状態ファイルをオープンする付記１１乃至１３いずれか一項記載のファイル管理プログラム。
（付記１５）
複数ファイルを操作可能なファイル操作プログラムの起動単位に関して、保護状態ファイルがオープンされている場合に、非保護状態ファイルに対して書き込みが要求されたときは、該非保護状態ファイルの複製を生成し、当該複製に対して書き込み内容が反映された結果を保護状態ファイルとし、
前記起動単位に関して保護状態ファイルがオープンされていない場合に、非保護状態ファイルに対して書き込みが要求されたときは、当該非保護状態ファイルに書き込みを行い、当該非保護状態ファイルと同一ファイルに対応する保護状態ファイルを削除する処理をコンピュータに実行させるファイル管理プログラム。
【符号の説明】
【００９３】
１１          アプリケーション
１２          ファイルシステム
１３、１３ａ    ファイル管理部
１４          非保護状態ファイル格納部
１５          保護状態ファイル格納部
１００        ドライブ装置
１０１        記録媒体
１０２        補助記憶装置
１０３        メモリ装置
１０４        ＣＰＵ
１０５        インタフェース装置
１０６        表示装置
１０７        入力装置
１３１        オープン処理部
１３２        書き込み処理部
１３３        状態管理部
Ｂ            バス
【図１】
0005533429.tif 000002
【図２】
0005533429.tif 000003
【図３】
0005533429.tif 000004
【図４】
0005533429.tif 000005
【図５】
0005533429.tif 000006
【図６】
0005533429.tif 000007
【図７】
0005533429.tif 000008
【図８】
0005533429.tif 000009