(57)【要約】【課題】データ記録装置が大容量化すると、大量のデータの中から必要なファイルを高速に検索することが困難になる。【解決手段】記録装置に記録されたファイル名とデータとからなるファイルを管理するファイルシステムにおいて、前記ファイルに付加される前記データのメタデータとして登録キーワードが格納される属性情報領域を設け、前記ファイルへのアクセスを制御するファイルアクセス制御部と、前記ファイルを入力されたキーワードに基づいて検索するファイル検索部と、を備え、前記ファイル検索部は、前記登録キーワードと前記入力されたキーワードとを比較して検索する属性情報検索部と、前記ファイル全体と前記入力されたキーワードとを比較して検索する全文検索部と、を備え、前記ファイルアクセス制御部は、前記全文検索部による検索の結果に基づいて前記登録キーワードを変更する属性情報変更部を備える。【選択図】      図１
2005309727.tif 000002
【特許請求の範囲】
【請求項１】
記録装置に記録されたファイル名とデータとからなるファイルを管理するファイルシステムにおいて、
前記ファイルに付加される前記データのメタデータとして登録キーワードが格納される属性情報領域を設け、
前記ファイルへのアクセスを制御するファイルアクセス制御部と、
前記ファイルを入力されたキーワードに基づいて検索するファイル検索部と、を備え、
前記ファイル検索部は、
前記登録キーワードと前記入力されたキーワードとを比較して検索する属性情報検索部と、
前記ファイル全体と前記入力されたキーワードとを比較して検索する全文検索部と、を備え、
前記ファイルアクセス制御部は、前記全文検索部による検索の結果に基づいて前記登録キーワードを変更する属性情報変更部を備えることを特徴とするファイルシステム。
【請求項２】
前記属性情報変更部は、前記全文検索部による検索の結果として得られた前記ファイルの属性情報領域に、前記入力されたキーワードを前記登録キーワードとして追加することを特徴とする請求項１に記載のファイルシステム。
【請求項３】
前記ファイルアクセス制御部は、前記全文検索部による検索の結果として得られた前記ファイルがオープンされた時間を検出し、
前記属性情報変更部は、前記時間が予め設定した時間を超えたファイルの前記属性情報領域に、前記入力されたキーワードを重要登録キーワードとして追加することを特徴とする請求項２に記載のファイルシステム。
【請求項４】
前記属性情報変更部は、前記全文検索部による検索の結果として得られた前記ファイルのうち、所定の指示が入力されたファイルの前記属性情報領域に、前記入力されたキーワードを前記登録キーワードとして追加することを特徴とする請求項１に記載のファイルシステム。
【請求項５】
前記属性情報変更部は、前記属性情報検索部による検索の結果として得られた前記ファイルのうち、オープンされないファイルの前記属性情報領域から、前記入力されたキーワードを削除することを特徴とする請求項１に記載のファイルシステム。
【請求項６】
前記属性情報変更部は、前記ファイルが新規に作成されたとき、当該ファイルのデータと、他のファイルの属性情報領域とを参照し、前記他のファイルの属性情報領域に登録された前記登録キーワードと同じキーワードがそのファイルに含まれる場合は、当該キーワードを前記作成されたファイルの属性情報領域に前記登録キーワードとして追加することを特徴とする請求項１に記載のファイルシステム。
【請求項７】
前記属性情報領域に、前記登録キーワードごとに、アクセス回数記録部を設け、
前記属性情報変更部は、前記属性情報検索部による検索の結果として得られた前記ファイルをオープンすると、当該ファイルの前記属性情報領域の登録キーワードのうち、前記入力されたキーワードと同一の登録キーワードの前記アクセス回数記録部の値を増加させ、前記アクセス回数記録部の値がより大きい前記登録キーワードをより重要なキーワードと判断することを特徴とする請求項１に記載のファイルシステム。
【請求項８】
前記属性情報変更部は、前記ファイルの属性情報領域に、前記ファイルの履歴情報を前記登録キーワードとして登録することを特徴とする請求項１に記載のファイルシステム。
【請求項９】
前記履歴情報は、前記ファイルが過去に格納されていたディレクトリの名称であることを特徴とする請求項８に記載のファイルシステム。
【請求項１０】
前記属性情報変更部は、前記キーワードに加えて予め設定した情報を受け付けた場合には、前記属性情報領域の内容の更新を禁止することを特徴とする請求項１に記載のファイルシステム。
【請求項１１】
前記ファイル検索部は、前記属性情報検索部によって前記登録キーワードと前記入力されたキーワードとを比較して検索した後に、前記全文検索部によって前記ファイル全体と前記入力されたキーワードとを比較して検索することを特徴とする請求項１に記載のファイルシステム。
【請求項１２】
前記ファイル検索部は、前記属性情報検索部によって前記登録キーワードと前記入力されたキーワードとを比較して検索した結果、前記ファイルが得られなかった場合に、前記全文検索部によって前記ファイル全体と前記入力されたキーワードとを比較して検索することを特徴とする請求項１に記載のファイルシステム。
【請求項１３】
前記ファイル検索部は、前記検索の結果として得られた前記ファイルのうち、当該検索で入力されたキーワードと同一の前記重要登録キーワードを前記属性情報領域に有するファイルを、優先して検索結果に出力することを特徴とする請求項３に記載のファイルシステム。
【請求項１４】
記録装置に記録された文書を管理する文書管理システムにおいて、
前記文書へのアクセスを制御する文書アクセス制御部と、
前記文書を入力されたキーワードに基づいて検索する文書検索部と、を備え、
前記文書検索部は、
前記文書に付加されたメタデータとして属性情報領域に格納された登録キーワードと前記入力されたキーワードとを比較して検索する属性情報検索部と、
前記文書全体と前記入力されたキーワードとを比較して検索する全文検索部と、を備え、
前記文書アクセス制御部は、前記全文検索部による検索の結果に基づいて前記登録キーワードを変更する属性情報変更部を備えることを特徴とする文書管理システム。
【請求項１５】
前記属性情報変更部は、前記全文検索部による検索の結果として得られた前記文書の属性情報領域に、前記入力されたキーワードを前記登録キーワードとして追加することを特徴とする請求項１４に記載の文書管理システム。
【請求項１６】
前記文書アクセス制御部は、前記全文検索部による検索の結果として得られた前記文書がオープンされた時間を検出し、
前記属性情報変更部は、前記時間が予め設定した時間を超えた文書の前記属性情報領域に、前記入力されたキーワードを重要登録キーワードとして追加することを特徴とする請求項１５に記載の文書管理システム。
【請求項１７】
前記文書検索部は、前記属性情報検索部によって前記登録キーワードと前記入力されたキーワードとを比較して検索した後に、前記全文検索部によって前記文書全体と前記入力されたキーワードとを比較して検索することを特徴とする請求項１４に記載の文書管理システム。
【請求項１８】
前記文書検索部は、前記属性情報検索部によって前記登録キーワードと前記入力されたキーワードとを比較して検索した結果、前記文書が得られなかった場合に、前記全文検索部によって前記文書全体と前記入力されたキーワードとを比較して検索することを特徴とする請求項１４に記載の文書管理システム。
【請求項１９】
前記文書検索部は、前記検索の結果として得られた前記文書のうち、当該検索で入力されたキーワードと同一の前記重要登録キーワードを前記属性情報領域に有する文書を、優先して検索結果に出力することを特徴とする請求項１６に記載の文書管理システム。
【請求項２０】
ネットワークを経由してクライアントコンピュータと通信するインターフェースと、プロセッサ装置と、ディスク装置と、を備えるストレージ装置において、
前記ディスク装置には、ファイル名と、データと、前記データのメタデータとして登録キーワードが登録される属性情報領域と、を含む一つ以上のファイルが記録され、
前記プロセッサ装置は、前記ファイルへのアクセスを制御するファイルアクセス制御部と、前記ファイルを検索するファイル検索部と、を備え、
前記ファイル検索部は、
前記ファイルの検索に使用するキーワードを入力されると、前記登録キーワードと前記入力されたキーワードとを比較して検索を行う属性情報検索部と、
前記ファイル全体と前記入力されたキーワードとを比較して検索を行う全文検索部と、を備え、
前記属性情報検索部による検索の結果、前記ファイルが得られなかった場合に、前記全文検索部による検索を行い、
前記ファイルアクセス制御部は、
前記全文検索部による検索の結果として得られた前記ファイルの属性情報領域に、前記入力されたキーワードを前記登録キーワードとして追加し、
前記ファイルアクセス制御部によって検出された前記全文検索部による検索の結果として得られた前記ファイルがオープンされた時間が予め設定した時間を超えたファイルの前記属性情報領域に前記入力されたキーワードを重要登録キーワードとして追加する属性情報変更部を備え、
前記ファイル検索部は、
前記検索の結果として得られた前記ファイルのうち、当該検索で前記入力されたキーワードと同一の前記重要登録キーワードを前記属性情報領域に有するファイルを、優先して検索結果に出力することを特徴とするストレージ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータ装置のファイルシステムに関する。
【背景技術】
【０００２】
磁気ディスク装置をはじめとするコンピュータ用のデータ記録装置の容量は、技術の進歩に伴い、年々増加している。また、近年、法規制等によって、データの長期保存が義務付けられるケースが増加している。その結果、コンピュータ装置が取り扱うデータの量は急激に増大している。このような大量のデータの中から必要なファイルを容易に入手するためには、高速かつ高機能のファイル検索技術が必要とされる。
【０００３】
このようなファイル検索技術として、文書データベースとは別に、検索キーワードの辞書を備え、検索を実行する度にその辞書を更新する情報検索システムが提案されている（特許文献１）。この情報検索システムは、ユーザがキーワードを入力すると、過去にそのキーワードと同一の検索式で使用された別のキーワードを表示して、ユーザによるキーワードの入力を支援する。
【０００４】
また、文書ファイルから予めキーワードを抽出して登録し、これらのキーワードを対象とした検索を行い、この検索に失敗した場合は全文を対象とした検索を行い、更に、その検索結果に従ってキーワードの登録を更新する文書検索装置が提案されている（特許文献２）。この文書検索装置によれば、入力したキーワードが登録されていない場合も、次回からは登録されたキーワードを利用した高速な検索を行うことができる。
【特許文献１】特開平６−３１４２９６号公報
【特許文献２】特開平９−１９８３９５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上記の検索システム等では、文書ファイルと、それに関連するキーワードの情報とは分離して記録されるため、文書ファイルを他のコンピュータシステムに移動しても、それに関連するキーワードの情報は移動しない。このため、文書ファイルを他のコンピュータシステムに移動すると、移動先のコンピュータシステム上では、それに関連するキーワードの情報を利用することができない。
【０００６】
また、一つのファイルに関連するキーワードの中でも、実際にそのファイルを入手するために使用されたキーワードは、その他のキーワードと比較して、より重要である。しかし、上記の検索システム等では、このようなキーワードの重要度の違いは検索に利用されない。
【課題を解決するための手段】
【０００７】
本発明は、記録装置に記録されたファイル名とデータとからなるファイルを管理するファイルシステムにおいて、前記ファイルに付加される前記データのメタデータとして登録キーワードが格納される属性情報領域を設け、前記ファイルへのアクセスを制御するファイルアクセス制御部と、前記ファイルを入力されたキーワードに基づいて検索するファイル検索部と、を備え、前記ファイル検索部は、前記登録キーワードと前記入力されたキーワードとを比較して検索する属性情報検索部と、前記ファイル全体と前記入力されたキーワードとを比較して検索する全文検索部と、を備え、前記ファイルアクセス制御部は、前記全文検索部による検索の結果に基づいて前記登録キーワードを変更する属性情報変更部を備えることを特徴とする。
【発明の効果】
【０００８】
本発明によると、ファイルを別のコンピュータシステムに移動しても、移動前と同様の高速なキーワード検索を行うことができる。
【０００９】
また、検索結果にキーワードの重要度を反映させて、ユーザの利便性を向上させることができる。更に、キーワードの重要度を自動的に設定及び変更することができる。
【発明を実施するための最良の形態】
【００１０】
図１は、本発明のファイルシステムを適用したコンピュータシステムのブロック図である。
【００１１】
ファイルサーバ１０３は、ネットワーク１０２を介してクライアントコンピュータ１０１と通信可能に接続される。
【００１２】
ファイルサーバ１０３は、プロセッサ装置１０４及びディスク装置１０５からなり、クライアントコンピュータ１０１からの要求に従ってデータの書き込み及び読み出しを行う。
【００１３】
プロセッサ装置１０４は、ＣＰＵ（図示省略）、メモリ（図示省略）及びネットワーク１０２を介してクライアントコンピュータ１０１と通信するためのインターフェース（図示省略）等からなり、クライアントコンピュータ１０１からのデータ書き込み／読み出し要求を処理し、ディスク装置１０５に記録されるデータを管理する。プロセッサ装置１０４のメモリ（図示省略）には、ファイルシステム１０６及び操作履歴テーブル１０９（図５）が記録される。ファイルシステム１０６は、ファイルアクセスプログラム１０７（図２）及びファイル検索プログラム１０８（図３）からなる。これらのプログラムは、プロセッサ装置１０４のＣＰＵ（図示省略）によって実行される。
【００１４】
ディスク装置１０５は、例えば、磁気ディスク装置であり、一つのディスクドライブであってもよいし、複数のディスクドライブからなるディスクアレイであってもよい。
【００１５】
ディスク装置１０５には、メタデータ１１１及び本文データ１１２からなるファイル１１０が記録される。ここで、本文データ１１２は、クライアントコンピュータ１０１から書き込みを要求されたデータである。また、メタデータ１１１は、ファイルシステム１０６によって本文データ１１２に付加された管理情報であり、本発明のキーワード情報を含む。このキーワード情報については、後で、図４を用いて詳細に説明する。
【００１６】
図２は、ファイルアクセスプログラム１０７の構成の説明図である。
【００１７】
ファイルアクセスプログラム１０７は、ファイルオープンルーチン２０１、ファイルクローズルーチン２０２、ファイルリードルーチン２０３、ファイルライトルーチン２０４、メタデータ読み取りルーチン２０５及びメタデータ変更ルーチン２０６からなる。
【００１８】
ファイルオープンルーチン２０１及びファイルクローズルーチン２０２については、それぞれ、図６及び図７で詳細に説明する。
【００１９】
ファイルリードルーチン２０３は、クライアントコンピュータ１０１からの読み出し要求を受けて、ファイル１１０をディスク装置１０５から読み出す。また、ファイルリードルーチン２０３は、全文検索ルーチン（図１０）からも呼び出される。
【００２０】
ファイルライトルーチン２０４は、クライアントコンピュータ１０１からの書き込み要求を受けて、ファイル１１０をディスク装置１０５に書き込む。
【００２１】
メタデータ読み取りルーチン２０５は、メタデータ検索ルーチン（図１１）から呼び出され、ファイル１１０のメタデータ１１１の内容を読み取る。
【００２２】
メタデータ変更ルーチン２０６は、全文検索ルーチン（図１０）及びファイルクローズルーチン２０２（図７）から呼び出され、ファイル１１０のメタデータ１１１の内容を書き換える。
【００２３】
図３は、ファイル検索プログラム１０８の構成の説明図である。
【００２４】
ファイル検索プログラム１０８は、詳細検索ルーチン３０１、簡易検索ルーチン３０２、全文検索ルーチン３０３及びメタデータ検索ルーチン３０４からなる。これらについては、それぞれ、図８、図９、図１０及び図１１で詳細に説明する。
【００２５】
図４は、メタデータ１１１の内容の説明図である。
【００２６】
メタデータ１１１は、ファイル名４０３、所有者４０４、作成時刻４０５、キーワード４０６及び重要キーワード４０７の属性情報からなる。ここで、属性名称４０１は、それぞれの属性の名称であり、属性値４０２は、それぞれの属性として記録されている値である。
【００２７】
ファイル名４０３は、そのメタデータ１１１が付属するファイル１１０の名称を表す。図４においては、ファイル名４０３の属性値４０２は、「特許．ｄｏｃ」である。これは、このメタデータ１１１が付属するファイル１１０の名称が「特許．ｄｏｃ」であることを表す。
【００２８】
所有者４０４は、そのメタデータ１１１が付属するファイル１１０の所有者を表す。ここで、所有者とは、そのファイル１１０の書き込みを要求した者、そのファイル１１０へのアクセス権限を有する者、又は、そのファイル１１０の本文データ１１２を作成若しくは変更した者であってもよい。また、所有者４０４の属性値４０２は、その所有者を識別する情報であればよく、例えば、その所有者がネットワーク１０２にアクセスする際のＩＤであってもよい。
【００２９】
作成時刻４０５は、そのメタデータ１１１が付属するファイル１１０を作成した時刻を表す。
【００３０】
キーワード４０６は、そのファイル１１０をヒットした（すなわち、検索の結果としてそのファイル１１０を得た）検索キーワードであり、メタデータ変更ルーチン２０６によって登録される（図１０）。図４の例では、キーワード４０６に「特許」が含まれている。これは、ユーザが「特許」をキーワードとして検索を行った結果、当該ファイル１１０がヒットした（すなわち、その検索の結果として得られたファイル１１０の中に当該ファイル１１０が含まれていた）ことを意味する。
【００３１】
なお、ファイル１１０を新規に作成した際に、そのディスク装置１０５内の他のファイル１１０のキーワード４０６又は重要キーワード４０７の内容を参照して、これらと同等の内容がその新規に作成したファイル１１０の本文データ１１２に含まれていた場合は、その新規に作成したファイル１１０のキーワード４０６にその内容を登録してもよい。
【００３２】
また、ファイル１１０の履歴情報（例えば、そのファイル１１０の過去の名前や、そのファイル１１０が過去に格納されていたディレクトリの名前）をそのファイル１１０のキーワード４０６に登録してもよい。
【００３３】
重要キーワード４０７は、そのファイル１１０をヒットした検索キーワードのうち、特に重要なものであり、ファイルクローズルーチン２０２によって登録される（図７）。
【００３４】
通常、キーワード検索の結果として得られたファイル１１０の中に目的のファイル１１０が含まれているとは限らず、また、含まれていても、全てが目的のファイル１１０であるとは限らない。あるキーワードを用いた検索結果に目的のファイル１１０が含まれていた場合、そのキーワードは、その目的のファイル１１０を検索するための重要なキーワードである。このようなキーワードが重要キーワード４０７として登録される。
【００３５】
図４の例では、重要キーワード４０７に「Ｗｅｂ」が含まれている。これは、ユーザが「Ｗｅｂ」をキーワードとして検索を行った結果、当該ファイル１１０がヒットし、かつ、当該ファイル１１０が目的のファイルであったことを意味している。
【００３６】
なお、当該ファイル１１０が目的のファイルであったことは、当該ユーザが所定の時間（例えば、１０分間）以上当該ファイル１１０を閲覧したことによって判定してもよい（図７）。検索を行った後で、その検索を行ったユーザが長時間閲覧したファイルは、目的のファイルであった可能性が高いからである。
【００３７】
また、検索によってヒットしたファイル１１０のうち、目的のファイル１１０をユーザ自身が指示し、その指示を入力することによって、目的のファイル１１０についてのみキーワード４０６又は重要キーワード４０７を登録してもよい。例えば、検索によってヒットしたファイル１１０の一覧がグラフィカルユーザインターフェース（ＧＵＩ）を用いて表示され、ユーザは、各ファイル１１０ごとに設けられたチェックボックスをチェックすることによって、目的のファイル１１０を指示し、画面上に設けられた「更新」ボタンを操作（例えば、マウスクリック）することによって当該指示を入力してもよい（図示省略）。
【００３８】
また、キーワード４０６及び重要キーワード４０７の登録は、ユーザが手動で行ってもよい。
【００３９】
また、キーワード４０６及び重要キーワード４０７に登録されたキーワードごとにアクセスカウンタ（図示省略）を有し、このアクセスカウンタの値でそれぞれのキーワードの重要度を判断してもよい。例えば、それぞれのキーワードのアクセスカウンタは、そのキーワードを用いた検索でそのファイルがヒットする度に１ずつ加算され、キーワードのアクセスカウンタの値を比較したときに、アクセスカウンタの値が大きいキーワードをより重要なキーワードと判断する。
【００４０】
また、キーワード４０６及び重要キーワード４０７は、ＸＭＬ（eXtensible Markup Language）形式で記述してもよい。
【００４１】
図５は、操作履歴テーブル１０９の説明図である。
【００４２】
操作履歴テーブル１０９は、過去にユーザがファイル１１０に対して行った操作の履歴情報が記録されるテーブルであり、検索の結果として得られたファイル１１０がその検索を行ったユーザによって閲覧されたか否か、及び、閲覧に要した時間についての情報を得て、キーワードの重要度を判断するために用いられる。操作履歴テーブル１０９は、ファイルオープンルーチン２０１及びファイルクローズルーチン２０２に参照され、ファイルオープンルーチン２０１、ファイルクローズルーチン２０２及びメタデータ検索ルーチン３０４によって更新される。
【００４３】
操作履歴テーブル１０９には、エントリ単位で情報が登録される。一つのエントリは、時刻５０１と、それに対応する操作５０２、ユーザ５０３、キーワード５０４及びファイル名５０５からなる。
【００４４】
時刻５０１は、その操作５０２を行った時刻である。
【００４５】
操作５０２は、行った操作の種類を表す。「ｓｅａｒｃｈ」は、検索を行ったことを表し（図１１）、「ｏｐｅｎ」は、ファイル１１０を開いたことを表す（図６）。
【００４６】
ユーザ５０３は、その操作５０２を行ったユーザ名である。
【００４７】
キーワード５０４は、その操作５０２が「ｓｅａｒｃｈ」である場合は、その検索の際に使用した検索キーワードである。また、キーワード５０４は、その操作５０２が「ｏｐｅｎ」である場合は、そのファイル１１０を得た検索で使用された検索キーワードである。
【００４８】
ファイル名５０５は、その操作５０２の対象となったファイル１１０の名称である。ただし、操作５０２が「ｓｅａｒｃｈ」である場合は、対象となるファイル１１０が特定されないため、ファイル名５０５は空欄となる。
【００４９】
図５の例では、２００２年２月２日１２時１０分（５０１）にユーザ「ｓｈｉｍｉｚｕ」（５０３）が「ＸＭＬ」をキーワード（５０４）として検索を実行している（５０２）。そして、２００２年２月２日１２時１５分（５０１）に、同一のユーザ「ｓｈｉｍｉｚｕ」（５０３）が、その検索によって得られたファイルのうち「明細書．ｄｏｃ」（５０５）を開いている（５０２）。さらに、２００２年２月２日１２時２０分（５０１）に、同一のユーザ「ｓｈｉｍｉｚｕ」（５０３）が、その検索によって得られたファイルのうち「図面．ｄｏｃ」（５０５）を開いている（５０２）。
【００５０】
なお、操作５０２が「ｓｅａｒｃｈ」であるエントリは、そのエントリの時刻５０１から一定の時間が経過したら削除してもよい。このとき、その検索によって得られたファイル１１０のうち、一度も開けられなかったファイル１１０のキーワード４０６から、そのエントリのキーワード５０４を削除してもよい。
【００５１】
図６は、ファイルオープンルーチン２０１のフローチャートである。
【００５２】
ファイルオープンルーチン２０１は、ファイル１１０を開くサブルーチンであり、クライアントコンピュータ１０１によって呼び出される。
【００５３】
クライアントコンピュータ１０１によってファイルオープンルーチン２０１が呼び出されると、ファイルオープンルーチン２０１は、呼び出したクライアントコンピュータ１０１からユーザ名Ｕ及びファイル名Ｆを得る（６０１）。
【００５４】
次に、ディスク装置１０５内のファイル名４０３がＦのファイル１１０を開く（６０２）。
【００５５】
次に、操作履歴テーブル１０９から、操作５０２が「ｓｅａｒｃｈ」、ユーザ５０３がＵであるエントリＥを探す（６０３）。なお、操作５０２が「ｓｅａｒｃｈ」であるエントリＥは、メタデータ検索ルーチン３０４によって登録される（図１１）。
【００５６】
次に、そのエントリＥが存在するか否かを判定する（６０４）。エントリＥが存在しない場合は、そのファイル１１０が検索の結果として得られたファイルではない（すなわち、そのファイル１１０を開く動作が検索とは無関係に行われた）と判断し、操作履歴テーブルに新しいエントリを追加せずに、ファイルオープンルーチン２０１を終了する。
【００５７】
一方、エントリＥが存在する場合は、そのファイル１１０は、ユーザＵがエントリＥのキーワード５０４を用いて検索した結果として得られたものであると判断し、エントリＥのキーワード５０４の値Ｋを取得し（６０５）、操作履歴テーブル１０９に新しいエントリを追加して（６０６）、ファイルオープンルーチン２０１を終了する。この新しいエントリは、時刻５０１を現在時刻、操作５０２を「ｏｐｅｎ」、ユーザ５０３をＵ、キーワード５０４をＫ、ファイル名５０５をＦとする。
【００５８】
図７は、ファイルクローズルーチン２０２のフローチャートである。
【００５９】
ファイルクローズルーチン２０２は、開いているファイル１１０を閉じるサブルーチンであり、クライアントコンピュータ１０１によって呼び出される。
【００６０】
クライアントコンピュータ１０１によってファイルクローズルーチン２０２が呼び出されると、ファイルクローズルーチン２０２は、呼び出したクライアントコンピュータ１０１からユーザ名Ｕ及びファイル名Ｆを得る（７０１）。
【００６１】
次に、ファイル名４０３がＦであるファイル１１０を閉じる（７０２）。
【００６２】
次に、操作履歴テーブル１０９から、操作５０２が「ｏｐｅｎ」、ユーザ５０３がＵ、ファイル名５０５がＦであるエントリＥを探し、そのエントリＥから時刻５０１の値Ｔ及びキーワード５０４の値Ｋを取得し、そのエントリＥを操作履歴テーブル１０９から削除する（７０３）。
【００６３】
次に、時刻Ｔから現在時刻までの時間を算出し、所定の時間と比較する（７０４）。図７の例では、この所定の時間を１０分とする。
【００６４】
時刻Ｔから現在時刻までの時間が１０分より長くない場合は、ファイル１１０を閲覧していた時間が短いため、ファイル１１０が目的のファイルではなかったと判定し、メタデータ１１１を変更せずにファイルクローズルーチン２０２を終了する。
【００６５】
一方、時刻Ｔから現在時刻までの時間が１０分より長い場合は、ファイル１１０を閲覧していた時間が長いため、そのファイル１１０が目的のファイルであったと判定する。キーワードＫは、そのファイル１１０を検索するための重要なキーワードであるため、メタデータ変更ルーチン２０６を呼び出し、そのファイル１１０のメタデータ１１１の重要キーワード４０７の属性値４０２にキーワードＫを追加して（７０５）、ファイルクローズルーチン２０２を終了する。
【００６６】
図８は、詳細検索ルーチン３０１のフローチャートである。
【００６７】
詳細検索ルーチン３０１は、キーワードによる詳細な検索を行うサブルーチンであり、クライアントコンピュータ１０１から呼び出される。具体的には、キーワードを用いてメタデータ検索ルーチン３０４を実行し、その結果としてファイル１１０が得られたか否かに関らず、次に全文検索ルーチン３０３を実行する。
【００６８】
クライアントコンピュータ１０１によって詳細検索ルーチン３０１が呼び出されると、詳細検索ルーチン３０１は、呼び出したクライアントコンピュータ１０１からユーザ名Ｕ、検索キーワードＫ及びキーワード更新禁止フラグＸを得る（８０１）。
【００６９】
次に、メタデータ検索ルーチン３０４を呼び出し、メタデータ１１１のキーワード４０６及び重要キーワード４０７を対象に、検索キーワードＫによる検索（メタデータ検索）を実行する（８０２）。
【００７０】
次に、全文検索ルーチン３０３を呼び出し、本文データ１１２を対象に、検索キーワードＫによる検索を実行する（８０３）。
【００７１】
次に、メタデータ検索ルーチン３０４及び全文検索ルーチン３０３の実行の結果として得られたファイル１１０のリストをクライアントコンピュータ１０１に返す（８０４）。
【００７２】
このとき、検索キーワードＫを重要キーワード４０７中に含むファイル１１０をリストの上位に挙げてもよい。そのようなファイル１１０は、検索の目的のファイルである可能性が高いためである。
【００７３】
この場合、メタデータ検索ルーチン３０４において、重要キーワード４０７のみを対象とした検索を先に実行し、その検索結果のリストを作成し、その後に、キーワード４０６を対象とした検索結果のリストと、全文検索ルーチン３０３の実行によって得られたリストを付加してもよい。
【００７４】
図９は、簡易検索ルーチン３０２のフローチャートである。
【００７５】
簡易検索ルーチン３０２は、キーワードによる簡易な検索を行うサブルーチンであり、クライアントコンピュータ１０１から呼び出される。具体的には、キーワードを用いてメタデータ検索ルーチン３０４を実行し、その結果としてファイル１１０が得られなかった場合に限り、次に全文検索ルーチン３０３を実行する。
【００７６】
クライアントコンピュータ１０１によって簡易検索ルーチン３０２が呼び出されると、簡易検索ルーチン３０２は、呼び出したクライアントコンピュータ１０１からユーザ名Ｕ、検索キーワードＫ及びキーワード更新禁止フラグＸを得る（９０１）。
【００７７】
次に、メタデータ検索ルーチン３０４を呼び出し、メタデータ１１１のキーワード４０６及び重要キーワード４０７を対象に、検索キーワードＫによる検索（メタデータ検索）を実行する（９０２）。次に、このメタデータ検索（９０２）の結果、ファイル１１０が得られたか否かを判定する（９０３）。ファイル１１０が一つ以上得られた場合は、全文検索ルーチン３０３を実行せずにステップ９０５へ進む。
【００７８】
一方、メタデータ検索（９０２）の結果、ファイル１１０が一つも得られなかった場合は、全文検索ルーチン３０３を呼び出し、本文データ１１２を対象に、検索キーワードＫによる検索を実行する（９０４）。
【００７９】
次に、これらの検索の結果として得られたファイル１１０のリストをクライアントコンピュータ１０１に返す（９０５）。
【００８０】
このとき、検索キーワードＫを重要キーワード４０７中に含むファイル１１０をリストの上位に挙げてもよい。そのようなファイル１１０は、検索の目的のファイルである可能性が高いためである。
【００８１】
この場合、メタデータ検索ルーチン３０４において、重要キーワード４０７のみを対象とした検索を先に実行し、その検索結果のリストを作成し、その後に、キーワード４０６を対象とした検索結果のリストと、全文検索ルーチン３０３の実行によって得られたリストを付加してもよい。
【００８２】
図１０は、全文検索ルーチン３０３のフローチャートである。
【００８３】
全文検索ルーチン３０３は、ファイル１１０の本文データ１１２を対象としてキーワード検索を実行し、検索結果をファイルのリストとして呼び出したルーチンに返すサブルーチンであり、詳細検索ルーチン３０１又は簡易検索ルーチン３０２によって呼び出される。
【００８４】
詳細検索ルーチン３０１又は簡易検索ルーチン３０２によって全文検索ルーチン３０３が呼び出されると、全文検索ルーチン３０３は、呼び出したルーチンからユーザ名Ｕ、検索キーワードＫ及びキーワード更新禁止フラグＸを得る（１００１）。
【００８５】
ここで、キーワード更新禁止フラグＸは、ユーザのプライバシーを保護するために設けられるフラグであり、この値が「ＯＮ」であるときは、検索の結果に関らず、メタデータ１１１のキーワード４０６及び重要キーワード４０７並びに操作履歴テーブル１０９を更新しない。
【００８６】
このキーワード更新禁止フラグＸの値は、ユーザの操作画面（図示省略）にキーワード４０６等を更新するか否かを確認するダイアログボックスを表示して、ユーザに入力させてもよい。
【００８７】
次に、ディスク装置１０５内の全てのファイル１１０を対象として、ファイルオープンルーチン２０１及びファイルリードルーチン２０３を呼び出して本文データ１１２にアクセスし、本文データ１１２に検索キーワードＫが含まれるか否か調査する（１００２）。
【００８８】
次に、本文データ１１２の検索でヒットしたファイル１１０（すなわち、本文データ１１２に検索キーワードＫを含むファイル１１０）のリストを作成し、そのリストを、全文検索ルーチン３０３を呼び出したルーチンに返す（１００３）。
【００８９】
次に、フラグＸが「ＯＮ」であるか否かを判定し（１００４）、「ＯＮ」であった場合は、全文検索ルーチン３０３を終了する。
【００９０】
一方、フラグＸが「ＯＮ」でなかった場合は、本文データ１１２の検索でヒットした全てのファイル１１０を対象として、メタデータ変更ルーチン２０６を呼び出して、それぞれのファイル１１０のメタデータ１１１のキーワード４０６の属性値４０２に検索キーワードＫを追加して（１００５）、全文検索ルーチン３０３を終了する。
【００９１】
図１１は、メタデータ検索ルーチン３０４のフローチャートである。
【００９２】
メタデータ検索ルーチン３０４は、ファイル１１０のメタデータ１１１を対象としてキーワード検索を実行し、検索結果をファイルのリストとして呼び出したルーチンに返すサブルーチンであり、詳細検索ルーチン３０１又は簡易検索ルーチン３０２によって呼び出される。
【００９３】
詳細検索ルーチン３０１又は簡易検索ルーチン３０２によってメタデータ検索ルーチン３０４が呼び出されると、メタデータ検索ルーチン３０４は、呼び出したルーチンからユーザ名Ｕ、検索キーワードＫ及びキーワード禁止フラグＸを得る（１１０１）。
【００９４】
次に、ディスク装置１０５内の全てのファイル１１０について、メタデータ読み取りルーチン２０５を呼び出してメタデータ１１１にアクセスし、メタデータ１１１のキーワード４０６又は重要キーワード４０７の属性値４０２に検索キーワードＫが含まれるか否かを調査する（１１０２）。
【００９５】
次に、メタデータ１１１の検索でヒットしたファイル１１０（すなわち、メタデータ１１１のキーワード４０６又は重要キーワード４０７の属性値４０２に検索キーワードＫを含むファイル１１０）のリストを作成し、そのリストを、メタデータ検索ルーチン３０４を呼び出したルーチンに返す（１１０３）。
【００９６】
このとき、検索キーワードＫを重要キーワード４０７中に含むファイル１１０をリストの上位に挙げてもよい。そのようなファイル１１０は、検索の目的のファイルである可能性が高いためである。
【００９７】
この場合、メタデータ検索ルーチン３０４において、重要キーワード４０７のみを対象とした検索を先に実行し、その検索結果のリストを作成し、その後に、キーワード４０６を対象とした検索結果のリストを付加してもよい。
【００９８】
次に、フラグＸが「ＯＮ」であるか否かを判定し（１１０４）、「ＯＮ」であった場合は、メタデータ検索ルーチン３０４を終了する。
【００９９】
一方、フラグＸが「ＯＮ」でなかった場合は、操作履歴テーブル１０９に、新しいエントリを追加して（１１０５）、メタデータ検索ルーチン３０４を終了する。この新しいエントリは、時刻５０１を現在時刻、操作５０２を「ｓｅａｒｃｈ」、ユーザ５０３をＵ、キーワード５０４をＫとする。ただし、操作履歴テーブル１０９に、操作５０２が「ｓｅａｒｃｈ」であり、ユーザ５０３がＵであり、かつ、キーワード５０４がＫであるエントリが存在する場合は、当該エントリの時刻５０１を現在時刻に更新する。
【０１００】
本発明によれば、各ファイルがメタデータを有し、そのメタデータにそのファイルを検索するキーワード情報が含まれるため、メタデータを対象とした高速なキーワード検索を実現することができる。また、ファイルを別のコンピュータシステムに移動させると、キーワード情報もファイルと共に移動するため、移動後も移動前と同様に高速なキーワード検索を行うことができる。
【０１０１】
また、検索結果として得られたファイルのうち、目的のファイルについては、その検索に用いたキーワードを重要キーワードとしてメタデータに登録し、その重要キーワードの検索によって得られたファイルを検索結果の上位に表示することによって、ユーザの利便性が向上する。更に、重要キーワードの登録は、ユーザがファイルを閲覧した時間等に基づいて自動的に行うことができる。
【０１０２】
また、キーワード情報等を更新しないことをユーザが選択することによって、そのユーザがいつ、どのファイルにアクセスしたか等の情報が残らないため、ユーザのプライバシーを保護することができる。
【０１０３】
なお、上記実施形態においては、本発明をファイルシステムに適用した例を示したが、本発明は、文書管理システムやストレージ装置等にも適用することができる。
【０１０４】
本発明を文書管理システムに適用する場合、上記ファイル検索プログラム１０８とメタデータ読み取りルーチン２０５及びメタデータ変更ルーチン２０６を実装すればよい。この場合、図１のファイル１１０がメタデータ１１１と本文データ１１２を含む管理対象の文書に相当し、メタデータ読み取りルーチン２０５がメタデータ１１１を読み取り、メタデータ変更ルーチン２０６がメタデータ１１１を変更し、ファイル検索プログラム１０８が文書の検索を実行する。
【０１０５】
本発明をストレージ装置に適用する場合、上記ファイルシステム及び操作履歴テーブルを実装すればよい。この場合、図１のファイルサーバ１０３が、本発明を適用したストレージ装置である。
【産業上の利用可能性】
【０１０６】
本発明は、オペレーティングシステムやデータベースのファイルシステムに利用することができ、高速で利便性の高い検索の実現に寄与する。
【図面の簡単な説明】
【０１０７】
【図１】本発明のファイルシステムを適用したコンピュータシステムのブロック図である。
【図２】ファイルアクセスプログラムの構成の説明図である。
【図３】ファイル検索プログラムの構成の説明図である。
【図４】メタデータの内容の説明図である。
【図５】操作履歴テーブルの説明図である。
【図６】ファイルオープンルーチンのフローチャートである。
【図７】ファイルクローズルーチンのフローチャートである。
【図８】詳細検索ルーチンのフローチャートである。
【図９】簡易検索ルーチンのフローチャートである。
【図１０】全文検索ルーチンのフローチャートである。
【図１１】メタデータ検索ルーチンのフローチャートである。
【符号の説明】
【０１０８】
１０１  クライアントコンピュータ
１０２  ネットワーク
１０３  ファイルサーバ
１０４  プロセッサ装置
１０５  ディスク装置
１０６  ファイルシステム
１０７  ファイルアクセスプログラム
１０８  ファイル検索プログラム
１０９  操作履歴テーブル
１１０  ファイル
１１１  メタデータ
１１２  本文データ
【図１】
2005309727.tif 000003
【図２】
2005309727.tif 000004
【図３】
2005309727.tif 000005
【図４】
2005309727.tif 000006
【図５】
2005309727.tif 000007
【図６】
2005309727.tif 000008
【図７】
2005309727.tif 000009
【図８】
2005309727.tif 000010
【図９】
2005309727.tif 000011
【図１０】
2005309727.tif 000012
【図１１】
2005309727.tif 000013