(57)【要約】【課題】  本発明の一態様では、検索エンジンが検索を実行する為に使用するインデックス情報を生成し保守する為に、検索エンジンは一つ以上のファイルサーバ間に保存されているファイルを精査する。ファイルサーバが検索エンジンに提示するファイル数は、インデックスの更新プロセスを容易にする為に、縮小される。【解決手段】  本発明の他の態様では、ファイルサーバは、検索エンジンによるディレクトリリスト要求で提示するファイルを制限する。これによって、インデックス更新で考慮しなければならないファイル数が減少する。【選択図】  図１
2005122702.tif 000002
【特許請求の範囲】
【請求項１】
ファイルサーバ内に複数のファイルを保存するステップと；
前記ファイルサーバ内の一つ以上の前記ファイルへの操作をモニタするステップと；
前記ファイルサーバ内のファイルが更新されたら、更新済ファイルを表示する情報を持つ更新済ファイルリスト内に該ファイルを表示する情報を追加するステップと；
前記ファイルサーバ内の一つ以上の前記ファイルの解析によって生成される情報から成り、該ファイルサーバ以外の第一のコンピュータによりアクセスされるインデックスを提供するステップと；
前記更新済ファイルリストから情報を取得して、該更新済ファイルリストに含まれる各ファイルを特定するステップと；
更新済ファイルに対してのみ更新が実行されるように、前記更新済ファイルリストに含まれる各ファイルに対して、該ファイルの解析によって生成される情報により前記インデックスを更新するステップと
を含むことを特徴とするデータにアクセスするための方法。
【請求項２】
前記更新済ファイルリストから情報を取得するステップは、該更新済ファイルリスト内で参照された一つ以上のファイルを表示する第一の情報を前記第一のコンピュータに送信するステップを含むことを特徴とする請求項１の方法。
【請求項３】
前記更新済ファイルリストは前記ファイルサーバ内に保存されることを特徴とする請求項２の方法。
【請求項４】
前記第一の情報は前記更新済ファイルリストに含まれるファイル参照から成ることを特徴とする請求項２の方法。
【請求項５】
前記第一の情報は前記更新済ファイルリストで参照される前記ファイルのコピーから成ることを特徴とする請求項２の方法。
【請求項６】
前記更新済ファイルリストは第一のファイルに保存され、該更新済ファイルリストから情報を取得するステップは、該第一のファイルのコピーを前記第一のコンピュータに送信するステップを含むことを特徴とする請求項１の方法。
【請求項７】
前記第一のファイルは前記ファイルサーバに保存されることを特徴とする請求項６の方法。
【請求項８】
前記インデックスが更新されたら前記更新済ファイルリストをクリアするステップを更に含む請求項１の方法において、該更新済ファイルリストの内容は削除されることを特徴とする請求項１の方法。
【請求項９】
前記更新ステップは前記第一のコンピュータで実行されることを特徴とする請求項８の方法。
【請求項１０】
前記インデックスは前記第一のコンピュータに保存されることを特徴とする請求項１の方法。
【請求項１１】
前記第一のコンピュータは検索エンジンサーバであり、前記インデックスは前記ファイルサーバに保存されているファイルの検索の実行を簡便にすることを特徴とする請求項１０の方法。
【請求項１２】
複数のファイルを保存するステップと；
第一のファイルに対してファイル操作を行う要求を受信するステップと；
前記ファイル操作が書き込み操作なら、前記第一のファイルを指定する参照を内容の更新されたファイルのみの参照から成る更新済ファイルリストに保存するステップと；
第一のコンピュータから前記更新済ファイルリストに対する要求を受信し、該要求に応答して、該更新済ファイルリスト内の情報を該第一のコンピュータに送信するステップと；
情報を送信する前記ステップの後に、前記更新済ファイルリストに含まれる該情報を削除するステップと；
を含むことを特徴とするデータにアクセスするための方法。
【請求項１３】
一つ以上の前記ファイル操作は、複数の書き込み操作から成り、前記参照情報を保存するステップは、最初の書き込み操作の検出時のみ実行されることを特徴とする請求項１２の方法。
【請求項１４】
前記最初の書き込み操作はクリア要求の受信の後に受信されることを特徴とする請求項１３の方法。
【請求項１５】
前記情報を送信するステップは、前記第一のコンピュータに前記更新済ファイルリストの内容を送信することを含むことを特徴とする請求項１２の方法。
【請求項１６】
前記更新済ファイルリストのコピーが前記第一のコンピュータに送信されることを特徴とする請求項１５の方法。
【請求項１７】
前記第一のコンピュータから前記更新済ファイルリストで指定されているファイルの読み取り操作要求を受信し、該要求の各々に応答して、該要求されたファイルを該第一のコンピュータに送信するステップを更に含むことを特徴とする請求項１６の方法。
【請求項１８】
前記第一のコンピュータは検索エンジンであることを特徴とする請求項１７の方法。
【請求項１９】
前記情報を送信するステップは、前記更新済ファイルリストで参照されている各ファイルのコピーを前記第一のコンピュータに提供するステップを含むことを特徴とする請求項１２の方法。
【請求項２０】
複数のファイルを保存するストレージと；
更新済ファイルリストと；
第一のファイルに対して実行するファイル操作要求を受信するステップと；
前記ファイル操作が書き込み操作なら、前記第一のファイルへの参照を内容の更新されたファイルのみの参照から成る前記更新済ファイルリストに保存するステップと；
第一のコンピュータから前記更新済ファイルリストに対する要求を受信し、該要求に応答して、該更新済ファイルリスト内の情報を該第一のコンピュータに送信するステップと；
情報を送信する前記ステップの後に、前記更新済ファイルリストに含まれる該情報を削除するステップと；
から成る方法を実行するように構成されるファイルサーバ制御部と；
を有することを特徴とするファイルサーバ。
【請求項２１】
前記第一のコンピュータは検索エンジンであることを特徴とする請求項２０のファイルサーバ。
【請求項２２】
検索要求を受信し、該要求に応答して、該検索要求に関連する検索基準を用いて、一つ以上のファイルサーバに保存されているファイルに基づく情報から成るインデックスにアクセスして、該検索基準にマッチする全てのファイルを指定する情報を取得し、検索結果の形で情報を送信するステップと；
第一のファイルサーバ内に含まれ第一の時点以降更新されたファイルのみを表示するファイル情報を該第一のファイルサーバから受信するステップと；
各ファイルのうち前記第一の時点以降更新されたファイルのみに対して：
該ファイルにアクセスするステップと；
インデックス情報を生成する為に該ファイルを精査するステップと；
該インデックス情報で該インデックスを更新するステップと；
から成る、インデックスを更新するステップと；
を含むことを特徴とするファイルサーバからファイルにアクセスする方法。
【請求項２３】
前記第一の時点は、前記第一のファイルサーバからのファイルに基づいて、前記インデックスの前回の更新が実行された時点であることを特徴とする請求項２２の方法。
【請求項２４】
前記インデックスを生成するステップを更に含む請求項２２の方法において、前記第一の時点は、前記インデックス生成後の時点であることを特徴とする請求項２２の方法。
【請求項２５】
前記第一のファイルサーバから複数の第一のファイルにアクセスするステップと；
インデックス情報を生成する為に、前記第一のファイルの一つを精査するステップと；
前記インデックス内に前記インデックス情報を追加して、前記第一のファイルの一つをインデックス付けするステップと；
を含むインデックスを生成するステップを更に含む請求項２２の方法において、
前記精査及び追加するステップは前記第一のファイルの各々に対して繰り返し、
前記第一の時点は、前記第一のファイルの全てにインデックス付けを完了した後の時点であることを特徴とする請求項２２の方法。
【請求項２６】
前記複数の第一のファイルへのインデックス付けに際して、第一の要求を前記第一のファイルサーバに送信するステップを更に含む請求項２５の方法において、前記第一の時点は該ファイルサーバが該第一の要求を受信した時点に基づいて決められることを特徴とする請求項２５の方法。
【請求項２７】
インデックスを生成するステップは更に：
第二のファイルサーバから複数の第二のファイルにアクセスするステップと；
インデックス情報を生成する為に、前記第二のファイルの一つを精査するステップと；
前記インデックス内に前記インデックス情報を追加して、前記第二のファイルの一つをインデックス付けするステップと；
を含み、
前記精査及び追加するステップは前記第二のファイルの各々に対して繰り返される
ことを特徴とする請求項２５の方法。
【請求項２８】
前記インデックスを更新するステップは複数のファイルサーバに対して実行され、各ファイルサーバは、該インデックスが該ファイルサーバからのファイルに対して前回更新された時点に引き続く、自らの第一の時点に関連付けられることを特徴とする請求項２２の方法。
【請求項２９】
前記インデックスを生成するステップを更に含む請求項２８の方法において、前記第一の時点は前記インデックス生成後の時点であることを特徴とする請求項２８の方法。
【請求項３０】
前記第一の時点は前記インデックスの前回更新後の時点であることを特徴とする請求項２８の方法。
【請求項３１】
前記インデックスを更新するステップは複数の追加ファイルサーバに対して繰り返され、各追加ファイルサーバで前記第一の時点以降に更新されたファイルのみがアクセスされ精査されることを特徴とする請求項２２の方法。
【請求項３２】
ファイルアクセス制御部と；
前記ファイルアクセス制御部がアクセス可能なインデックスと；
前記ファイルアクセス制御部を制御して、請求項２２の方法のステップを実行するように構成されるコンピュータプログラムコードと；
を有することを特徴とするファイルにアクセスする為のコンピュータ。
【請求項３３】
検索エンジン制御部と；
前記検索エンジン制御部がアクセス可能なインデックスと；
前記検索エンジン制御部を制御して、請求項２２の方法のステップを実行するように構成されるコンピュータプログラムコードと；
を有することを特徴とする検索エンジンサーバ。
【請求項３４】
第一のファイルサーバと；
前記第一のファイルサーバと交信するように構成された第二のサーバと；
前記第一のファイルサーバに保存されているファイルから取得されるインデックス情報から成り、前記第二のサーバがアクセス可能なインデックスファイルと；
前記第一のファイルサーバがアクセス可能な第一の更新ファイルと；
を有し、
前記第一のファイルサーバは、第一の時点以降内容が更新された前記第一のファイルサーバ内のファイルに対してファイル参照を第一の更新済ファイルリストに追加し、前記第一の更新済ファイルリストに含まれる第一の更新情報を前記第二のサーバに提供するように構成され、
前記第二のサーバは：
前記第一の更新情報を受信し；
該第一の更新情報で参照されているファイルにアクセスし；
インデックス情報を生成する為に該ファイルの各々を解析し；
前記インデックス情報によりインデックスを更新し；
それにより、前記第一のファイルサーバに保存されているファイルへの該インデックスの更新は、前記第一の更新済ファイルリストで参照されているファイルのみのアクセスで行われるように構成される、
ことを特徴とするデータにアクセスする為のシステム。
【請求項３５】
前記第二のサーバは検索エンジンサーバであることを特徴とする請求項３４のシステム。
【請求項３６】
前記第一の時点は、前記インデックスが生成された後の時点であることを特徴とする請求項３４のシステム。
【請求項３７】
前記第二のサーバは更に、前記インデックスを生成し、該インデックスが生成された後に前記第一のファイルサーバに第一の要求を送信するように構成され、前記第一の時点は該第一のファイルサーバが該第一の要求を受信した後の時点であることを特徴とする請求項３６のシステム。
【請求項３８】
前記第二のサーバは更に、前記インデックスが更新された後、前記第一のファイルサーバに第一の要求を送信するように構成され、該第一のファイルサーバは更に、該第一の要求の受信を契機に前記第一の更新済ファイルリストをクリアするように構成され、前記第一の時点は、該第一の更新済ファイルリストがクリアされた後の時点であることを特徴とする請求項３６のシステム。
【請求項３９】
第二のファイルサーバと該第二のファイルサーバがアクセス可能な第二の更新済ファイルリストを更に有し、する請求項３４のシステムにおいて、
前記第二のサーバは更に、前記第二のファイルサーバと交信するように構成され、
前記インデックスは更に、前記第二のファイルサーバに保存されているファイルから取得されたインデックス情報を有し、
前記第二のファイルサーバは、該第二のファイルサーバ内の内容が第二の時点以降更新されたファイルに対する参照を前記第二の更新済ファイルリストに追加し、更に、該第二の更新済ファイルリストに含まれる第二の更新情報を前記第二のサーバに提供するように構成され、
前記第二のサーバは更に、前記第二の更新済ファイルリストで参照されるファイルに基づいて前記インデックスを更新するように構成される、
ことを特徴とする請求項３４のシステム。
【請求項４０】
前記第二の時点は前記インデックスの生成後の時点であることを特徴とする請求項３９のシステム。
【請求項４１】
前記第二のサーバは更に、前記インデックスを生成し、該インデックス生成後、前記第一のファイルサーバと前記第二のファイルサーバに第一の要求を送信するように構成され、前記第一の時点は該第一のファイルサーバが該第一の要求を受信した後の時点であり、前記第二の時点は該第二のファイルサーバが該第一の要求を受信した後の時点であることを特徴とする請求項３９のシステム。
【請求項４２】
ファイルサーバ内に一つ以上のファイルを保存するステップと；
前記ファイルサーバの第一のディレクトリに対して、第一のコンピュータから発行される第一のディレクトリリスト要求を受信するステップと；
前記第一のコンピュータからの前記第一のディレクトリリスト要求の受信を契機に、前記第一のディレクトリの内容を表示する第一のディレクトリリスティングを生成するステップと；
前記ファイルサーバの前記第一のディレクトリに対して、第二のコンピュータから発行される第二のディレクトリリスト要求を受信するステップと；
前記第二のコンピュータからの前記第二のディレクトリリスト要求の受信を契機に、前記第一のディレクトリの内容を表示する第二のディレクトリリスティングを生成し、該第二のディレクトリリスティングに表示されるファイルは、ファイル選別テーブルに含まれる一つ以上の基準に基づくようにするステップと；
前記第二のコンピュータに於いて、前記第二のディレクトリリスティングに基づいてインデックスを更新するステップと；
を含むことを特徴とするデータにアクセスする方法。
【請求項４３】
前記第二のコンピュータは検索エンジンサーバであることを特徴とする請求項４２の方法。
【請求項４４】
前記一つ以上の基準は、ファイルタイプ、ファイル所有者情報、ファイル生成日、ファイルサイズの何れか一つ以上に基づくことを特徴とする請求項４２の方法。
【請求項４５】
前記ファイル選別テーブルは、前記第二のディレクトリリスティングから除外されるべきファイルであるか否かを表示する一つ以上のファイルタイプから成ることを特徴とする請求項４２の方法。
【請求項４６】
前記ファイル選別テーブルは更に、ファイル所有者情報、ファイル生成日、ファイルサイズの何れか一つ以上から成ることを特徴とする請求項４５の方法。
【請求項４７】
前記ファイル選別テーブルは、前記第二のディレクトリリスティングに含まれるべきファイルを指定することを特徴とする請求項４２の方法。
【請求項４８】
前記ファイル選別テーブルは、前記第二のディレクトリリスティングから除外すべきファイルを指定することを特徴とする請求項４２の方法
【請求項４９】
前記ファイル選別テーブルは、前記第二のディレクトリリスティングに対して、包含すべきファイルと除外すべきファイルを指定することを特徴とする請求項４２の方法。
【請求項５０】
ファイルサーバのファイルシステムに一つ以上のファイルを保存するステップと；
複数のコンピュータシステムに対して、前記ファイルシステムの複数のエクスポートを提供するステップと；
前記ファイルサーバに保存されている第一のディレクトリに対するディレクトリリスト要求を第一のコンピュータシステムから受信するステップと；
前記第一のコンピュータシステムが前記エクスポートの既定の一つをマウントしていなかったら、前記第一のディレクトリの内容を表示する第一のディレクトリリスティングを生成するステップと；
前記第一のコンピュータシステムが前記エクスポートの既定の一つをマウントしていたら、前記第一のディレクトリの内容を表示する第二のディレクトリリスティングを生成するステップと；
を含み、
前記第二のディレクトリリスティングで表示されるファイルは、ファイル選別テーブルに含まれる一つ以上の基準に基づいて決定され、前記第一のコンピュータシステムのインデックスは該第二のディレクトリリスティング内の情報に基づいて更新される、
ことを特徴とするデータにアクセスする方法。
【請求項５１】
前記第一のコンピュータシステムは検索エンジンサーバであることを特徴とする請求項５０の方法。
【請求項５２】
前記ファイル選別テーブルは前記第二のディレクトリリスティングに包含すべきファイルを指定することを特徴とする請求項５０の方法。
【請求項５３】
前記ファイル選別テーブルは前記第二のディレクトリリスティングから除外すべきファイルを指定することを特徴とする請求項５０の方法。
【請求項５４】
ファイルサーバのファイルシステムに一つ以上のファイルを保存するステップと；
第一のコンピュータシステムの表示子から成るソース情報を含み、前記ファールサーバに含まれる第一のディレクトリに対するディレクトリリスト要求を該第一のコンピュータシステムから受信するステップと；
前記第一のコンピュータシステムの前記表示子が既定の表示子と異なる場合には、前記第一のディレクトリの内容を表示する第一のディレクトリリスティングを生成するステップと；
前記第一のコンピュータシステムの前記表示子が既定の表示子に一致する場合には、前記第一のディレクトリの内容を表示する第二のディレクトリリスティングを生成するステップと；
を含み、
前記第二のディレクトリリスティングで表示されるファイルは、ファイル選別テーブルに含まれる一つ以上の基準に基づいて決定され、前記第一のコンピュータシステムのインデックスは該第二のディレクトリリスティング内の情報に基づいて更新される、
ことを特徴とするデータにアクセスする方法。
【請求項５５】
前記表示子はＩＰ（インターネットプロトコル）アドレスであることを特徴とする請求項５４の方法。
【請求項５６】
ファイルサーバに於いて：
ファイルをファイルシステムの中に編成するステップと；
複数のコンピュータシステムに前記ファイルシステムへのアクセスを提供するステップと；
一つ以上の既定のコンピュータシステムを表示する情報を保存するステップと；
ファイルサーバに保存されている第一のディレクトリに対するディレクトリリスト要求を第一のコンピュータシステムから受信するステップと；
前記第一のコンピュータシステムが既定のコンピュータシステムの一つではない場合には、前記第一のディレクトリの内容を表示する第一のディレクトリリスティングを生成するステップと；
前記第一のコンピュータシステムが既定のコンピュータシステムの一つの場合には、前記第一のディレクトリの内容を表示する第二のディレクトリリスティングを生成するステップと；
を含み、
前記第二のディレクトリリスティングで表示されるファイルは、ファイル選別テーブルに含まれる一つ以上の基準に基づいて決定される、
ことを特徴とするファイルサーバ内のファイルへのアクセスを提供する方法。
【請求項５７】
前記ファイル選別テーブルは、ファイルタイプによってファイルを前記第二のディレクトリリスティングから除外すべきか否かを指定する、一つ以上のファイルタイプを含むことを特徴とする請求項５６の方法。
【請求項５８】
前記ファイル選別テーブルは更に、ファイル所有者情報、ファイル生成日、ファイルサイズのうち何れか一つ以上を含むことを特徴とする請求項５７の方法。
【請求項５９】
前記ファイル選別テーブルは、ファイルを前記第二のディレクトリリスティングから除外すべきか否かを指定する、一つ以上の基準を含むことを特徴とする請求項５６の方法
【請求項６０】
前記ファイル選別テーブルは、ファイルを前記第二のディレクトリリスティングに包含すべきかを否かを指定する、一つ以上の基準を含むことを特徴とする請求項５６の方法。
【請求項６１】
前記ファイル選別テーブルは、ファイルを前記第二のディレクトリリスティングに包含すべきか否かを指定する一つ以上の第一の基準と、ファイルを前記第二のディレクトリリスティングから除外すべきか否かを指定する一つ以上の第二の基準を含むことを特徴とする請求項５６の方法。
【請求項６２】
前記一つ以上のコンピュータシステムに対して一つ以上のエクスポートを提供するステップを更に含む請求項５６の方法において、前記既定の一つ以上のコンピュータシステムはマウントした該エクスポートによって特定され、これによって、ディレクトリリスティングを生成する前記ステップは前記第一のコンピュータシステムがマウントした該一つ以上のエクスポートに基づくことを特徴とする請求項５６の方法。
【請求項６３】
前記既定の一つ以上のコンピュータシステムはソースアドレスによって特定され、これによって、ディレクトリリスティングを生成する前記ステップは、前記第一のコンピュータシステムのソースアドレスに基づくことを特徴とする請求項５６の方法。
【請求項６４】
前記ソースアドレスはＩＰアドレスであることを特徴とする請求項６３の方法。
【請求項６５】
複数のファイルを保存するストレージと；
ファイル選別テーブルと；
請求項５６の方法のステップを実行するように構成されるファイルサーバ制御部と；
を有することを特徴とするファイルサーバ。
【請求項６６】
ファイルサーバの第一のファイルへの書き込み操作を検出するステップと；
一つ以上のファイル選別基準に基づいて、前記第一のファイルの表示を更新済ファイルリストに選択的に追加するステップと：
を含み、
前記検出と選択的追加のステップは、前記ファイルサーバ内の追加のファイルに対して繰り返され、更に、
前記更新済ファイルリストの内容に関する更新情報を第一のコンピュータに送信するステップと；
前記更新情報の送信に引き続いて、前記更新済ファイルリストをクリアするステップと；
前記第一のコンピュータに於いて、前記更新情報に基づいて前記ファイルサーバに含まれるファイルへのアクセスを包含する検索インデックスを更新するステップと；
を含むことを特徴とするファイルへのアクセス方法。
【請求項６７】
前記ファイル選別基準は、ファイルタイプ、ファイル所有者、ファイル生成日、及びファイルサイズの何れか一つ以上を指定することを特徴とする請求項６６の方法。
【請求項６８】
前記更新情報は、前記更新済ファイルリスト内のファイル参照情報から成ることを特徴とする請求項６６の方法。
【請求項６９】
前記更新情報は、前記更新済ファイルリスト内で参照されているファイルのコピーから成ることを特徴とする請求項６６の方法。
【請求項７０】
前記更新済ファイルリストは第一のファイルに保存され、該更新済ファイルリストから情報を取得するステップは、該第一のファイルのコピーを前記第一のコンピュータに送信する事から成ることを特徴とする請求項６６の方法。
【請求項７１】
前記第一のコンピュータは検索エンジンであることを特徴とする請求項６６の方法。
【請求項７２】
ファイルサーバの第一のファイルへの書き込み操作を検出するステップと；
各第一のファイルに対して、一つ以上の選別基準に基づいて更新済ファイルリストに前記第一のファイルへの参照を選択的に追加するステップと；
第一のコンピュータから第一の要求を受信して、これを契機に前記更新済ファイルリストに関する更新情報を送信するステップと；
前記更新情報の送信後に前記更新済ファイルリストをクリアするステップと；
を含むことを特徴とするデータにアクセスする方法。
【請求項７３】
前記選別基準は、ファイルタイプ、ファイル所有者、ファイル生成日、及びファイルサイズの少なくとも一つを含むことを特徴とする請求項７２の方法。
【請求項７４】
前記選別基準は、ファイルを前記更新済ファイルリストに付加すべきか否かを指定することを特徴とする請求項７３の方法。
【請求項７５】
前記選別基準は、ファイルを前記更新済ファイルリストから除外すべきか否かを指定することを特徴とする請求項７３の方法。
【請求項７６】
前記更新情報は前記第一のコンピュータに送信される前記更新済ファイルリストのコピーであることを特徴とする請求項７２の方法。
【請求項７７】
前記更新情報は前記更新済ファイルリストで参照されたファイルのコピーから成ることを特徴とする請求項７２の方法。
【請求項７８】
前記第一のコンピュータは検索エンジンであることを特徴とする請求項７２の方法。
【請求項７９】
複数のファイルを保存するストレージと；
更新済ファイルリストと；
ファイル選別テーブルと；
請求項７２の方法のステップを実行するように構成されるファイルサーバ制御部と；
を有することを特徴とするデータへのアクセスを提供するファイルサーバ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はコンピュータファイルのアクセスに関連し、具体的には検索エンジンでのインデックス保守の性能向上に関連する。
【背景技術】
【０００２】
インターネットは一般に“Ｗｅｂ”(World Wide Web)に関連している。このＷｅｂは、Ｗｅｂにアクセスする何百万のユーザに対して、爆発的に増大する情報を提供してきた。この情報はＷｅｂサーバによって、ファイルの形で提供されてきた。しかしながら、インターネットは、Ｗｅｂ以前から掲示板やＦＴＰサイト等の形で、ファイルサーバによって提供されるファイルへのアクセスを可能にしてきた。
【０００３】
イントラネットも又会社やその他の組織で、私的ネットワークとしてファイル共用の為に使用されている。このケースでは、ファイルサーバ又はＮＡＳ(Network Attached Storage：ネットワーク接続ストレージ)が、ファイルを保存したり取得したりするのに共通に用いられている。ＮＦＳ及びＣＩＦＳプロトコルがファイルへのアクセスに使用されている。
【０００４】
検索エンジンは、インターネット検索やファイルサーバに於いて、貴重なツールになってきている。検索エンジンは、インターネットやファイルサーバ上の何百万と言うファイルにアクセスする為に一般に使用されるツールである。典型的には、検索エンジンはユーザからの検索要求を受付けて検索条件にマッチするファイルのリストを取得し送信する。
【０００５】
検索エンジンに必須なコンポーネントの一つは“インデックス”である。インデックスは、ファイルを精査し又は解析して得られる情報の集合で、検索エンジンがファイル検索し易くする為のキーワードや関連情報を含んでいる。このインデックスの具体的情報構成やデータ構造は検索エンジン毎に異なり、本発明の範囲外である。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、典型的検索エンジンによってなされる共通的操作があり、それには、インデックスの生成とその後に必要な更新等の保守作業がある。インデックスの生成では、典型的に、検索エンジンが各ファイルの更新日をチェックし、インターネット上やファイルサーバ上の全ての更新ファイルを読み込みその内容を精査して、インデックスを構築する。
【０００７】
ファイルの内容が時と共に更新される事は、不変の事実である。従って、検索エンジンはインデックスが常に現状を表すように、インデックスの更新を行わなければならない。この為には、Ｗｅｂやファイルサーバを這い回って、各ファイルの属性にアクセスして、当該ファイルが前回のインデックス更新以後更新されたか否か、又は最初のインデックス更新の場合はいつインデックスが生成されたかを判定しなければならない。この判定は例えば、前回のファイル更新日にアクセスして、インデックスとの比較をすることによって達成される。全てのフアイルを再インデックスするのではなく、インデックス更新時刻以降に更新されたファイルのみが対象となれば、更新負荷を減少させ、更新時間を改善させることが出来る。
【０００８】
それでも、全てのファイルの更新日はチェックしなければならず、この更新作業は厄介な仕事である。この為に、即ちファイルの属性をチェックするだけの為に、大きなボリュームの転送が必要となる。従って、インデックス操作の為のインターネットやイントラネットの転送量を減少させることは大変望ましい事である。インデックスの更新時間を更に減少させて更新負荷を更に減少させることも又望ましい事である。
【課題を解決するための手段】
【０００９】
本発明の一態様では、ファイルサーバ内に更新済ファイルリストが維持される。この更新済ファイルリストに基づく更新情報が、検索エンジンに伝えられる。この更新情報には、この検索エンジンでの前回のインデックス更新操作後に更新されたファイルのみが記されている。
【００１０】
本発明の他の態様では、ファイルサーバは、検索エンジン以外のクライアントに対して提示するディレクトリリスティングに比べて、限定されたディレクトリリスティングを検索エンジンに対しては提示する。検索エンジンに提示するファイル数を限定する為に、一つ以上の選別条件を使用する。これにより、検索インデックス更新を実行する為に検索エンジンが調べなければならないファイル数が減少する。
【００１１】
本発明の更に別の態様では、ファイルサーバが更新済ファイルリストを維持する。更新済ファイルリストで参照されるファイルは、一つ以上の選別条件によって選別される。
【発明の効果】
【００１２】
本発明のこの態様は、更新済ファイルリストに関連した議論と類似している事に注意願いたい。検索エンジンは、既に議論したように、ファイルシステムでのインデックスの更新を行おうとするときには、ファイルシステムに関連した更新済ファイルリストを調査する。かくのごとく、検索エンジンがインデックス更新を行う時には、更新済ファイルリスト内の参照されたファイルをアクセスして精査するのみでよい。更に、ファイル選別テーブルを使用すると、更新済ファイルリストのサイズは、更に減少する。これは、インデックス更新時間の大幅な短縮という望ましい効果をもたらす。
【発明を実施するための最良の形態】
【００１３】
図１は、本発明に従う、検索エンジン環境の一実施例についての基本アーキテクチュアの概略を説明する上位レベルのブロックダイアグラムである。この図にはネットワーク０１０３上のユーザがアクセス可能な一つ以上のファイルを持つ少なくとも一式のファイルサーバ０１０４が存在する。ファイルサーバ制御部０１０４０３に依ってファイルサーバに関連する慣用的な処理の実行が可能になる。この制御部には中央処理ユニット(ＣＰＵ)、メモリ、及びこのＣＰＵを稼動させるプログラムコードを保存するストレージが存在する。
【００１４】
ファイルサーバに保存されているファイルは、ファイルシステム０１０４０１に組織化されている。本発明の一実施例では、ファイルサーバは更新済ファイルリスト０１０４０２にアクセスできる。一般的に、この更新済ファイルリストは相応しいロケーションに存在する物理ストレージに保存される。もっと一般的に言えば、図に示されるファイルサーバ要素０１０４は各々自分のファイルセットを保持している複数のファイルサーバを表している。ファイルサーバが使用する典型的なプロトコルは、ＮＦＳ(Network File System)プロトコルである。もう一つの慣用的なプロトコルはＣＩＦＳ(Common Internet File System)プロトコルである。更に、ＨＴＴＰ等の他のプロトコルもファイルサーバが使用可能である。
【００１５】
このアーキテクチュアには、ファイルサーバ内のファイルを読み書きする為に、ネットワーク０１０３上でＮＦＳ又はＣＩＦＳプロトコルを通して、ファイルサーバ０１０４と交信する、少なくとも一式のＮＦＳ／ＣＩＦＳクライアント０１０１が存在する。クライアントにはファイルの生成者と、ファイルの読み取り、更新のいずれかの為に又はファイルの読み書きの為にファイルにアクセスするユーザが存在する。より一般的に言えば、図１のクライアント要素０１０１は、各々一式以上のファイルサーバにアクセス可能な複数のユーザを示す。
【００１６】
検索エンジンサーバ０１０５は、ネットワーク０１０３を通して交信する。検索エンジン制御部０１０５０２は検索エンジンに関連する慣用的な処理を可能とする。この制御部には、中央処理ユニット(ＣＰＵ)、メモリ、及びこのＣＰＵを稼動させるプログラムコードを保存するストレージが存在する。本発明の実施例は検索エンジンを使用することで述べているが、本発明の態様がネットワーク環境でファイルを追跡し更新する全てのマシンに適用できる事は、以下の記述から明らかであろう。検索エンジンは、コンピュータネットワークで交信する多くの人にはよく知られ馴染み深い為に、単に簡便な例として用いているに過ぎない。
【００１７】
多くの検索エンジンの典型的な仕事は、インデックスを生成しその保守をすることである。インデックスの具体的内容、それを構成する情報構造、及び具体的精査機能等は本発明の範囲外である。議論の目的の為に、特定ファイルシステムでのインデックス又はファイルシステムに関連するインデックスを参照するが、このことは、通常のスキルを持った人には明らかであろう。インデックス情報は、一般性を失う事無く、通常インデックスデータベース０１０５０１の形で表現される。
【００１８】
インデックスは検索エンジンで生成され、続いて更新され或いは保守される。この作業には、インデックスデータベースを生成する為に、ファイルサーバ０１０４内のファイルを精査し、又は情報を生成することが含まれる。検索エンジンがファイルサーバ内のファイルにアクセスするのに、同じＮＦＳ又はＣＩＦＳプロトコルを使用できることに注意願いたい。
【００１９】
このアーキテクチュアには、少なくとも一式のファイル検索クライアント０１０２が存在する。これらは、検索エンジンにアクセスしてファイル検索要求を発行するユーザである。ここで、“ユーザ”は、人又はマシンの何れでも良いことに注意願いたい。サービスを受けるユーザの種類に相応しいインターフェースを、検索エンジンが認識し、提供する。一般的に、図１でのファイル検索クライアント要素０１０２は複数の検索クライアントを示す。
【００２０】
ネットワーク０１０３は、一般的に、上述した各種サーバとクライアント間での交信を可能にする、相応しい通信ネットワークでよい。図では、ＬＡＮ(Local Area Network)を示すが、他の通信ネットワークでも等しく使用可能なことに注意願いたい。ＬＡＮネットワークへの結合は、ＴＣＰ／ＩＰプロトコルを使用したイーサネットで典型的に提供される。
【００２１】
ファイルサーバ０１０４と検索エンジンサーバ０１０５は慣用的なコンピュータハードウエア(例えば、適切なＣＰＵ、メモリ、ストレージデバイス、等で構成される)で実現される。慣用的なソフトウエアプラットフォーム、例えば、Ｕｎｉｘ、又は他のＵｎｉｘベースのＯＳ、マッキントシュＯＳ、各種のマイクロソフトＯＳ等が、サーバをサポートする為に使用される。更に又、ファイルサーバと検索エンジンサーバは同じハードウエアとソフトウエアプラットフォーム上で稼動する事も可能である。例えば、ＮＦＳサーバと検索エンジンソフトウエアは、Ｌｉｎｕｘ ＯＳ上で稼動可能である。
【００２２】
図２を参照するに、検索エンジン内での処理にはインデックスデータベースの生成が含まれる。“インデックス”は、検索要求を処理する時に検索エンジンで使用される。このインデックスは、クライアントからの検索要求を満たすファイルがもしあれば、それらを特定する為に調べられる。“インデックス”なる用語は、一つの特定の検索エンジンが使用する所定のデータを参照する為の非常に一般的なものであることを理解願いたい。“インデックス”を構成する特定のデータ構造やストレージフォーマットは、検索エンジン毎に変わり得るものであることを理解願いたい。しかしながら、検索エンジン用のインデックスは、ファイル及びその内容(例えばキーワード)に関する情報を持つことは変わらない。
【００２３】
一実施例では、インデックスは、全ファイルサーバを代表するデータの一式の巨大データベースか、又は何か他の単一データ構造である。しかしながら、論理的には、各ファイルサーバは、各々自身の関連付けられたインデックスを持つものとして参照可能である。即ち、参照は、ファイルサーバに関連するインデックス構造の部分に対してなされると理解される。
【００２４】
かくして、検索エンジンが初めてオンラインになるときには、ファイルサーバ内でアクセスされる全てのファイルについて、インデックスが生成される。このことは、検索エンジンに知られている全てのファイルサーバについて実行される。更に又、既にオンラインにある検索エンジンが新しいファイルサーバを認識したら、このファイルサーバに含まれるアクセス可能なファイルに対して、インデックスを生成しなければならない。このことは図２のステップ０２０１の判定ステップに示され、ある所定のファイルサーバに対して、インデックス生成の要否が判定される。
【００２５】
新規ファイルサーバに対しては、検索エンジンは初期化要求(図４を参照)をファイルサーバに送信する(ステップ０２０２)。これによって、ファイルサーバは関連する更新済ファイルリスト０１０４０２をクリアする。本実施例では、一般性を失う事無く、一式のファイルサーバを例として取り上げる。かくして、ステップ０２０１は最初のインデックス生成を行う為のものである。多数のファイルサーバの場合は、検索エンジンがどのファイルサーバに何時インデックスを生成したかを管理するテーブルが用意される。一例として図２Ａを示す。この例では、一式のファイルサーバは多重のエクスポートポイントを持っている。
【００２６】
判定ステップ０２０１を参照するに、一式のファイルサーバに対して、インデックスが生成済であれば、検索エンジンは当ファイルサーバに関連する更新済ファイルリスト０１０４０２に含まれる更新情報にアクセスする(ステップ０２０３)。次いで、ステップ０２０４にて、検索エンジンは更新情報で参照されるファイルにアクセスする(図４を参照)。検索エンジンは、各ファイルに対して、ファイル内容を精査(或いは解析)して、このインデックスに相応しいインデックス情報を生成する。検索エンジンは、一時には一ファイルにアクセスして精査を実行する。或いは又、検索エンジンは一時にファイルのグループにアクセスして、このグループに対して精査を実行する。
【００２７】
一実施例では、この更新済ファイルリストには、他のファイルと同様に検索エンジンがアクセス可能である。このようにして、ファイルサーバは更新済ファイルのリストを含む特殊ファイルを生成して、検索エンジンはファイルサーバからこのファイルのコピーを取得して、ローカルコピーとして格納する。検索エンジンはこの特殊ファイルの内容を削除することも行う。検索エンジンは従ってローカルコピーで動作することができ、例えば精査するファイルを特定する為に、このファイルを読み取ることができる。或いは又、更新済ファイルリストに含まれる情報を取得する為に、検索エンジンとファイルサーバとの間に一つのプロトコルを定義する事が出来る。例えば、ファイルサーバは、検索エンジンにて処理されるべく、更新済ファイル中の各ファイル名又は更新済ファイルリスト中の各ファイル名のリストを検索エンジンに伝える事が出来る。或いは又、検索エンジンは、ファイルサーバからのファイル名のリストに代わって、更新済ファイルリスト中のファイル自身を受信することができる。
【００２８】
図３を参照するに、ファイルサーバはファイル操作の為に多数の要求を受け取る。例えば、典型的操作として、ファイル生成、ファイルオープン、ファイル読み取り、ファイル書き込み、ディレクトリリスティング等である。提供される具体的ファイル操作内容は、ファイルシステムやファイルサーバと交信するプロトコル(例えばＮＦＳ、ＣＩＦＳ等)に依存する。
【００２９】
かくして、ステップ０３０１にて、ファイルサーバはクライアントからファイル操作要求を受信する。判定ステップ０３０２にて、この要求は対応するハンドラに渡される。例えば、ファイルオープン要求はファイルオープンハンドラ０３０３で処理される。ファイル読み取り要求はファイル読み取りハンドラ０３０４で処理される。ファイル書き込み要求は、本発明の一実施例に従い、ファイル書き込みハンドラ０３０５で処理される。本発明のこの態様については以下に議論する。ディレクトリリスティング要求は、本発明の他の一実施例に従い、ディレクトリリスティングハンドラ０３０６で処理される。ディレクトリリスティング要求については更に以下に議論する。“更新済ファイルリスト取得”要求はハンドラ０３０７にて処理される。この機能は本発明の一実施例に従って提供され、後に議論される。
【００３０】
図５を参照するに、本発明によるファイルサーバでのファイル書き込み操作の処理が述べられている。ファイル書き込み操作は指定ファイルの内容を変更する。ファイルサーバはステップ０５０１の判定ステップにて、この要求はファイルオープン以降の最初のファイル書き込み操作か否かを判定する。ファイルオープン以降での最初のファイル書き込み操作の場合には、ステップ０５０２にて、このファイルサーバに関連する更新済ファイルリスト０１０４０２の中に当該ファイルへの参照が記録される。反対にファイルオープン以降での最初の書き込み操作ではない場合には、処理は次のステップに進む。典型的には、次のステップ(０５０３)は要求された書き込み操作をもたらすもので、詳細は個別のファイルサーバに依存する。
【００３１】
ステップ０５０１で最初の書き込み操作のチェックを行う目的は、同一ファイルに対して、更新済ファイルリスト０１０４０２内に重複するエントリを作るのを防止する為である。この為の一方法がステップ０５０２に開示されている。この代わりとして、更新済ファイルリストへの登録時に、対象ファイルがリスト中に既に存在するか否かを毎回チェックすることでも重複エントリを回避できる。
【００３２】
ファイル生成の場合には、生成されたファイルには最初はデータは存在しない。従って、ファイルサーバは更新済ファイルリストの中に新規生成ファイルを参照する為のエントリを作成する必要はない。このファイルの中に内容が置かれるのは、ファイル書き込み操作に伴ってである。しかしながら、ある種のファイルシステムでは、ファイル生成操作に伴って、引き続く書き込み操作が実行できる状態に保持して、ファイルオープン操作を不要にしている。従って、図５の判定ステップ０５０１では、テストは、ファイルオープン又はファイル生成にひき続く最初の書き込み操作のテストを含めるように変更する事が出来る事を理解願いたい。
【００３３】
図８を一見するに、更新済ファイルリストに含まれる情報は、書込み操作の対象としてのファイルを特定している。例えば、階層型ディレクトリ構成ではファイルに対する完全なパス名だけで十分である。他の命名方式がより相応しいかもしれない。具体的情報は、対象となるファイルサーバ又はファイルシステム等の特性に依存する。かくして図８には、典型的な更新済ファイルリスト例０１０４０２が記されている。図示される実装例はファイル名のリストで構成されている。この更新済ファイルリストが参照している各ファイルが更新済である。各エントリ０８０１０１は完全パス名を含むファイル名で構成されている。
【００３４】
図４を参照するに、“更新済ファイルリスト取得”要求には、二種類の操作が存在する。ファイルサーバが更新済ファイルリスト取得要求をステップ０４０１で受信すると、判定ステップ０４０２にて、この要求は初期化要求か或いは更新済ファイルリストの取得要求かを判定する。要求が初期化要求なら、ステップ０４０３にて、ファイルサーバは存在する更新済ファイルリストを単純にクリアする。更新済ファイルリストが存在しなければ、ファイルサーバは更新済ファイルリストを生成する。本発明のこの態様については更に以下で議論する。
【００３５】
図４に示す具体的実装例では、更新済ファイルリストについて交信するのに、ファイルサーバと検索エンジンとの間で特殊なプロトコルを使用している。他の実装例では、検索エンジンは標準的ＮＦＳ／ＣＩＦＳプロトコルを使用して、ファイルサーバから更新済ファイルリストを取得できる事を理解願いたい。そのような実装例では、更新済ファイルリストはファイルサーバ内に一つのファイルとして保存されている。従って、検索エンジンは標準的ＮＦＳ／ＣＩＦＳプロトコルを使用して、このファイルを読み取り、更新されたファイル名を知る事が出来る。この特殊ファイルの内容は、検索エンジンに読み取られた後には、クリアされなければならない。
【００３６】
この図を続けると、要求が更新済ファイルリストの取得（get_file_list）操作の場合には、ファイルサーバは、検索エンジンに対して更新済ファイルリストを送信する(ステップ０４０４)。他のファイルの場合と同様に、このファイルのコピーを検索エンジンに送信しても良い。或いは又、ファイルサーバは、一時に一ファイルずつ又はグループ単位で又は他の相応しい方法で、検索エンジンに実際のファイルを送信してもよい。検索エンジンは、更新済ファイルリスト内の各ファイルを解析して、解析により生成した情報を基にインデックスを更新する。
【００３７】
更新済ファイルリストが検索エンジンに送信されると、この更新済ファイルリストはステップ０４０５にてクリアされる。このように、更新済ファイルリストが単一ファイルとして検索エンジンに送信されると、この更新済ファイルリストはこの送信が完了し次第クリア可能である。もしファイルサーバが検索エンジンにファイル自体を送信した場合には、更新済ファイルリスト内で参照されている各ファイル名は、検索エンジンに送信後この更新済ファイルリストから削除可能である。
【００３８】
更新済ファイルリストがクリアされた後には、このリストはその後更新されたファイルへの参照で再度補充される。この更新済ファイルリストで参照されるファイルは、この更新済ファイルリストが最近にクリアされた後に、更新を受けたことを表示している。別の言い方をすると、この更新済ファイルリストは、前回当該更新済ファイルリストが検索エンジンによって受け取られた以降に更新されたファイルへの参照をリストしていることになる。
【００３９】
検索エンジンの観点からは、更新済ファイルリスト内でのファイル参照は、前回インデックスが更新された時点以降に更新されたファイルを示していることになる。インデックス更新は時間を消費する操作である事を理解願いたい。かくして実際に、ファイルサーバによる更新済ファイルリストのクリア(ファイルリスト取得要求（get_file_list要求）による)は、検索エンジンによるインデックス更新の完了に先立って都合よく実施される。
【００４０】
次に、検索エンジンがインデックスの更新を実行する為に更新済ファイルリストを取得する時には、前回のインデックス更新以降に更新されたファイルを精査するだけでよい事になる。この更新済ファイルリストによって、検索エンジンは、インデックス更新の為に、所定のファイルサーバ内の全ファイルにアクセスして精査する暴力的作業の実行を免れる事になる。
【００４１】
インデックスは未だ持ち合わせていないファイルについては生成することが出来る。このような事態は、検索エンジンがファイルシステムを認識していなかった場合、又は何かの原因でファイルシステムに存在していた既存のインデックスを削除したと判断した場合に発生する。検索エンジンがインデックス生成のプロセスを完了したら、初期化操作の為にファイルリスト取得（get_file_list）要求を送信する。これによって、更新済ファイルリストが生成されるか既存の更新済ファイルリストがクリアされる。もしファイルシステムが事前に知られていなければ、ファイルシステムは更新済ファイルリストを持っているとは思えない。この場合には、更新済ファイルリストが生成される。もし、ファイルシステムが既に更新済ファイルリストを持っておれば、初期化操作はこのリストをクリアする効果を持つ。
【００４２】
これまでの議論に基づいて、各ファイルサーバは自分に固有の更新済ファイルリストを持っていることを理解願いたい。しかしながら他の実装方式として、複数のファイルサーバからアクセスされ、この複数のファイルサーバからの更新済ファイルへの参照を持つ更新済ファイルリストが実装されることが考えられる。最も一般的なケースとして、グローバル更新済ファイルリストを用いる事が考えられる。しかしながら、このタイプの更新済ファイルリストは、性能、実装等の条件により、好ましいか否かが分かれる。もう一つの代替として、一式のファイルサーバが複数の更新済ファイルリストを持つことが考えられる。一式の更新済ファイルリストはこの一式のファイルサーバの一つのエクスポート点に関連付けられる。
【００４３】
図１０を参照するに、本発明のもう一つの実施例に於いては、ファイルサーバは、異なるクライアントに対して、異なったファイルシステムをエクスポートするように構成できる。ＮＦＳやＣＩＦＳ環境に於いては、クライアントはファイルシステムのエクスポートを“マウント”する。マウントは、ＮＦＳ／ＣＩＦＳクライアントとファイルサーバが交信して、ＮＦＳ／ＣＩＦＳクライアントがエクスポートをアクセスできるようにする為の手続きである。エクスポートとは、ＮＦＳ／ＣＩＦＳクライアントが共有できるようにする為のファイルシステムやディレクトリの名前である。
【００４４】
図１０で分かるように、ファイルシステム０１０４は、検索エンジン以外のクライアントがマウントできる第一のエクスポート１００１を提供する。ファイルサーバは、検索エンジンがマウントできるように第二のエクスポート１００２を提供する。どちらのエクスポートも同じファイルシステム又はディレクトリ０１０４０１上にある。ファイルサーバは検索エンジンがどのエクスポートをマウントしたかを知ることが出来る。例えば、マッピング関係をファイルサーバ内の特殊ファイルに記述することができる。
【００４５】
本発明の実施例では、検索エンジンは、ファイルサーバ内のファイルのインデックスを生成するかインデックスを更新する為に、慣用的なプロセスを実行する。検索エンジンは、ファイルサーバによって使用可能になっているエクスポートをマウントする。ファイルサーバの管理者は検索エンジンの為にエクスポートを生成する。検索エンジンの管理者は、検索エンジンがインデックスを生成するのに必要なエクスポートのリストを指定する。このことは、例えば、検索エンジン内の特殊ファイルを編集する事によってなされる。ディレクトリサービスを使用することにより、この構成は組織的に実行できる。検索エンジンは次いで、例えば、ＮＦＳやＣＩＦＳのプロトコルで提供される標準の要求を使用して、ファイルサーバ内のファイルのディレクトリリスティングを一つ以上要求する。
【００４６】
ファイルシステムの為にインデックスを生成する場合には、ディレクトリリスティング内で特定されている各ファイルが精査されインデックス付けされる。インデックスを更新する場合には、検索エンジンは、ファイルの更新日(又は他の同等情報)に基づいて、当該ファイルは、インデックス付けの為に精査されるべきか否かを判定する。ファイルが、このファイルシステムでの前回のインデックス付け以降更新されていたら、当該ファイルは精査されインデックス付けされる。そうでなければ精査されない。
【００４７】
本発明のこの態様によれば、ファイルサーバが検索エンジンにディレクトリリスティングを通じて使用可能にするファイルのリストは、他のクライアントに対してディレクトリリスティング内で使用可能にするファイルの一部分である。このことは、検索エンジンがマウントするエクスポートは、検索エンジン以外のクライアントがマウントするエクスポートとは異なっているから可能になる。すぐに述べる様に、ファイルサーバは、ファイルサービス要求(例えばディレクトリリスティングサービス要求)がなされているエクスポートによって異った処理を受けるように構成されている。
【００４８】
図９を参照するに、本発明のこの態様で構成されたファイルサーバは、ファイル選別テーブル０９０１を装備する。テーブルは、検索エンジンによってマウントされているエクスポートにどの種類のファイルを開放すべきかの条件(基準)０９０１０１を保持している。例えば、検索エンジンのユーザは、ファイルタイプに基づいて検索対象ファイルを限定しようとしているかもしれない。ファイルのタイプは、.ｐｐｔ、.ｄｏｃ、.ｘｌｓ等のファイル拡張子で判定される。この場合、指定の拡張子のファイルが検索の候補として特定される。検索対象を決める他の基準は、ファイル所有者、ファイル生成日時、ファイルサイズ等である。
【００４９】
図９で示されるファイル選別テーブルの実施例は包含テーブルである。この意味は、ファイル選別テーブルは、ディレクトリリスティング時に含めるべきファイルを指定するということである。例えば、全ての“.ｄｏｃ”ファイルは、指定されたディレクトリに対するディレクトリリスティングに含まれる候補である。しかしながら、“.ｅｘｅ”ファイルは、このリストから除外されており含まれない。このファイル選別テーブルは“除外”方式であっても良いことに注意願いたい。この場合には、このテーブルは、ディレクトリリストから除外すべきファイルを指定する。かくして例えば、除外テーブルが、“.ｅｘｅ”を含んでいるとすれば、“.ｅｘｅ”ファイルは除外されるべき事を意味する。更に又、このファイル選別テーブルは、包含すべきファイルと除外すべきファイルを指定するようにすることも出来る。
【００５０】
典型的には、インデックス付けされるファイルはテキストを含むものである。ある種の検索エンジンは、グラフィックスやある種のイメージデータが存在しても、その中に対応するテキストがあれば、インデックスを付与する。ファイル選別テーブルは、実行型ファイルや検索されるデータを含んでいないファイルを予め除外しておいて、検索エンジンが考慮しなければならないファイルのセットを減少させることが出来る。
【００５１】
図７は、検索エンジンがマウントしたエクスポートになされるディレクトリ要求を処理する例である。ファイルサーバは、ディレクトリリスティング要求が検索エンジンから発行されたか否かをステップ０７０１で判定する。ディレクトリリスティング要求には、どのエクスポートに要求がなされたかを示す情報が含まれている。ファイルサーバは、検索エンジンがどのエクスポートをマウントしたかを認知できる為、ファイルサーバはこの判定をなす事が出来る。この要求が検索エンジンから来たものでなければ、ステップ０７０７にて、要求クライアントに対して、慣用的なディレクトリリスティングが生成され、送信される。
【００５２】
検索エンジンから要求されたものなら、ステップ０７０２にて、ファイルサーバはファイル選別テーブル０９０１を調べて、ディレクトリ内の各ファイルに対して、ディレクトリリスティング情報の中に含まれるか否かを判定する（ステップ０７０３）。ファイルが、ファイル選別テーブルに設定されている条件を満たすなら、当該ファイルへの参照が一時リスト内に付加される(ステップ０７０４)。ファイルサーバは、要求が検索エンジンから来たか、クライアントから来たかを、この要求が発行されたエクスポート又は要求者のＩＰアドレスを調べ又はその他の相応しい識別技術によって、判定する事ができる。更にファイルサーバは、ディレクトリ要求を満足させるのに、ファイル選別テーブルを使用する一つ以上のコンピュータシステム(例えば検索エンジン)を特定する相応しいリストを維持する事も出来る。
【００５３】
ファイルがファイル選別テーブルの選別条件にマッチしなければ、一時リストに付加されることはない。ステップ０７０５にて、全てのファイルがファイル選別テーブルの条件に対してチェックされたか否かを判定する。更にファイルのチェックが必要なら、ステップ０７０２に戻る。他の場合には、一時リストがステップ０７０６にて更に処理されて、相応しいディレクトリリスティングが生成され、検索エンジンに返送される。これには、一時リストにサブディレクトリのリスティングを追加することもあり得る。一時リストに含まれるファイルのファイル属性を付加する必要があるかも知れない。これには、ファイルサイズ、生成日、更新日、許可情報、等が該当する。ディレクトリ情報は、ディレクトリリスティング要求に対する応答として、検索エンジンに送信される。
【００５４】
検索エンジンが受信したディレクトリリスティングはファイル選別テーブルによって選別されており、この結果は、非検索エンジンクライアントが受信するファイルの一部分であることを、理解願いたい。この縮小ファイルリストのおかげで、選別されていないディレクトリリスティングがより多数のファイルを含む従来型処理に比べて、検索エンジンがファイルシステムに対してインデックスの生成又は更新に要する処理は減少する。
【００５５】
図６を参照するに、本発明の更に他の態様が、ファイルサーバによる書き込み要求の処理に向けられている。ファイルサーバが書き込み要求を受信すると、この書き込み要求は、このファイルが前回オープンされてからの最初の書き込み要求か否かを、ステップ０６０１で判定する。この要求が最初の書き込み要求でなければ、この要求はこのファイルサーバの特性に応じて慣用的方法で処理される(ステップ０６０４)。
【００５６】
この要求が、前回のファイルオープン後での最初の書き込み要求なら、処理は判定ステップ０６０２に向かう。ここで、ファイル選別テーブル０９０１を調べる。このテーブルは既に述べたと同様な方法で使用される。この書き込み要求の対象ファイルが、このファイル選別テーブルの基準を満たせば、当該ファイルへの参照が更新済ファイルリスト０１０４０２に追加される(ステップ０６０３)。基準が満たされなければ、この書き込み処理はステップ０６０４にて慣用的な方法で実行される。
【００５７】
図５で注記した様に、ファイル生成に於いて生成されたファイルは、初めにはデータは含んでいない。従って、ファイルサーバが、更新済ファイルリストにエントリを作成して、新規生成ファイルを参照する必要はない。ファイルへの内容は、ファイル書き込み処理を契機に書き込まれる。しかしながら、ある種のファイルシステムでは、ファイル生成処理後次の書き込み処理が実行できる状態にファイルを維持して、ファイルオープンを不要にしている。従って、図６の判定ステップ０６０１に関連して、このテストがファイルオープン処理又はファイル生成処理に続く最初の書き込み処理のテストを包含するように、修正できる事を理解願いたい。本発明の態様、効果と新規な機能が本発明の以下の付属図面と共になされる説明によって明らかになる。
【図面の簡単な説明】
【００５８】
【図１】本発明の実施例を説明する上位レベルの一般的ブロックダイアグラムである。
【図２】インデックス生成処理を説明する一般的フローダイアグラムである。
【図２Ａ】検索エンジンがどのファイルサーバに何時インデックスを生成したかを管理するテーブルである。
【図３】ファイルサーバでのファイルサービス要求の処理を説明する。
【図４】ファイルサーバでの更新済ファイルリスト処理の為の上位レベルのフローダイアグラムである。
【図５】ファイルサーバでの書き込み要求の処理を説明するフローダイアグラムである。
【図６】本発明の他の実施例に於ける、ファイルサーバでの書き込み要求の処理を説明するフローダイアグラムである。
【図７】ファイルサーバでのディレクトリリスティング要求の処理を説明する一般的フローダイアグラムである。
【図８】更新済ファイルリストの実施例を示す。
【図９】ファイル選別テーブルの実施例を示す。
【図１０】多重エクスポートを示す。
【符号の説明】
【００５９】
０１０１  ＮＦＳ／ＣＩＦＳクライアント
０１０２  ファイル検索クライアント
０１０３  ＬＡＮ
０１０４  ＮＦＳ／ＣＩＦＳサーバ
０１０５  検索エンジンサーバ
０１０４０１  ファイルシステム
０１０４０２  更新済ファイルリスト
０１０４０３  ファイルサーバ制御部
０１０５０１  インデックスデータベース
０１０５０２  検索エンジン制御部
【図１】
2005122702.tif 000003
【図２】
2005122702.tif 000004
【図２Ａ】
2005122702.tif 000005
【図３】
2005122702.tif 000006
【図４】
2005122702.tif 000007
【図５】
2005122702.tif 000008
【図６】
2005122702.tif 000009
【図７】
2005122702.tif 000010
【図８】
2005122702.tif 000011
【図９】
2005122702.tif 000012
【図１０】
2005122702.tif 000013
【外国語明細書】
2005122702.tif 000014
2005122702.tif 000015
2005122702.tif 000016
2005122702.tif 000017
2005122702.tif 000018
2005122702.tif 000019
2005122702.tif 000020
2005122702.tif 000021
2005122702.tif 000022
2005122702.tif 000023
2005122702.tif 000024
2005122702.tif 000025
2005122702.tif 000026
2005122702.tif 000027
2005122702.tif 000028
2005122702.tif 000029
2005122702.tif 000030
2005122702.tif 000031
2005122702.tif 000032
2005122702.tif 000033
2005122702.tif 000034
2005122702.tif 000035
2005122702.tif 000036
2005122702.tif 000037
2005122702.tif 000038
【図１】
2005122702.tif 000039
【図２】
2005122702.tif 000040
【図２Ａ】
2005122702.tif 000041
【図３】
2005122702.tif 000042
【図４】
2005122702.tif 000043
【図５】
2005122702.tif 000044
【図６】
2005122702.tif 000045
【図７】
2005122702.tif 000046
【図８】
2005122702.tif 000047
【図９】
2005122702.tif 000048
【図１０】
2005122702.tif 000049