(57)【要約】【課題】  パーソナライズされた検索インデックス付けのための方法を提供する。【解決手段】  クライアント側検索インデックス付けプログラムは、サーバ・ベースの検索インデックスと共に透過的に動作する。組み合わされた検索インデックスは、個々のユーザの関心に合わせてカスタマイズされた、より正確且つ最新のウェブイメージを提供する。クライアント側インデクサは、ユーザのプリファレンスと使用パターンに合わせて、特定のウェブページのインデックス付けをカスタマイズする。ユーザは最初に、クライアント側インデクサをクライアントにインストールし、設定する。要求されたインデックスは、自動的にリフレッシュされ、検索中にメイン・サーバ側インデックスと統合される。ユーザが検索を実行するときに、クライアント側インデックスをメイン・サーバ側インデックスと組み合わせることができる。組み合わされたインデックスは、特定のユーザのための正確な検索結果を提供する。【選択図】  図３
2009544088.tif 000002
【特許請求の範囲】
【請求項１】
パーソナライズされた検索インデックス付けのための方法であって、
設定オプションの組をロードするステップであって、前記設定オプションはクライアント側インデックス付けについてのユーザ・プリファレンスと関連付けられている、ステップと、
前記設定オプションの組に基づいて、インデックスを付けるコンテンツの一部を特定するステップと、
クライアント側検索インデックスを生成するために、前記設定オプションの組に基づいてクライアント側インデクサにおいて前記コンテンツの一部にインデックスを付けるステップであって、前記クライアント側検索インデックスは前記クライアント側インデクサと関連付けられたユーザのためにパーソナライズされる、ステップと、
を含む方法。
【請求項２】
検索クエリに基づき、前記クライアント側検索インデックスと、検索エンジンと関連付けられたサーバ側検索インデックスとを用いて、検索を実行するステップ、
をさらに含む、請求項１に記載の方法。
【請求項３】
検索エンジンが、前記クライアント側検索インデックスをサーバ側検索インデックスと組み合わせて、組み合わされた検索インデックスを生成し、前記組み合わされた検索インデックスを用いて検索要求を満たす検索を実行する、請求項１に記載の方法。
【請求項４】
検索エンジンが、検索クエリに基づき、サーバ側検索インデックスを用いて検索を実行し、サーバ検索結果の組を戻し、クライアントのコンポーネントが、前記検索クエリに基づき、前記クライアント側検索インデックスを用いて検索を実行し、クライアント検索結果の組を生成し、
前記方法は、
前記クライアント検索結果の組が前記サーバ検索結果の組より最新であることに応答して、組み合わされた検索結果の組を生成するために前記クライアント検索結果の組を前記サーバ検索結果の組に統合するステップ、
をさらに含む、請求項１に記載の方法。
【請求項５】
コンテンツの一部にインデックスを付ける前記ステップは、
ピアからクライアント側インデックスを受信するステップと、
前記ピアからの前記クライアント側インデックスを前記クライアント側検索インデックスと組み合わせるステップと、
を含む、請求項１に記載の方法。
【請求項６】
前記設定オプションの組は、インデックス付けスケジュール及びインデックス付けアルゴリズムのうちの少なくとも１つを含み、前記クライアント側インデクサは、前記インデックス付けスケジュール及び前記インデックス付けアルゴリズムのそれぞれに従って、前記コンテンツの一部にインデックスを付ける、請求項１に記載の方法。
【請求項７】
前記設定オプションの組は、包含リスト及び除外リストのうちの少なくとも１つを含む、請求項１に記載の方法。
【請求項８】
パーソナライズされた検索インデックス付けのための装置であって、
設定オプションの組をロードするための手段であって、前記設定オプションはクライアント側インデックス付けについてのユーザ・プリファレンスと関連付けられている、手段と、
前記設定オプションの組に基づいて、インデックスを付けるコンテンツの一部を特定するための手段と、
クライアント側検索インデックスを生成するために、前記設定オプションの組に基づいてクライアント側インデクサにおいて前記コンテンツの一部にインデックスを付けるための手段であって、前記クライアント側検索インデックスは前記クライアント側インデクサと関連付けられたユーザのためにパーソナライズされるように作動可能である、手段と、
を備える装置。
【請求項９】
検索クエリに基づき、前記クライアント側検索インデックスと、検索エンジンと関連付けられたサーバ側検索インデックスとを用いて、検索を実行するための手段、
をさらに備える、請求項８に記載の装置。
【請求項１０】
検索エンジンが、前記クライアント側検索インデックスをサーバ側検索インデックスと組み合わせて、組み合わされた検索インデックスを生成するための手段と、前記組み合わされた検索インデックスを用いて検索要求を満たす検索を実行するための手段と、を備える、請求項８に記載の装置。
【請求項１１】
検索エンジンが、検索クエリに基づき、サーバ側検索インデックスを用いて検索を実行するための手段と、サーバ検索結果の組を戻すための手段とを備え、クライアントのコンポーネントが、前記検索クエリに基づき、前記クライアント側検索インデックスを用いて検索を実行し、クライアント検索結果の組を生成するための手段を備え、
前記クライアント検索結果の組が前記サーバ検索結果の組より最新であることに応答して、組み合わされた検索結果の組を生成するために前記クライアント検索結果の組を前記サーバ検索結果の組に統合する手段をさらに含む、請求項８に記載の装置。
【請求項１２】
コンテンツの一部にインデックスを付けるための前記手段は、
ピアからクライアント側インデックスを受信するための手段と、
前記ピアからの前記クライアント側インデックスを前記クライアント側検索インデックスと組み合わせるための手段と、
をさらに備える、請求項８に記載の装置。
【請求項１３】
前記設定オプションの組は、インデックス付けスケジュール及びインデックス付けアルゴリズムのうちの少なくとも１つを含み、前記クライアント側インデクサは、前記インデックス付けスケジュール及び前記インデックス付けアルゴリズムのそれぞれに従って、前記コンテンツの一部にインデックスを付けるための手段を備える、請求項８に記載の装置。
【請求項１４】
前記設定オプションの組は、包含リスト及び除外リストのうちの少なくとも１つを含む、請求項８に記載の装置。
【請求項１５】
コンピュータ上で実行されたときに請求項１から請求項７のいずれか１項のステップを全て実行するように適合されたプログラム・コード手段を備えるコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パーソナライズされた検索インデックス付けのための方法に関する。
【背景技術】
【０００２】
インターネット検索エンジンは、インデックスを用いて検索結果をユーザに表示する。要求しているユーザに対して表示される結果は、検索インデックスと同様に現在のものか又は更新されたものに過ぎない。ウェブ全体の約３分の１にしかインデックスを付けず、３０日ごとに検索インデックスをリフレッシュするだけの検索エンジンもある。インターネットの規模及びワールド・ワイド・ウェブ上のコンテンツの量が大きくなり続けるに従い、検索エンジンが、変更を発見し、そのような変更がどれほど頻繁に生じるかを判定し、捕えるべき変更を優先順位付けすることは、ますます難しくなる。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
現在の１つの解決策は、幾つかの検索インデックスを他の検索インデックスより頻繁に更新することである。サーバ・インデックス付けソフトウェア・エージェントは、どのインデックスが他のインデックスより高頻度で更新されるかを優先順位付けする。頻繁に更新されるインデックスは、殆どのユーザに関わりがあるものであるが、残りのユーザには、インデックスが古いままで残される。
【課題を解決するための手段】
【０００４】
例示となる実施形態は、従来技術の欠点を認識し、サーバ・ベースの検索インデックスと共に透過的に動作するクライアント側検索インデックス付けプログラムを提供する。組み合わされた検索インデックスは、個々のユーザの関心に合わせてカスタマイズされた、より正確な最新のウェブ・イメージを提供する。クライアント側インデクサは、特定のウェブ・ページのインデックス付けを、ユーザ・プリファレンス（選好）及び使用パターンに合わせてカスタマイズする。
【０００５】
ユーザは最初に、クライアント側インデクサをクライアントにインストールし、設定する。要求されたインデックスは、検索中に自動的にリフレッシュされ、メイン・サーバ側インデックスと統合される。ユーザが検索を実行するときに、クライアント側インデックスは、メイン・サーバ側インデックスと組み合わせることができる。組み合わされたインデックスは、特定のユーザのための正確な検索結果を提供する。これによって、ユーザは、ウェブの大部分についてサーバによって保持される多くのインデックスを利用しながら、ユーザが最も関心があるサイトの頻繁に更新されるインデックスを用いて検索することが可能になる。
【０００６】
１つの例示となる実施形態においては、コンピュータ可読プログラムを有するコンピュータ使用可能媒体を含むコンピュータ・プログラム製品が提供される。コンピュータ可読プログラムは、コンピュータ装置上で実行されたときに、そのコンピュータ装置に設定オプションの組をロードさせる。設定オプションは、クライアント側インデックスについてのユーザ・プリファレンスを定める。コンピュータ可読プログラムは、さらに、コンピュータ装置に、設定オプションの組に基づいてインデックスを付けるコンテンツの一部を特定させ、クライアント側検索インデックスを生成するために、設定オプションの組に基づいて、クライアント側インデクサにおいてコンテンツのその一部にインデックスを付けさせる。クライアント側検索インデックスは、クライアント側インデクサと関連付けられたユーザのためにパーソナライズされる。コンピュータ可読プログラムは、さらに、コンピュータ装置に、検索クエリに基づいて、クライアント側検索インデックスと、検索エンジンと関連付けられたサーバ側検索インデックスとの組み合わせを用いて、検索を実行させる。
【０００７】
１つの例示的な実施形態においては、検索エンジンは、クライアント側検索インデックスをサーバ側検索インデックスと組み合わせて、組み合わされた検索インデックスを生成し、この組み合わされた検索インデックスを用いて検索要求を満たす検索を実行する。
【０００８】
別の例示的な実施形態においては、検索エンジンは、検索クエリに基づき、サーバ側検索インデックスを用いて検索を実行し、サーバ検索結果の組を戻す。クライアントのコンポーネントは、検索クエリに基づき、クライアント側検索インデックスを用いて検索を実行し、クライアント検索結果の組を生成する。コンピュータ可読プログラムは、さらに、コンピュータ装置に、クライアント検索結果の組がサーバ検索結果の組より最新であることに応答して、組み合わされた検索結果の組を生成するために、クライアント検索結果の組をサーバ検索結果に統合させることができる。
【０００９】
さらに別の例示的な実施形態においては、コンピュータ装置は、以前の検索結果の組を特定するか、最も訪問されたウェブ・サイトの組を特定するか、ブックマーク又はお気に入り（favorites）の組を特定するか、フラグを付けられたサイトを特定するか、又は同様の関心を有するユーザにより訪問されたサイトの組を特定することによって、インデックスを付けるコンテンツの一部を特定する。別の例示的な実施形態においては、コンピュータ装置は、ピアからクライアント側インデックスを受信し、ピアからのクライアント側インデックスをクライアント側検索インデックスと組み合わせることによって、コンテンツの一部にインデックスを付ける。
【００１０】
１つの例示的な実施形態においては、設定オプションの組はインデックス付けスケジュールを含み、クライアント側インデクサは、インデックス付けスケジュールに従ってコンテンツの一部にインデックスを付ける。更なる例示的な実施形態においては、設定オプションの組は包含リストを含み、コンテンツの一部は包含リストからのコンテンツを常に含む。また更なる実施形態においては、設定オプションの組は除外リストを含み、コンテンツの一部は除外リストからのコンテンツを含まない。さらに別の例示的な実施形態においては、設定オプションの組はインデックス付けアルゴリズムを含み、クライアント側インデクサは、インデックス付けアルゴリズムを用いてコンテンツの一部にインデックスを付ける。
【００１１】
別の例示となる実施形態においては、プロセッサと、プロセッサに接続されたメモリと、を備える装置が提供される。メモリは、プロセッサによって実行されたときにプロセッサに設定オプションの組をロードさせる命令を含む。設定オプションは、クライアント側インデックス付けについてのユーザ・プリファレンスを定める。命令はさらに、プロセッサに、設定オプションの組に基づいてインデックスを付けるコンテンツの一部を特定させ、設定オプションの組に基づいてクライアント側インデクサにおいてコンテンツの一部にインデックスを付け、クライアント側検索インデックスを生成させることができる。クライアント側検索インデックスは、クライアント側インデクサと関連付けられたユーザのためにパーソナライズされる。命令はさらに、プロセッサに、検索クエリに基づいて、クライアント側検索インデックスと、検索エンジンと関連付けられたサーバ側検索インデックスとの組み合わせを用いて、検索を実行させることができる。
【００１２】
更なる例示となる実施形態においては、メモリは、プロセッサによって実行されたときにコンピュータ可読プログラムに関して上述された動作の１つ又は複数をプロセッサに実行させる命令を含むことができる。
【００１３】
更なる例示となる実施形態においては、パーソナライズされ統合された検索インデックス付けのための方法が提供される。本方法は、設定オプションの組をロードすることを含む。設定オプションは、クライアント側インデックス付けについてのユーザ・プリファレンスを定める。本方法は、設定オプションの組に基づいてインデックスを付けるコンテンツの一部を特定することと、クライアント側検索インデックスを生成するために、設定オプションの組に基づいてクライアント側インデクサにおいてコンテンツの一部にインデックスを付けることと、をさらに含むことができる。クライアント側検索インデックスは、クライアント側インデクサと関連付けられたユーザのためにパーソナライズされる。本方法は、検索クエリに基づいて、クライアント側検索インデックスと、検索エンジンと関連付けられたサーバ側検索インデックスとの組み合わせを用いて、検索を実行することをさらに含むことができる。
【００１４】
更なる例示的な実施形態においては、本方法は、コンピュータ可読プログラムについて上述された動作の１つ又は複数を含むことができる。
【００１５】
本発明のこれら及び他の特徴並びに利点は、本発明の例示的な実施形態の以下の詳細な説明において説明されるか、又は、詳細な説明からから当業者には明白であろう。
【図面の簡単な説明】
【００１６】
【図１】例示となる実施形態の態様を実装することができる例示的な分散型データ処理システムの図である。
【図２】例示となる実施形態の態様を実装することができる例示的なデータ処理システムのブロック図である。
【図３】１つの例示的な実施形態による統合インデックス付けシステムを示す図である。
【図４】１つの例示的な実施形態による検索システムを示す図である。
【図５】１つの例示となる実施形態によるクライアント側インデクサの動作を示すフローチャートである。
【図６】１つの例示となる実施形態による検索エンジンの動作を示すフローチャートである。
【図７】１つの例示となる実施形態による、組み合わされたクライアント側検索及びサーバ側検索の動作を示すフローチャートである。
【発明を実施するための形態】
【００１７】
本発明並びにその好ましい使用形態及び更なる利点は、添付の図面と併せて読まれたときに、例示となる実施形態の以下の詳細な説明を参照することで、最も良く理解される。
【００１８】
ここで、図面、特に図１−図２を参照すると、本発明の実施形態を実装することができるデータ処理環境の例示的な図が与えられる。図１−図２は、単なる例であり、本発明の態様又は実施形態を実装することができる環境に関するいずれかの限定を主張するか又は暗示することを意図するものではないことを理解されたい。本発明の趣旨及び範囲から逸脱することなく、図示された環境に対して多くの変更を行うことができる。
【００１９】
ここで図面を参照すると、図１は、例示となる実施形態の態様を実装することができる例示的な分散型データ処理システムの図を示す。分散型データ処理システム１００は、例示となる実施形態を実装することができるコンピュータのネットワークを含むものとすることができる。分散型データ処理システム１００は、分散型データ処理システム１００内において互いに接続された種々の装置及びコンピュータの間に通信リンクを与えるのに用いられる媒体である、少なくとも１つのネットワーク１０２を含む。ネットワーク１０２は、配線、無線通信リンク、又は光ファイバ・ケーブルなどの接続を含むことができる。
【００２０】
図示された例においては、サーバ１２２及びサーバ１２４は、ネットワーク１０２に接続され、それぞれストレージ・ユニット１３２及びストレージ・ユニット１３４にアクセスする。さらに、クライアント１１０、１１２、及び１１４もまた、ネットワーク１０２に接続される。これらのクライアント１１０、１１２、及び１１４は、例えば、パーソナル・コンピュータ、ネットワーク・コンピュータなどとすることができる。図示された例においては、サーバ１２２及び１２４は、例えばウェブ・ページ、マルチメディア・コンテンツ、及びアプリケーションなどのデータをクライアント１１０、１１２、及び１１４に提供する。図示された例においては、クライアント１１０、１１２、及び１１４は、サーバ１２２及び１２４に対するクライアントである。
【００２１】
分散型データ処理システム１００は、図示されない付加的なサーバ、クライアント、及び他の装置を含んでもよい。
【００２２】
サーバ１２６は、クライアント１１０、１１２、及び１１４に検索エンジンを提供することができる。クライアント１１０、１１２、及び１１４は、サーバ１２６上の検索エンジンに検索要求を送ることができ、検索エンジンは、次いで、インデックス１３６を用いて結果ページを生成する。最も最新の結果を提供するために、サーバ１２６は、サーバ１２２及び１２４に、より具体的にはストレージ１３２及び１３４の中のコンテンツにアクセスし、検索インデックス１３６を更新する。
【００２３】
サーバの数及び利用可能なコンテンツの量は増大し続けるので、検索インデックスを最新に保つことはますます困難になる。結果として、いくつかの検索インデックスは、他の検索インデックスより頻繁に更新される。サーバ・インデックス付けソフトウェア・エージェント、即ち「ボット」は、どのインデックスが他のインデックスより高頻度で更新されるかの優先順位付けを行う。
【００２４】
例示となる実施形態によれば、クライアント側検索インデックス付けプログラムは、サーバ・ベースの検索インデックスと共に透過的に動作する。組み合わされた検索インデックスは、個々のユーザの関心に合わせてカスタマイズされた、より正確な最新のウェブ・イメージを提供する。クライアント側インデクサは、ユーザ・プリファレンス及び使用パターンに合わせて、特定のウェブ・ページのインデックス付けをカスタマイズする。
【００２５】
ユーザは最初に、クライアント側インデクサを、クライアント１１０、１１２、及び１１４のうちのいずれか１つなどといったクライアントにインストールし、設定する。要求されたインデックスは、検索中に自動的にリフレッシュされ、メイン・サーバ側インデックスと統合される。ユーザが検索を実行するときに、例えばクライアント１１０のクライアント側インデックスは、例えばメイン・サーバ側インデックス１３６と組み合わせることができる。組み合わされたインデックスは、特定のユーザのための正確な検索結果を提供する。次いで、サーバ１２６の検索エンジンは、クライアント側インデックス及びサーバ側インデックスを検査し、タイムスタンプを用いてこれらのインデックスを比較する。検索エンジンは、より新しいタイムスタンプを持つインデックスを用いる。このことによって、ユーザは、ウェブの大部分についてサーバによって保持される多数のインデックスを利用しながら、最も関心があるサイトの頻繁に更新されるインデックスを用いて検索を行うことが可能になる。
【００２６】
図示された例においては、分散型データ処理システム１００はインターネットであり、ネットワーク１０２は、互いに通信するために伝送制御プロトコル（ＴＣＰ／ＩＰ）のプロトコル・スイートを用いる、世界規模のネットワーク及びゲートウェイの集合体を表す。インターネットの中心には、データ及びメッセージを送る何千もの商業、行政、教育及び他のコンピュータ・システムから成る主要ノード又はホスト・コンピュータ間の高速データ通信ラインのバックボーンが存在する。当然のことながら、分散型データ処理システム１００は、例えばイントラネット、ローカル・エリア・ネットワーク（ＬＡＮ）、広域ネットワーク（ＷＡＮ）などといった多数の異なるタイプのネットワークを含むように実装することもできる。上述されたように、図１は、本発明の異なる実施形態についてアーキテクチャ面で限定するものではなく、一例として意図されており、従って、図１に示される具体的な要素は、本発明の例示となる実施形態を実装することができる環境に関して限定するものと見なされるべきではない。
【００２７】
ここで図２を参照すると、例示となる実施形態の態様を実装することができる例示的なデータ処理システムのブロック図が示される。データ処理システム２００は、図１のホスト１１０のようなコンピュータの一例であり、そこに、本発明の例示となる実施形態のためのプロセスを実装するコンピュータ使用可能コード又は命令を配置することができる。
【００２８】
図示された例においては、データ処理システム２００は、ノースブリッジ及びメモリ・コントローラ・ハブ（ＮＢ／ＭＣＨ）２０２と、サウスブリッジ及び入出力（Ｉ／Ｏ）コントローラ・ハブ（ＳＢ／ＩＣＨ）２０４とを含むハブ・アーキテクチャを用いる。処理ユニット２０６、メイン・メモリ２０８、及びグラフィックス・プロセッサ２１０は、ＮＢ／ＭＣＨ２０２に接続される。グラフィックス・プロセッサ２１０は、アクセラレーテッド・グラフィックス・ポート（ＡＧＰ）を通してＮＢ／ＭＣＨ２０２に接続してもよい。
【００２９】
図示された例においては、ローカル・エリア・ネットワーク（ＬＡＮ）アダプタ２１２は、ＳＢ／ＩＣＨ２０４に接続する。オーディオ・アダプタ２１６、キーボード及びマウス・アダプタ２２０、モデム２２２、読み取り専用メモリ（ＲＯＭ）２２４、ハードディスク・ドライブ（ＨＤＤ）２２６、ＣＤ−ＲＯＭドライブ２３０、ユニバーサル・シリアル・バス（ＵＳＢ）ポート及び他の通信ポート２３２、並びに、ＰＣＩ／ＰＣＩｅデバイス２３４は、バス２３８及びバス２４０を通してＳＢ／ＩＣＨ２０４に接続する。ＰＣＩ／ＰＣＩｅデバイスは、例えば、イーサネット（商標）アダプタ、アドイン・カード、及びノートブック・コンピュータのためのＰＣカードを含むことができる。ＰＣＩはカード・バス・コントローラを用いるが、ＰＣＩｅはこれを用いない。ＲＯＭ２２４は、例えば、フラッシュ・バイナリ入出力システム（ＢＩＯＳ）とすることができる。
【００３０】
ＨＤＤ２２６及びＣＤ−ＲＯＭドライブ２３０は、バス２４０を通してＳＢ／ＩＣＨ２０４に接続する。ＨＤＤ２２６及びＣＤ−ＲＯＭドライブ２３０は、例えば、integrated drive electronics（ＩＤＥ）又はserial advanced technology attachment（ＳＡＴＡ）インターフェースとすることができる。スーパーＩ／Ｏ（ＳＩＯ）装置２３６は、ＳＢ／ＩＣＨ２０４に接続することができる。
【００３１】
オペレーティング・システムは、処理ユニット２０６上で動作する。オペレーティング・システムは、図２のデータ処理システム２００内の種々のコンポーネントを調整し、それらの制御を行う。クライアントとして、オペレーティング・システムは、Ｍｉｃｒｏｓｏｆｔ（商標）Ｗｉｎｄｏｗｓ（商標）ＸＰなどの市販のオペレーティング・システムとすることができる（Ｍｉｃｒｏｓｏｆｔ及びＷｉｎｄｏｗｓは、米国、その他の国々、又はその両方におけるＭｉｃｒｏｓｏｆｔ  Ｃｏｒｐｏｒａｔｉｏｎの商標である）。Ｊａｖａ（商標）プログラミング・システムなどのオブジェクト指向プログラミング・システムが、オペレーティング・システムとともに動作し、データ処理システム２００上で実行されているＪａｖａ（商標）プログラム又はアプリケーションからオペレーティング・システムへの呼び出しを行う（Ｊａｖａは、米国、その他の国々、又はその両方におけるＳｕｎ  Ｍｉｃｒｏｓｙｓｔｅｍｓ，Ｉｎｃ．の商標である）。
【００３２】
サーバとして、データ処理システム２００は、例えばＡｄｖａｎｃｅｄ  Ｉｎｔｅｒａｃｔｉｖｅ  Ｅｘｅｃｕｔｉｖｅ（ＡＩＸ（商標））オペレーティング・システム又はＬＩＮＵＸ（商標）オペレーティング・システムを動作させるＩＢＭ（商標）ｅＳｅｒｖｅｒ（商標）ｐＳｅｒｉｅｓ（商標）コンピュータ・システムとすることができる（ｅＳｅｒｖｅｒ、ｐＳｅｒｉｅｓ、及びＡＩＸは米国、その他の国々、又はその両方におけるＩｎｔｅｒｎａｔｉｏｎａｌ  Ｂｕｓｉｎｅｓｓ  Ｍａｃｈｉｎｅｓ  Ｃｏｒｐｏｒａｔｉｏｎの商標であり、ＬＩＮＵＸは、米国、その他の国々、又はその両方におけるＬｉｎｕｓ  Ｔｏｒｖａｌｄｓの商標である）。データ処理システム２００は、処理ユニット２０６に複数のプロセッサを含む対称型マルチプロセッサ（ＳＭＰ）システムとすることができる。代替的に、単一のプロセッサ・システムを用いてもよい。
【００３３】
オペレーティング・システム、オブジェクト指向プログラミング・システム、及びアプリケーション又はプログラムの命令は、ＨＤＤ２２６などのストレージ装置上に配置され、処理ユニット２０６による実行のためにメイン・メモリ２０８内にロードすることができる。本発明の例示となる実施形態のためのプロセスは、コンピュータ使用可能プログラム・コードを用いて処理ユニット２０６によって実施することができ、コンピュータ使用可能プログラム・コードは、例えばメイン・メモリ２０８、ＲＯＭ２２４などのメモリ内に、又は、例えば１つ若しくは複数の周辺機器２２６及び２３０内に、配置することができる。
【００３４】
図２に示されるバス２３８又はバス２４０のようなバス・システムは、１つ又は複数のバスで構成することができる。当然のことながら、バス・システムは、通信ファブリック又はアーキテクチャに接続された異なるコンポーネント又はデバイスの間でデータの転送を行ういずれかのタイプの通信ファブリック又はアーキテクチャを用いて実装することができる。図２のモデム２２２又はネットワーク・アダプタ２１２のような通信ユニットは、データの送受信に用いられる１つ又は複数のデバイスを含むことができる。メモリは、例えば、メイン・メモリ２０８、ＲＯＭ２２４、又は、図２のＮＢ／ＭＣＨ２０２内に見られるようなキャッシュとすることができる。
【００３５】
当業者であれば、図１−図２のハードウェアは実装形態に応じて変わる場合があることが分かるであろう。図１−図２に示されるハードウェアに加えて、又はこれらの代わりに、フラッシュメモリ、等価な不揮発性メモリ、又は光ディスク・ドライブなどといった他の内部ハードウェア又は周辺機器を用いることができる。また、例示となる実施形態のプロセスは、本発明の趣旨及び範囲から逸脱することなく、前述されたＳＭＰシステム以外のマルチプロセッサ・データ処理システムに適用することもできる。
【００３６】
さらに、データ処理システム２００は、クライアント・コンピュータ装置、サーバ・コンピュータ装置、タブレット型コンピュータ、ラップトップ型コンピュータ、電話又は他の通信装置、パーソナル・デジタル・アシスタント（ＰＤＡ）などを含む、多くの異なるデータ処理システムのいずれかの形態を取ることができる。幾つかの例示となる例においては、データ処理システム２００は、例えば、オペレーティング・システム・ファイル及び／又はユーザ作成データを格納するための不揮発性メモリとなるフラッシュメモリを用いて構成されたポータブル・コンピュータ装置としてもよい。本質的に、データ処理システム２００は、アーキテクチャ上の制限なく、いずれかの公知の又は今後開発されるデータ処理システムとすることができる。
【００３７】
図３は、１つの例示的な実施形態による統合インデックス付けシステムを示す図である。サーバ側インデクサ３３０は、コンテンツ・サーバ３００からのコンテンツにインデックスを付け、サーバ側インデックス３３２を更新する。上述されたように、サーバの数及びコンテンツの量が急速に増大する状況においては、サーバ側インデクサ３３０は、サーバ側インデックス３３２を最新の状態に保つことは困難である。
【００３８】
例示となる実施形態によれば、クライアント側インデクサ３１０及び３２０は、それぞれクライアント側インデックス３１２及び３２２を提供し、クライアント側インデックス３１２及び３２２は、特定のユーザのためにカスタマイズされる。クライアント側インデクサ３１０及び３２０は、スタンドアローン型のアプリケーション又はウェブ・ブラウザ・プラグインとすることができるが、これらに限定されない。
【００３９】
第１のユーザが、クライアント側インデクサ３１０をインストールし、設定オプション３１４を設定する。設定オプションは、以下のもの、即ち、
・インデックス付けスケジュール−インデックスがいつどれだけの頻度で更新されるか。
・包含リスト−常にインデックスを付けるサイトのリスト。
・除外リスト−インデックスを付けないサイトのリスト。
・収集されるユーザ・データ−インデックスを付けるためにどのデータがプログラムによって収集されるか。
・サブスクリプション・サービス−別のユーザのクライアント側インデクサによって更新されるインデックスのリスト。
・サーバ更新−変更を特定するために、更新されたインデックスをインターネット検索エンジンに送るかどうか。
・Ｐ２Ｐインデックス共有−インデックスをピアと共有するかどうか。
・インデックス付けのスタイル及びアルゴリズム設定。
・自動インデックス付け−有効にされたときには、インデックス付けアプリケーションがどのページをインデックス付けするかを判定する。
・関連性基準−インデックスに含めるための基準。
を含むことができる。これらの設定オプションによって、ユーザは、クライアント側で検索インデックス付けを完全にカスタマイズできるようになる。
【００４０】
クライアント側インデクサ３１０は、例えば、インデックス付け動作を自動的且つ透過的に開始することができる。即ち、クライアント側インデクサ３１０は、スケジュールに従ってバックグラウンドで、又はクライアント装置が待機状態のときに、コンテンツ・サーバ３３０からのコンテンツにインデックスを付けることができる。
【００４１】
クライアント側インデクサ３１０は、包含リスト及び除外リストを用いて、インデックスを付けるコンテンツを決定することができる。さらに、クライアント側インデクサ３１０は、自動インデックス付け及び関連性基準を用いて、インデックスを付けるコンテンツを決定することができる。例えば、クライアント側インデクサ３１０は、最近の検索結果、最も訪問されたサイト、ブックマーク若しくはお気に入り、フラグを付けられたサイト、又は同様の関心を有する人々によって訪問されたサイトに、インデックスを付けることができる。この目的のために、クライアント側インデクサ３１０は、使用情報３１６を格納することができる。
【００４２】
設定オプション３１４によって、ユーザは、ページ内でインデックスを付けられる情報、及び、用いられるインデックス付けの様式又はアルゴリズムを定めることもできるようになる。例えば、ユーザは、頻繁に読まれるウェブログ（ブログ）ページにインデックスを付けるように設定オプション３１４を設定することができ、ブログにインデックスを付けるための特定のアルゴリズムを選択することができる。この例においては、このアルゴリズムは、ブログ・タイトル、日付、及びトラックバックをより重視し、より古いエントリ及びコメントをあまり重視しないようにすることができる。
【００４３】
同様に、クライアント側インデクサ３２０は、クライアント側インデックス３２２を提供する。第２のユーザは、クライアント側インデクサ３２０をインストールし、設定オプション３２４を設定する。次いでクライアント側インデクサは、設定オプション３２４に従って、クライアント側インデックス３２２を生成するためにコンテンツ・サーバ３３０上のコンテンツにインデックスを付ける。さらに、クライアント側インデクサ３２０は、使用情報３２６に基づいて、設定オプション３２４の中の関連性基準に従ってインデックスを付けるコンテンツを決定することができる。
【００４４】
さらに、図３に示される統合インデックス付けシステムは、協働するピア・ツー・ピア（Ｐ２Ｐ）コミュニティの態様を提供することができる。各々のユーザが、自分の必要性に合わせてローカル・インデックスをカスタマイズすることができるので、この情報は、サーバにフィードバックすることに加えて、他の同様のユーザと共有することもできる。１つの実施形態においては、クライアント側インデクサ３１０と関連付けられたユーザを、例えばクライアント側インデクサ３２０と関連付けられたユーザのローカル・インデックス又は使用情報の類似性に基づいて、当該ユーザとマッチングすることができる。次いで、これらのユーザは、ローカル・インデックス、インデックス設定、及び、ローカルにインデックスを付けるサイトの自動提案を共有するペアにすることができる。こうすることで、サーバ側インデクサ３３０に付加的な負荷をかけることなく、インデックス付け動作の有効性及び効率がさらに強化される。
【００４５】
図４は、１つの例示的な実施形態による検索システムを示す図である。検索クライアント４１０は、検索要求４１２を検索エンジン４２０に送る。検索クライアント４１０は、例えば、検索エンジン４２０からウェブページとして提供される検索アプリケーションを実行するウェブ・ブラウザとすることができる。検索クライアント４１０は、クライアント側インデックス４１４を検索要求４１２に添付する。検索クライアント４１０は、ブラウザのプラグイン（図示せず）を含んでもよい。
【００４６】
検索エンジン４２０は、検索要求４１２及びクライアント側インデックス４１４を受信したとき、クライアント側インデックス４１４のタイムスタンプをサーバ側インデックス４２２のタイムスタンプと比較する。クライアント側インデックス４１４がより最新であれば、検索エンジン４２０は、クライアント側インデックス４１４をサーバ側インデックス４２２と組み合わせる。
【００４７】
クライアント側インデックス４１４は、サーバ側インデックス４２２と重複するコンテンツの一部又は重複しないコンテンツの一部にインデックスを付けることができる。クライアント側インデックス４１４によってインデックスを付けられたコンテンツは、検索クライアント４１０と関連付けられたユーザのプリファレンス及び使用履歴に固有のものである。さらに、クライアント側インデックス４１４は、Ｐ２Ｐコミュニティにおける別のクライアント側インデックスと関連付けられたクライアント側インデックスの全て又は一部を含むものとすることができる。
【００４８】
検索エンジン４２０は、組み合わされたインデックスを用いて検索を実行する。検索が完了したときは、検索エンジン４２０は、検索結果４２４を検索クライアント４１０に戻す。
【００４９】
１つの例示的な実施形態においては、検索クライアント４１０は、検索要求４１２を検索エンジン４２０に送ることができる。検索エンジン４２０は、次いで、サーバ側インデックス４２２を用いて検索を実行し、検索結果４２４を戻す。検索エンジン４２０は、サーバ側インデックス４２２のタイムスタンプを用いて、検索結果４２４にタイムスタンプを付けることができる。
【００５０】
検索クライアント４１０は、クライアント側インデックス４１４を用いてクライアント側で検索を実行することもできる。検索クライアント４１０は、クライアント側インデックス４１４のタイムスタンプを用いて、結果として得られる検索結果（図示せず）にタイムスタンプを付けることもできる。次いで、検索クライアント４１０は、サーバ検索結果４２４のタイムスタンプを、クライアント検索結果のタイムスタンプと比較することができる。クライアント検索結果のタイムスタンプが、クライアント側インデックス４１４がサーバ側インデックス４２２より最新であることを示した場合には、検索クライアント４１０は、クライアント検索結果をサーバ検索結果４２４に統合することができる。
【００５１】
図５は、１つの例示となる実施形態によるクライアント側インデクサの動作を示すフローチャートである。フローチャート図の各々のブロック、及びフローチャート図におけるブロック組み合わせは、コンピュータ・プログラム命令によって実装できることが理解されよう。これらのコンピュータ・プログラム命令を、プロセッサ又は他のプログラム可能なデータ処理装置に与えてマシンを形成することができ、それにより、プロセッサ又は他のプログラム可能なデータ処理装置上で実行される命令は、フローチャートのブロック又は複数のブロックにおいて指定された機能を実装するための手段を形成する。これらのコンピュータ・プログラム命令はまた、プロセッサ又は他のプログラム可能なデータ処理装置に特定の形で機能するように指示することができるコンピュータ可読メモリ又はストレージ媒体に格納することができ、それにより、コンピュータ可読メモリ又はストレージ媒体に格納された命令は、フローチャートのブロック又は複数のブロックにおいて指定された機能を実装する命令手段を含む製品を形成する。
【００５２】
したがって、フローチャート図のブロックは、特定の機能を実施するための手段の組み合わせ、特定の機能を実施するためのステップの組み合わせ、及び特定の機能を実施するためのプログラム命令手段に対応する。フローチャート図の各々のブロック、及びフローチャート図におけるブロックの組み合わせは、特定の機能又はステップを実施する専用ハードウェアをベースとするコンピュータ・システムによって、又は、専用ハードウェアとコンピュータ命令との組み合わせによって、実装できることも理解されよう。
【００５３】
ここで図５を参照すると、動作が開始し、クライアント側インデクサは設定オプションをロードする（ブロック５０２）。クライアント側インデクサは、クライアント側インデックスの全て又は一部を更新するかどうかを判定する（ブロック５０４）。クライアント側インデクサは、クライアント側インデックスを更新するかどうかを、全体的なスケジュール、クライアント側インデックスの特定の一部と関連付けられたスケジュール、クライアント装置が待機状態であるかどうかなどに基づいて、判定することができる。
【００５４】
クライアント側インデクサがクライアント側インデックスを更新しないと判定した場合には、クライアント側インデクサは、終了条件が存在するかどうかを判定する（ブロック５０６）。終了条件は、例えば、クライアント側インデクサが閉じられた場合、又はクライアント装置がシャットダウンされた場合に、存在することがある。終了条件が存在しない場合には、動作はブロック５０４に戻り、クライアント側インデックスを更新するかどうかを判定する。ブロック５０６において終了条件が存在する場合には、動作は終了する。
【００５５】
ブロック５０４に戻ると、クライアント側インデクサがクライアント側インデックスの全て又は一部が更新されると判定した場合には、クライアント側インデクサは、設定オプション及び使用情報に基づいて、インデックスを付けるコンテンツを特定する（ブロック５０６）。クライアント側インデクサは、特定されたコンテンツについて、１つ又は複数のインデックス付け様式及び／又は１つ又は複数のアルゴリズムを決定する（ブロック５１０）。次に、クライアント側インデクサは、特定されたコンテンツにインデックスを付けることによって、クライアント側検索インデックスを更新する（ブロック５１２）。その後、動作はブロック５０６に進み、終了条件が存在するかどうかを判定する。
【００５６】
図６は、１つの例示となる実施形態による検索エンジンの動作を示すフローチャートである。動作が開始し、検索エンジンは、クライアント側インデックスが添付された検索要求を受信する（ブロック６０２）。検索エンジンは、クライアント側インデックスのタイムスタンプをサーバ側インデックスのタイムスタンプと比較する（ブロック６０４）。次いで、検索エンジンは、クライアント側インデックスがサーバ側インデックスより最新であるかどうかを判定する（ブロック６０６）。
【００５７】
サーバ側インデックスがクライアント側インデックスより最新であった場合には、検索エンジンは、サーバ側インデックスを用いて検索を実行する（ブロック６０８）。その後、検索エンジンは、要求しているクライアントに検索結果を戻し（ブロック６１０）、動作は終了する。
【００５８】
ブロック６０６において、クライアント側インデックスの少なくとも一部が、サーバ側インデックスの対応する部分より最新であった場合には、検索エンジンは、クライアント側インデックスをサーバ側インデックスと組み合わせる（ブロック６１２）。次いで、検索エンジンは、組み合わされた検索インデックスを用いて検索を実行する（ブロック６１４）。その後、動作はブロック６１０に進んで、要求しているクライアントに検索結果を戻し、動作は終了する。
【００５９】
図７は、１つの例示となる実施形態による、組み合わされたクライアント側検索及びサーバ側検索の動作を示すフローチャートである。動作が開始し、検索クライアントは検索要求を受信する（ブロック７０２）。検索クライアントは、検索要求を検索エンジン・サーバに送信する（ブロック７０４）。検索エンジン・サーバは、検索を実行して検索結果の組を生成する。サーバは、サーバ側検索インデックスのタイムスタンプを用いて、検索結果の組にタイムスタンプを付ける。
【００６０】
次いで、検索クライアントは、タイムスタンプされた検索結果の組をサーバから受信する（ブロック７０６）。検索クライアントはまた、クライアント側検索インデックスを用いて検索を実行する（ブロック７０８）。次に、検索クライアントは、クライアントの検索結果のタイムスタンプをサーバの検索結果のタイムスタンプと比較する（ブロック７１０）。次いで、検索クライアントは、クライアント側インデックスがサーバ側インデックスより最新であるかどうかを判定する（ブロック７１２）。
【００６１】
サーバ側インデックスがクライアント側インデックスより最新であった場合には、検索クライアントは、サーバの検索結果をユーザに戻し（ブロック７１４）、動作は終了する。ブロック７１０において、クライアント側インデックスの少なくとも一部が、サーバ側インデックスの対応する部分より最新であった場合には、検索クライアントは、クライアント側検索結果をサーバ側検索結果と組み合わせる（ブロック７１６）。次いで、検索クライアントは、組み合わされた検索インデックスをユーザに戻し（ブロック７１８）、動作は終了する。
【００６２】
従って、例示となる実施形態は、サーバ・ベースの検索インデックスと共に透過的に動作するクライアント側検索インデックス付けプログラムによって、従来技術の欠点を解決する。組み合わされた検索インデックスは、個々のユーザの関心に合わせてカスタマイズされた、より正確で最新のウェブ・イメージを提供する。クライアント側インデクサは、ユーザのプリファレンスと使用パターンに合わせて、特定のウェブページのインデックス付けをカスタマイズする。
【００６３】
ユーザは最初に、クライアント側インデクサをクライアントにインストールし、設定する。要求されたインデックスは、自動的にリフレッシュされ、検索中にメイン・サーバ側インデックスと統合される。ユーザが検索を実行するときに、クライアント側インデックスは、メイン・サーバ側インデックスと組み合わせることができる。組み合わされたインデックスは、特定のユーザのための正確な検索結果を提供する。このことによって、ユーザは、ウェブの大部分についてサーバによって保持される多数のインデックスを利用しながら、最も関心があるサイトの頻繁に更新されるインデックスを用いて検索を行えるようになる。
【００６４】
検索エンジン提供者間の厳しい競争が示すように、検索エンジン技術を強化することはきわめて有益なこととなりうる。例示となる実施形態は、各々のユーザのためにパーソナライズされた、カスタマイズ可能な統合されたローカル検索インデックスを通して、検索の機能性、正確性、及び使い勝手のよさを改善するためのメカニズムを提供する。
【００６５】
例示となる実施形態は、全体がハードウェアの実施形態、全体がソフトウェアの実施形態、又はハードウェア要素とソフトウェア要素の両方を含む実施形態の形式を取ることができることが理解されるべきである。１つの例示的な実施形態においては、例示となる実施形態のメカニズムは、ファームウェア、常駐ソフトウェア、マイクロコードなどを含むがこれらに限定されないソフトウェアに実装される。
【００６６】
さらに、例示となる実施形態は、コンピュータ又はいずれかの命令実行システムによって、又はそれらと接続して、用いるためのプログラム・コードを提供するコンピュータ使用可能媒体又はコンピュータ可読媒体からアクセス可能なコンピュータ・プログラム製品の形態を取ることができる。この説明のために、コンピュータ使用可能媒体又はコンピュータ可読媒体は、命令実行システム、機器若しくは装置によって、又はこれらと接続して、用いるためのプログラムを含み、格納し、通信し、伝搬し、又は転送することが可能ないずれかの装置とすることができる。
【００６７】
媒体は、電子システム、磁気システム、光学システム、電磁気システム、赤外線システム、若しくは半導体システム（又は機器若しくは装置）、又は伝搬媒体とすることができる。コンピュータ可読媒体の例は、半導体メモリ又は固体メモリ、磁気テープ、取り外し可能コンピュータ・ディスケット、ランダム・アクセス・メモリ（ＲＡＭ）、読み取り専用メモリ（ＲＯＭ）、剛体磁気ハードディスク及び光ディスクを含む。現時点における光ディスクの例は、コンパクトディスク−読み出し専用メモリ（ＣＤ−ＲＯＭ）、コンパクトディスク−読み取り／書き込み（ＣＤ−Ｒ／Ｗ）、及びＤＶＤを含む。
【００６８】
プログラム・コードを格納及び／又は実行するのに適したデータ処理システムは、システム・バスを通してメモリ要素に直接的に又は間接的に接続された少なくとも１つのプロセッサを含む。メモリ要素は、プログラム・コードの実際の実行時に使用されるローカル・メモリと、大容量記憶装置と、実行時に大容量記憶装置からコードを取得しなければならない回数を減少させるために少なくとも幾つかのプログラム・コードの一時的な記憶場所を提供するキャッシュ・メモリと、を含むことができる。
【００６９】
入出力装置又はＩ／Ｏ装置（キーボード、ディスプレイ、ポインティング・デバイスなどを含むが、これらに限定されるものではない）は、直接的に、又は介在するＩ／Ｏコントローラを通して、システムに接続することができる。データ処理システムが、介在するプライベート・ネットワーク又は公衆ネットワークを通して、データ処理システムを他のデータ処理システム又は遠隔プリンタ若しくはストレージ装置に接続できるように、ネットワーク・アダプタをシステムに接続することもできる。モデム、ケーブル・モデム、及びイーサネット（商標）カードは、現時点で利用可能なタイプのネットワーク・アダプタのごく一部である。
【００７０】
本発明の説明は、例示及び説明の目的で提示されたものであり、網羅的であること又は開示された形式の発明に限定することを意図するものではない。当業者であれば、多くの修正及び変形が明らかであろう。実施形態は、本発明の原理及び実際の適用を最も良く説明するためにに、及び、当業者以外であっても、考えられる特定の用途に適合するような様々な修正を伴う様々な実施形態について本発明を理解できるように、選択され、説明されたものである。
【図１】
2009544088.tif 000003
【図２】
2009544088.tif 000004
【図３】
2009544088.tif 000005
【図４】
2009544088.tif 000006
【図５】
2009544088.tif 000007
【図６】
2009544088.tif 000008
【図７】
2009544088.tif 000009
【国際調査報告】
2009544088.tif 000010
2009544088.tif 000011
2009544088.tif 000012
2009544088.tif 000013
2009544088.tif 000014