(57)【特許請求の範囲】
【請求項１】
コンピュータに用いられるディレクトリ情報管理方法であって、
（ａ）複数種類のファイルが格納される記録媒体に登録されるディレクトリの中から、前記ディレクトリの階層下に少なくとも一つの特定種類のファイルを含むディレクトリを検出するとともに、前記特定種類のファイルが検出されたディレクトリのみについての階層構造を示すディレクトリ階層情報を作成する工程と、
（ｂ）前記工程（ａ）で作成されたディレクトリ階層情報を用いて、前記特定種類のファイルにアクセスするためのパス情報、または、前記特定種類のファイルを含むディレクトリにアクセスする際に使用し得るパス情報を作成する工程と、
を備え、
前記ディレクトリ階層情報は、前記特定種類のファイルを含むディレクトリ毎に、各ディレクトリの直下のディレクトリを示す情報として作成される、ディレクトリ情報管理方法。
【請求項２】
請求項１記載のディレクトリ情報管理方法であって、
前記工程（ａ）は、
（ｉ）前記特定種類のファイルの作成イベントおよび削除イベントを少なくとも含む特定のイベントが発生したときに、前記ディレクトリ階層情報を更新する工程を含む、ディレクトリ情報管理方法。
【請求項３】
請求項２記載のディレクトリ情報管理方法であって、
前記工程（ｉ）は、
（１）ファイル操作に関連するイベントが発生したことを検出する工程と、
（２）検出されたイベントが前記特定のイベントに相当するか否かを判別する工程と、
（３）前記検出されたイベントが前記特定のイベントに相当する場合にのみ、前記ディレクトリ階層情報を更新する工程と、
を含む、ディレクトリ情報管理方法。
【請求項４】
ディレクトリ情報管理のためのコンピュータプログラムを記録したコンピュータ読み取り可能な記録媒体であって、
複数種類のファイルが格納されるファイル記録用記録媒体に登録されるディレクトリの中から、前記ディレクトリの階層下に少なくとも一つの特定種類のファイルを含むディレクトリを検出するとともに、前記特定種類のファイルが検出されたディレクトリのみについての階層構造を示すディレクトリ階層情報を作成する機能と、
該ディレクトリ階層情報を用いて、前記特定種類のファイルにアクセスするためのパス情報、または、前記特定種類のファイルを含むディレクトリにアクセスするためのパス情報を作成する機能と、
をコンピュータに実現させるためのコンピュータプログラムを記録しており、
前記ディレクトリ階層情報は、前記特定種類のファイルを含むディレクトリ毎に、各ディレクトリの直下のディレクトリを示す情報として作成される、コンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、コンピュータに用いられるディレクトリ情報を管理する技術に関し、特に、特定のディレクトリやファイルへのアクセスを高速に行うための技術に関する。
【０００２】
【従来の技術】
パーソナルコンピュータのオペレーションシステムは、外部記憶装置に記録されているファイルやフォルダを管理するためファイル管理システムと呼ばれるソフトウェアを備えている。ファイル管理システムは、ファイルやフォルダに関する種々の情報（記録されている位置、容量、更新日、属性等）を、外部記憶装置のディレクトリと呼ばれる記憶領域に登録する。
【０００３】
【発明が解決しようとする課題】
ＤＴＰ（デスクトップパブリッシング）や印刷製版などの分野では、ユーザが扱うファイルのタイプはある程度限られているにも関わらず、オペレーションシステムやアプリケーションプログラムが作成するファイルの種類は多数に上る。このため、特定のファイルやディレクトリにアクセスしたい場合にも、関係の無い多数のファイルやディレクトリが画面に表示されてしまい、その中からユーザが選択するのにかなりの手間と時間を要するという問題があった。
【０００４】
この発明は、従来技術における上述の課題を解決するためになされたものであり、ユーザの処理対象となる特定のファイルやディレクトリに高速にアクセスすることのできる技術を提供することを目的とする。
【０００５】
【課題を解決するための手段およびその作用・効果】
上述の課題の少なくとも一部を解決するため、本発明の方法は、コンピュータに用いられるディレクトリ情報管理方法であって、
（ａ）複数種類のファイルが格納される記録媒体に登録されるディレクトリの中から、前記ディレクトリの階層下に少なくとも一つの特定種類のファイルを含むディレクトリを検出するとともに、前記特定種類のファイルが検出されたディレクトリのみについての階層構造を示すディレクトリ階層情報を作成する工程と、
（ｂ）前記工程（ａ）で作成されたディレクトリ階層情報を用いて、前記特定種類のファイルにアクセスするためのパス情報、または、前記特定種類のファイルを含むディレクトリにアクセスする際に使用し得るパス情報を作成する工程と、
を備え、
前記ディレクトリ階層情報は、前記特定種類のファイルを含むディレクトリ毎に、各ディレクトリの直下のディレクトリを示す情報として作成される。
【０００６】
ディレクトリ階層情報は、特定種類のファイルを含むディレクトリの階層構造を示しているので、比較的データ量が少ない。従って、このディレクトリ階層情報を用いて、特定種類のファイルや、そのファイルを含むディレクトリにアクセスする際に使用し得るパス情報を容易に得ることができる。この結果、ユーザの処理対象となる特定のファイルやディレクトリに高速にアクセスすることができる。
【０００７】
上記の方法において、前記工程（ａ）は、
（ｉ）前記特定種類のファイルの作成イベントおよび削除イベントを少なくとも含む特定のイベントが発生したときに、前記ディレクトリ階層情報を更新する工程を含むことが好ましい。
【０００８】
こうすれば、更新が必要な場合にのみ更新動作が行われるので、更新処理を効率的に行うことができる。
【０００９】
また、上記方法において、前記工程（ｉ）は、
（１）ファイル操作に関連するイベントが発生したことを検出する工程と、
（２）検出されたイベントが前記特定のイベントに相当するか否かを判別する工程と、
（３）前記検出されたイベントが前記特定のイベントに相当する場合にのみ、前記ディレクトリ階層情報を更新する工程と、
を含むようにしてもよい。
【００１０】
この発明の記録媒体は、ディレクトリ情報管理のためのコンピュータプログラムを記録したコンピュータ読み取り可能な記録媒体であって、
ファイル記録用記録媒体に登録されるディレクトリの中から、特定種類のファイルを含むディレクトリを検出するとともに、検出されたディレクトリの階層構造を示すディレクトリ階層情報を作成する機能と、
前記ディレクトリ階層情報を用いて、前記特定種類のファイルにアクセスするためのパス情報、または、前記特定種類のファイルを含むディレクトリにアクセスするためのパス情報を作成する機能と、
をコンピュータに実現させるためのコンピュータプログラムを記録したコンピュータ読み取り可能な記録媒体である。
【００１１】
このような記録媒体に記録されたコンピュータプログラムがコンピュータによって実行されると、上記方法と同様に、ユーザの処理対象となる特定のファイルやディレクトリに高速にアクセスすることができる。
【００１２】
【発明の他の態様】
この発明は、以下のような他の態様も含んでいる。第１の態様は、コンピュータに上記の発明の各工程または各手段の機能を実現させるコンピュータプログラムを通信経路を介して供給するプログラム供給装置としての態様である。こうした態様では、プログラムをネットワーク上のサーバなどに置き、通信経路を介して、必要なプログラムをコンピュータにダウンロードし、これを実行することで、上記の画像処理方法や画像処理装置を実現することができる。
【００１３】
【発明の実施の形態】
Ａ．装置の構成：
以下、本発明の実施の形態を実施例に基づいて説明する。図１は、本発明の実施例が適用される画像処理装置の構成を示すブロック図である。この画像処理装置は、ＣＰＵ１００と、主記憶装置１１０と、ファイル記憶装置１２０とを備えているコンピュータである。このコンピュータは、例えば、Windows95 ，Windows97 ，WindowsNT （いずれもマイクロソフト社の商標）などのオペレーティングシステムの下で動作する。
【００１４】
主記憶装置１１０は、図示しないＲＯＭとＲＡＭとで構成されている。ファイル記憶装置１２０は、書き換え可能な外部記憶装置（補助記憶装置）であり、例えばハードディスク装置によって実現される。ファイル記憶装置１２０には、ディレクトリ情報を有するディレクトリ部１２１と、ファイルの実データを保持するファイルデータ部１２２と、の２つの記憶領域が設けられている。主記憶装置１１０には、特定ディレクトリ情報管理部１１６の機能を実現するプログラムが格納されている。特定ディレクトリ情報管理部１１６は、登録通知部１１１と、入力フィルタ部１１２と、インデックスアクセス部１１３と、階層インデックス部１１４と、を含んでいる。なお、この特定ディレクトリ情報管理部１１６は、オペレーティングシステムのファイル管理システムとは異なる管理システムである。特定ディレクトリ情報管理部１１６で管理されるディレクトリは、オペレーティングシステムのファイル管理システムによっても管理される。但し、以下の説明から解るように、ファイル管理システムと特定ディレクトリ情報管理部１１６の管理の内容は異なる。
【００１５】
登録通知部１１１は、ファイル記憶装置１２０のファイルデータ部１２２に登録されるファイルに関連するイベントが発生すると、そのイベントの発生を検出して取得する機能を有する。なお、登録通知部１１１は、例えば常駐プログラムの形式で常時動作しており、ファイルに関連するイベントが発生すると、そのイベントの情報をオペレーションシステムから取得する。
【００１６】
入力フィルタ部１１２は、登録通知部１１１により取得されたイベントの情報から、特定種類のファイルに関連する特定のイベント（後述する）の情報のみをインデックスアクセス部１１３に通知する。インデックスアクセス部１１３は、階層インデックス部１１４にディレクトリ階層情報を登録し、また、これを更新する。ここで、ディレクトリ階層情報とは、ディレクトリの階層構造を示す情報である。階層インデックス部１１４は、ディレクトリ階層情報を格納しているメモリ領域である。
【００１７】
主記憶装置１１０内の各部１１１〜１１６の機能を実現するコンピュータプログラムは、フロッピディスクやＣＤ−ＲＯＭ等の、コンピュータ読み取り可能な記録媒体に記録された形態で提供される。コンピュータは、その記録媒体からコンピュータプログラムを読み取って主記憶装置１１０または外部記憶装置１２０に転送する。あるいは、通信経路を介してコンピュータにコンピュータプログラムを供給するようにしてもよい。コンピュータプログラムの機能を実現する時には、内部記憶装置に格納されたコンピュータプログラムがコンピュータのマイクロプロセッサによって実行される。また、記録媒体に記録されたコンピュータプログラムをコンピュータが読み取って直接実行するようにしてもよい。
【００１８】
この明細書において、コンピュータとは、ハードウェア装置とオペレーションシステムとを含む概念であり、オペレーションシステムの制御の下で動作するハードウェア装置を意味している。また、オペレーションシステムが不要でアプリケーションプログラム単独でハードウェア装置を動作させるような場合には、そのハードウェア装置自体がコンピュータに相当する。ハードウェア装置は、ＣＰＵ等のマイクロプロセッサと、記録媒体に記録されたコンピュータプログラムを読み取るための手段とを少なくとも備えている。コンピュータプログラムは、このようなコンピュータに、上述の各手段の機能を実現させるプログラムコードを含んでいる。なお、上述の機能の一部は、アプリケーションプログラムでなく、オペレーションシステムによって実現されていても良い。
【００１９】
なお、この発明における「記録媒体」としては、フレキシブルディスクやＣＤ−ＲＯＭ、光磁気ディスク、ＩＣカード、ＲＯＭカートリッジ、パンチカード、バーコードなどの符号が印刷された印刷物、コンピュータの内部記憶装置（ＲＡＭやＲＯＭなどのメモリ）および外部記憶装置等の、コンピュータが読取り可能な種々の媒体を利用できる。
【００２０】
Ｂ．ディレクトリとファイルの階層構造：
図２は、特定ディレクトリ情報管理部１１６によって管理されるディレクトリとファイルの階層構造の一例を示す説明図である。この階層構造は、最上位のディレクトリＤａの下に、他のディレクトリやファイルが木構造状に関係付けられている。この明細書においては、この最上位のディレクトリＤａを「インデックス・ルートディレクトリ」と呼ぶ。なお、このインデックス・ルートディレクトリＤａは、オペレーティングシステムのファイル管理システムで管理されるサブディレクトリの１つであり、ファイル管理システムのルートディレクトリとは異なるものである。インデックス・ルートディレクトリＤａとしては、オペレーシングシステムのファイル管理システムに管理される任意のサブディレクトリを指定することができる。
【００２１】
なお、ファイル管理システムのサブディレクトリ（ルートディレクトリ以外のディレクトリ）は、「フォルダ」とも呼ばれている。この明細書において、「ディレクトリ」という用語は、「フォルダ」とほぼ同じ意味で使用されている。
【００２２】
特定ディレクトリ情報管理部１１６は、インデックス・ルートディレクトリＤａ以下の階層構造のディレクトリを管理する。図２の階層構造は、インデックス・ルートディレクトリＤａを含めて６つのディレクトリＤａ〜Ｄｆを含んでいる。インデックス・ルートディレクトリＤａの直下の階層（第２階層と呼ぶ）には、３つのディレクトリＤｂ，Ｄｃ，Ｄｄと、１つのファイルＦ１とが含まれている。第２階層の第１のディレクトリＤｃの直下の階層（第３階層と呼ぶ）には、さらに２つのディレクトリＤｅ，Ｄｆが含まれており、第２階層の第２のディレクトリＤｄには１つのファイルＦ２が含まれている。第３階層の第１のディレクトリＤｅには１つのファイルＦ３が含まれており、また、その第２のディレクトリＤｆには２つのファイルＦ４，Ｆ５が含まれている。
【００２３】
ファイル記憶装置１２０に格納されるファイルには、そのフォーマットの違いから複数のファイルタイプのものが存在する。例えばWindows 95（マイクロソフト社の商標）オペレーティングシステムでは、ファイルタイプは、拡張子（ファイル名の末尾に付加される文字列）によって区別されている。また、Machintosh（アップル社の登録商標）のオペレーティングシステムでは、クリエータタイプと呼ばれるファイルの内部データによってファイルタイプが区別されている。図２に示す階層構造には、２つのファイルタイプのファイルが含まれている。すなわち、５つのファイルＦ１〜Ｆ５のうちの４つのファイルＦ１，Ｆ２，Ｆ４，Ｆ５は第１のファイルタイプＴａを有しており、他のファイルＦ３は第２のファイルタイプＴｂを有している。
【００２４】
第１のファイルタイプＴａは、特定ディレクトリ情報管理部１１６の管理対象としてユーザーによって予め指定されたファイルタイプである。また、第２のファイルタイプＴｂは、特定ディレクトリ情報管理部１１６の管理対象とならないファイルタイプである。例えば、管理対象とする第１のファイルタイプＴａとしては、特定の画像処理アプリケーションプログラムで作成されたファイルのタイプを指定することができる。管理対象とするファイルタイプは、複数指定することが可能である。以下では、第１のファイルタイプＴａのファイルを「管理対象ファイル」と呼ぶ。
【００２５】
図２に示す階層構造に含まれるディレクトリとファイルは、ファイル記憶装置１２０のディレクトリ部１２１とファイルデータ部１２２にそれぞれ格納されている。ディレクトリ部１２１やファイルデータ部１２２には、特定ディレクトリ情報管理部１１６の管理対象でないディレクトリやファイルも格納することが可能である。
【００２６】
特定ディレクトリ情報管理部１１６は、図２に示す階層構造に対応したディレクトリ階層情報（「インデックステーブル」とも呼ぶ）を作成する。図３（Ａ）〜３（Ｄ）は、ディレクトリＤａ，Ｄｃ，Ｄｄ，Ｄｆに対応したインデックステーブルを示している。インデックステーブルは、管理対象ディレクトリＤａ〜Ｄｆの中で、それ以下の階層に管理対象ファイルを少なくとも１つ含むようなディレクトリに関してのみ作成される。図２から解るように、第２階層の第１のディレクトリＤｂはそれ以下の階層に管理対象ファイルを含んでいないので、インデックステーブルは作成されない。また、第３階層の第１のディレクトリＤｅも、管理対象でないファイルＦ３を含むだけであり、それ以下の階層に管理対象ファイルを含んでいないので、インデックステーブルは作成されない。図２には、管理対象ファイルの枠と、管理対象ファイルを含むディレクトリの枠の内側に、斜線をそれぞれ伏しており、他のファイルやディレクトリと区別している。
【００２７】
図３（Ａ）に示すように、インデックス・ルートディレクトリＤａのインデックステーブルには、２つのディレクトリＤｃ，Ｄｄについての階層情報がそれぞれ登録されている。これらのディレクトリＤｃ，Ｄｄは、インデックス・ルートディレクトリＤａの直下の管理対象ディレクトリ（「下層ディレクトリ」と呼ぶ）であって、かつ、その下層ディレクトリ以下のいずれかの階層に管理対象ファイルを含むようなディレクトリである。各下層ディレクトリＤｃ，Ｄｄに対する階層情報は、その下層ディレクトリのディレクトリ名と、階層インデックスとを含んでいる。ここで、「階層インデックス」とは、主記憶装置１１０でのアドレスを意味している。
【００２８】
図３（Ｅ）には、インデックステーブルのメモリマップが示されている。例えば、インデックス・ルートディレクトリＤａに関するインデックステーブルは、アドレス「１００」以下のメモリ領域に格納されている。すなわち、アドレス「１００」には、ディレクトリＤｃに関する階層情報が格納されており、その次のアドレス１０１にはディレクトリＤｄに関する階層情報が格納されている。各階層情報には、ディレクトリ名と、その階層インデックスとが登録されている。すなわち、図３（Ａ）で示すインデックステーブルは、図３（Ｅ）の形で階層インデックス部１１４に登録されている。なお、インデックス・ルートディレクトリＤａの最初のアドレス「１００」は、インデックスアクセス部１１３（図１）が保持しているアドレスポインタＡＰによって示されている。
【００２９】
インデックス・ルートディレクトリＤａのインデックステーブル（図３（Ａ））に登録されている２つのディレクトリＤｃ，Ｄｄについては、それぞれのインデックステーブル（図３（Ｂ），図３（Ｃ））がさらに作成されている。図３（Ｂ）に示すように、ディレクトリＤｃに関するインデックステーブルは、そのディレクトリＤｃの直下の下層ディレクトリであって、かつ、その下層ディレクトリ以下の階層に管理対象ファイルを含むようなディレクトリＤｆ（図２参照）の階層情報を含んでいる。なお、ディレクトリＤｃに関するインデックステーブルが登録されているメモリ位置のアドレス「２００」（図３（Ｅ）参照）は、そのディレクトリＤｃの直上のディレクトリＤａのインデックステーブル（図３（Ａ））に登録されている階層インデックスで示されている。
【００３０】
インデックス・ルートディレクトリＤａのインデックステーブルに登録されている他のディレクトリＤｄについては、図３（Ｃ）に示すインデックステーブルが作成される。図２から解るように、このディレクトリＤｄ以下の階層には管理対象ファイルＦ２が存在するだけであり、他の管理対象ディレクトリは存在しない。従って、このディレクトリＤｄのインデックステーブル（図３（Ｃ））には、その下の階層のディレクトリに関する階層情報が含まれておらず、そのメモリ位置（アドレス「２１０」の位置）には、ディレクトリ名と階層インデックスとして、ともに無効なデータ（またはダミーデータ）が登録されている。このディレクトリＤｄと同様に、第３階層の第２のディレクトリＤｆも、その下の階層には管理対象ファイルＦ４，Ｆ５が存在するだけであり、他の管理対象ディレクトリは存在しない。従って、このディレクトリＤｆのインデックステーブル（図３（Ｄ））には、その下の階層のディレクトリに関する階層情報が含まれておらず、そのメモリ位置（アドレス「３００」の位置）には、ディレクトリ名と階層インデックスとして、ともに無効なデータが登録されているだけである。
【００３１】
図３（Ｅ）に矢印で示されているように、各管理対象ディレクトリに関する階層情報は、階層インデックスによって、その直下の階層の管理対象ディレクトリの階層情報に順次リンクされている。このようなインデックステーブルを用いると、管理対象ファイルを含むディレクトリにアクセスするためのパス名（パス情報とも呼ぶ）を容易に取得することができる。ここで、「パス名」とは、オペレーティングシステムのファイル管理システムがファイルにアクセスする時に使用するディレクトリの階層的な情報である。図２に示すファイルＦ４にアクセスする場合には、例えば、「c:\Da\Dc\Df\」というパス名が使用される。ここで、「c:\」は、ファイル記憶装置１２０のパス名である。インデックステーブルには、ディレクトリの階層的な構造を示す情報が登録されているだけであり、ディレクトリの作成日や、容量（サイズ）、属性等の情報が含まれていないので、オペレーティングシステムのファイル管理システムで管理されているディレクトリエントリ（ディレクトリ情報）に比べてデータ量が大幅に少ない。従って、このようなインデックステーブルを用いることによって、管理対象ファイルにアクセスするためのパス名を、より高速に取得することが可能である。特に、インデックステーブルは、コンピュータの主記憶装置１１０に展開されているので、補助記憶装置に格納されているディレクトリ情報にアクセスする場合に比べて、かなり高速な処理が可能である。
【００３２】
また、図３からも解るように、インデックステーブルはディレクトリ毎に独立しており、その直下のディレクトリの階層情報のみを有しているので、階層情報の追加・削除が容易に実現できる、という利点もある。
【００３３】
Ｃ．インデックステーブルの作成と更新：
図４は、インデックステーブルの作成と更新の手順を示すフローチャートである。ステップＳ１００では、登録通知部１１１が、ファイルに関連するイベントが発生したことを検出して、入力フィルタ部１１２に通知する。ファイルに関連するイベントとしては、ファイルの作成、ファイルの書込み、ファイルのクローズ、ファイルの削除等がある。これらのイベントは、通常は、オペレーションシステムのファイル管理システムによって取り扱われている。登録通知部１１１は、ファイルに関連するイベントが発生すると、そのイベントをオペレーションシステムが処理する際に、イベントの情報（ファイル情報とディレクトリ情報）を取得して、入力フィルタ部１１２に通知する。
【００３４】
入力フィルタ部１１２は、通知されたイベント情報に基づいて、そのイベントが、管理対象としている特定のファイルタイプＴａに関するイベントか否かを判定する（ステップＳ１０１）。特定のファイルタイプに関するイベントでなければ、図４の処理は終了する（ステップＳ１０２）。一方、特定のファイルタイプに関するイベントであれば、入力フィルタ部１１２は、さらに、そのイベントの種類を判定する（ステップＳ１０３）。この実施例では、ファイルに関連するイベントを、登録イベント（ファイルの作成、ファイルの書込み、および、ファイルのクローズを含む）と、削除イベントとに分類している。
【００３５】
管理対象ファイルに関連するイベントが登録イベントである場合には、ステップＳ１０４において、インデックスアクセス部１１３が、そのファイルに関連するインデックステーブルが、階層インデックス部１１４に既に登録されているか否かを判断する。例えば、図２の第３階層のファイルＦ２に関する登録イベントが発生した時には、インデックス・ルートディレクトリＤａからそのファイルＦ２を含むディレクトリＤｄまで至る各ディレクトリのインデックステーブルが既に登録されているか否かが判断される。インデックステーブルが既に登録されていれば処理をそのまま終了し（ステップＳ１０５）、一方、未登録であれば、インデックステーブルを追加する（ステップＳ１０７）。換言すれば、管理対象ファイルの登録イベントによって管理対象ディレクトリの階層構造が変更された時には、インデックステーブルもこれに応じて更新される。
【００３６】
一方、管理対象ファイルに関連するイベントが削除イベントであれば、図４のステップＳ１０６が実行される。ステップＳ１０６では、インデックスアクセス部１１３がインデックステーブルを参照して、その管理対象ファイルの上位にある各ディレクトリの下層に、他の管理対象ファイルが存在するか否かを判断する。例えば、第３階層のファイルＦ２が削除された場合には、その直上のディレクトリＤｄには他の管理対象ファイルが含まれていない。この場合には、さらに、その上位のディレクトリＤａの下層に他の管理対象ファイルが存在するか否かを判断する。こうして、削除された管理対象ファイルの上位の各ディレクトリに関して、その下層に他の管理対象ファイルが存在するか否かが判断される。ファイルＦ２の直上のディレクトリＤｄには、他の管理対象ファイルが含まれていないので、図４のステップＳ１０８において、そのディレクトリＤｄに関するインデックステーブル（図３（Ｃ））が削除される。この時、そのディレクトリＤｄの上位のディレクトリＤａのインデックステーブルの中で、削除されたディレクトリＤｄに関する階層情報も同時に削除される。
【００３７】
なお、削除されたファイルが例えば図２のファイルＦ４である場合には、その直上のディレクトリＤｆに他の管理対象ファイルＦ５が含まれているので、そのディレクトリＤｆのインデックステーブルは削除されず、そのまま処理を終了する（ステップＳ１０５）。換言すれば、管理対象ファイルの削除イベントによって管理対象ディレクトリの階層構造が変更された時には、インデックステーブルもこれに応じて更新される。
【００３８】
この実施例では、上述したように、インデックステーブルの更新は、管理対象ディレクトリの階層構造が変更された時にのみ実行されるので、更新の回数が比較的少なくて済むという利点がある。また、インデックステーブルの各階層情報は、ディレクトリ名と階層インデックスを含むだけであり、そのデータ量が少ないので、更新を高速に行うことができる。
【００３９】
このように、特定ディレクトリ情報管理部１１６は、管理対象ファイルの特定のイベント（登録イベントおよび削除イベント）が発生すると、その発生を検出してインデックステーブル（ディレクトリ階層情報）を更新するので、常に最新の階層構造に対応したインデックステーブルを得ることができる。従って、このインデックステーブルを用いることによって、管理対象ファイルにアクセスするためのパス情報を直ちに得ることが可能である。
【００４０】
なお、登録通知部１１１と入力フィルタ部１１２の２つの処理部の協力によって特定のイベント（登録イベントおよび削除イベント）の発生を検出する代わりに、登録通知部１１１が入力フィルタ部１１２の機能を有するようにしてもよい。すなわち、登録通知部１１１が、特定のイベントのみを検出してインデックスアクセス部１１３にその情報を通知するようにしてもよい。
【００４１】
Ｄ．ディレクトリ階層情報を利用したファイルアクセス：
図５は、ディレクトリ階層情報を利用したファイルアクセスの手順を示すフローチャートである。ここでは、図１に示す画像処理装置がコンピュータネットワークのＷＷＷサーバとして機能しており、コンピュータネットワークのクライアントコンピュータにおけるＷＷＷブラウザアプリケーションを用いて、サーバのディレクトリ階層情報を検索する場合を想定している。図５の左側はＷＷＷサーバの動作を示し、右側はＷＷＷブラウザの動作を示している。
【００４２】
ディレクトリ階層情報としては、図２の階層構造に対応した図３の情報を利用する。ここで、さらに具体的な例を示すために、各ディレクトリＤａ〜Ｄｆに、図６のようなタイトル名がそれぞれ付加されているものと仮定する。この例では、サーバは、チラシ広告に使用するための各種の画像を含む画像データベースを有しており、その画像データベースの中に「食品」に関する各種の画像が含まれている。最上位のディレクトリＤａにはタイトル名「食品」が割り当てられており、その下層のディレクトリＤｂ〜Ｄｆには、食品の下位概念のカテゴリを示すタイトル名「野菜」、「肉類」等が割り当てられている。これらのタイトル名は、前述した図２にも記載されている。この例に示すように、ディレクトリの階層構造を、ファイル分類のカテゴリの階層構造と一致するように構成すれば、所望のファイルを含むディレクトリを検索しやすいという利点がある。なお、ディレクトリには必ずしもタイトル名を付加する必要はなく、ディレクトリ名そのものを利用して以下の検索を行うようにしてもよい。
【００４３】
なお、各ディレクトリのタイトル名を示す情報と、ディレクトリＤａがインデックス・ルートディレクトリである旨を示す情報とは、特定ディレクトリ情報管理部１１６に登録されている。従って、特定ディレクトリ情報管理部１１６は、これらの情報と、階層インデックス部１１４に登録されている情報から、管理対象のディレクトリの階層構造（すなわちパス名）とそのタイトル名を直ちに出力することができる。
【００４４】
図５のステップＰ１００では、ユーザの操作に応じてブラウザからインデックステーブルの表示要求がサーバに送信される。サーバのインデックスアクセス部１１３（図１）は、この要求に応じて、階層インデックス部１１４に登録されているインデックステーブルを走査し（ステップＱ１００）、管理対象ディレクトリに関するカテゴリ情報をブラウザに送信する（ステップＱ１０１）。階層インデックス部１１４には、図３に示すインデックステーブルが登録されているので、ここに登録されているディレクトリＤｃ，Ｄｄ，Ｄｆに関するカテゴリ情報がブラウザに送信される。カテゴリ情報には、管理対象ディレクトリの階層構造とタイトル名とを含む情報が含まれている。
【００４５】
ブラウザは、ステップＰ１０１において、サーバから送信されたカテゴリ情報を表示する。図７は、ブラウザに表示されたカテゴリ情報の一例を示している。このカテゴリ情報は、ディレクトリのカテゴリ（タイトル名）の階層構造を示している。すなわち、「食品」というカテゴリには、「食品：肉類」というサブカテゴリと、「食品：穀類」というサブカテゴリと、「食品：肉類：牛肉」というサブカテゴリとが表示される。これらのカテゴリは、管理対象ファイルを含むディレクトリＤａ，Ｄｃ，Ｄｄ，Ｄｆ（図２）にそれぞれ対応している。
【００４６】
なお、図７に示されているようなカテゴリ情報も、管理対象ファイルを含むディレクトリにアクセスするために使用される情報なので、広義の「パス情報」に含まれる。
【００４７】
ユーザは、ブラウザに表示されたカテゴリ情報から、自分が所望するファイルがどのカテゴリに属するかを判断して、表示されたカテゴリのひとつを指定する（図５のステップＰ１０２）。すると、サーバは、ブラウザから通知された指定カテゴリに対応するディレクトリに含まれる特定ファイル（管理対象ファイル）の一覧を取得する。このとき、サーバの特定ディレクトリ情報管理部１１６は、まず、指定カテゴリのパス名を、階層インデックス部１１４のインデックステーブルから取得する。例えば、カテゴリ「食品：肉類：牛肉」が指定されたときには、対応するディレクトリＤｆのパス名「C:\Da\Dc\Df 」がインデックステーブルから取得される。サーバのファイル管理システムは、このパス名を用いてファイル記憶装置１２０のディレクトリ部１２１を調べることによって、特定ファイルのファイル名の一覧を取得する。
【００４８】
この特定ファイルのファイル名の一覧は、サーバからブラウザに送信され（図５のステップＱ１０３）、ブラウザはその一覧を表示する（ステップＰ１０３）。ユーザは、表示された特定ファイルの一覧の中から所望のファイルを指定する（ステップＰ１０４）。指定されたファイルを示す情報がブラウザからサーバに通知されると、サーバはそのファイルの詳細情報を取得して（ステップＱ１０４）、ブラウザにその詳細情報を送信する（ステップＱ１０５）。ブラウザには、その詳細情報が表示される（ステップＰ１０５）。この実施例では、管理対象ファイルは画像データファイルなので、ブラウザには、画像データで表される画像が詳細情報として表示される。なお、管理対象ファイルが画像データファイルでない場合（例えば文書ファイルや図形ファイル）の場合にも、各ファイルで表される詳細情報が表示される。
【００４９】
上記実施例では、管理対象ファイルを階層的なカテゴリに分類し、これに応じた階層的なディレクトリに格納しているので、そのカテゴリの階層構造に従って、ユーザが所望のファイルを容易に検索していくことができる。このような検索方法は、ファイル名やその他のファイルを特定する情報を予めユーザが有していない場合に有効であり、例えば画像データベースにおけるファイル検索等に有効である。
【００５０】
また、上記実施例では、管理対象ディレクトリの階層構造のみを示すインデックステーブルを作成し、このインデックステーブルを用いて管理対象ディレクトリに至るパス名を取得するようにしているので、オペレーティングシステムのファイル管理システムを用いる場合に比べて、その階層構造の更新や検索をより高速に行うことができるという利点がある。
【００５１】
なお、この発明は上記の実施例や実施形態に限られるものではなく、その要旨を逸脱しない範囲において種々の態様において実施することが可能であり、例えば次のような変形も可能である。
【００５２】
（１）上記実施例において、ハードウェアによって実現されていた構成の一部をソフトウェアに置き換えるようにしてもよく、逆に、ソフトウェアによって実現されていた構成の一部をハードウェアに置き換えるようにしてもよい。
【００５３】
（２）ディレクトリの階層構造を示す情報としては、上記実施例に示したインデックステーブル以外の種々の形式の情報を用いることができる。例えば、ディレクトリの階層構造を、リスト構造を有するデータで表すことも可能である。
【００５４】
（３）インデックスアクセス部１１３にインデックステーブルの更新を開始させるための特定のイベントとしては、少なくとも管理対象ファイルの作成イベントと、削除イベントとを含む任意のイベントを設定しておくことができる。
【図面の簡単な説明】
【図１】本発明の実施例としての画像処理装置の構成を示すブロック図。
【図２】ディレクトリとファイルとを含む階層構造（木構造）の一例を示す説明図。
【図３】ディレクトリ階層情報の構造を示す説明図。
【図４】インデックステーブルの作成と更新の手順を示すフローチャート。
【図５】ディレクトリ階層情報を利用したファイルアクセスの手順を示すフローチャート。
【図６】各ディレクトリＤａ〜Ｄｆに付加されたタイトル名を示す説明図。
【図７】ブラウザに表示されたカテゴリ情報を示す説明図。
【符号の説明】
１００…ＣＰＵ
１１０…主記憶装置
１１１…登録通知部
１１２…入力フィルタ部
１１３…インデックスアクセス部
１１４…階層インデックス部
１１６…特定ディレクトリ情報管理部
１２０…ファイル記憶装置
１２１…ディレクトリ部
１２２…ファイルデータ部
【図１】
0003641353.tif 000002
【図２】
0003641353.tif 000003
【図３】
0003641353.tif 000004
【図４】
0003641353.tif 000005
【図５】
0003641353.tif 000006
【図６】
0003641353.tif 000007
【図７】
0003641353.tif 000008