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