(57)【要約】  通信ネットワーク中のクライアントによってアクセスされたサイトを記録するための自動化された方法であって、前記クライアントから一つ以上の検索エンジンへの検索クエリーの提出を検出するステップ（１０）と、前記クライアントへの検索クエリー結果の応答に続いて、続けてアクセスされたサイトの一つ以上のパラメータの検索トレイルを記録するステップ（１１）とを含む方法。
2007519106.tif 000002
【特許請求の範囲】
【請求項１】
通信ネットワーク中のクライアントによってアクセスされたサイトを記録するための自動化された方法であって、
前記クライアントから一つ以上の検索エンジンへの検索クエリーの提出を検出するステップと、
前記クライアントへの検索クエリー結果の応答に続いて、続けてアクセスされたサイトの一つ以上のパラメータの検索トレイルを記録するステップとを含む方法。
【請求項２】
前記検索クエリーの提出を検出する前記ステップが、
前記クライアントからの完全なフォームオブジェクトの提出を検出するステップと、
前記フォームオブジェクトの一部が、複数の前記検索エンジンの任意の既知の検索コマンドフォーマットとマッチするか否かを判断するステップとを含む請求項１に記載の自動化された方法。
【請求項３】
前記検索コマンドフォーマットが、前記検索クエリーを実行するための検索エンジンプログラムのネットワークアドレスを含む請求項２に記載の自動化された方法。
【請求項４】
前記検索コマンドフォーマットが、ユーザ入力された検索クエリーを識別する一つ以上の検索パラメータを更に含む請求項３に記載の自動化された方法。
【請求項５】
前記クライアントからの完全なフォームオブジェクトの提出を検出する前記ステップが、
クライアントへ提示されたコンテンツのオブジェクトモデル内のフォームオブジェクトを見つけるステップと、
提出時に、前記完全なフォームオブジェクトのインターセプトを可能にするために、各々のフォームオブジェクトへルーチンを追加するステップとを含む請求項２〜４の何れか一項に記載の自動化された方法。
【請求項６】
クライアントへ提示されたコンテンツのドキュメント・オブジェクト・モデル内の全てのフォームオブジェクトを見つける前記ステップが、前記コンテンツが前記クライアントへ提示された後に実行される請求項５に記載の自動化された方法。
【請求項７】
前記コンテンツがＨＴＭＬドキュメントであり、一旦ＤｏｃｕｍｅｎｔＣｏｍｐｌｅｔｅイベントが発生すると、前記ＨＴＭＬドキュメントのドキュメント・オブジェクト・モデル内の全てのフォームオブジェクトが見つけられる請求項６に記載の自動化された方法。
【請求項８】
前記ＨＴＭＬドキュメントが、ＧＥＴ又はＰＯＳＴフォームを含む請求項７に記載の自動化された方法。
【請求項９】
一旦検索クエリーが検出されると、前記検索クエリー結果から続けてアクセスされた前記サイトの一つ以上のパラメータを記録する前記ステップが、前記クライアントにおいて任意に選択可能である請求項１〜８の何れか一項に記載の自動化された方法。
【請求項１０】
前記検索クエリー結果から続けてアクセスされた前記サイトの一つ以上のパラメータを記録する前記ステップが、
続けてアクセスされた前記サイトの前記ネットワークアドレスを記録するステップを含む請求項１〜９の何れか一項に記載の自動化された方法。
【請求項１１】
前記検索クエリー結果から続けてアクセスされた前記サイトの一つ以上のパラメータを記録する前記ステップが、
一つ以上のユーザ識別子、参照するサイトの前記ネットワークアドレス、前記クライアントの前記ネットワークアドレス、及び、検索ターム又は前記クライアントにおいて前記ユーザによって入力されたタームを記録するステップを更に含む請求項１０に記載の自動化された方法。
【請求項１２】
前記検索クエリー結果から続けてアクセスされた前記サイトの一つ以上のパラメータを記録する前記ステップが、
前記クライアントにおいて識別された前記一つ以上のパラメータを、記録用のトレイル記録サーバに伝送するステップを更に含む請求項１０又は１１の何れか一項に記載の自動化された方法。
【請求項１３】
前記トレイル記録サーバにおいて、前記一つ以上のパラメータを初めにＲＡＭテーブル中に記録するステップを更に含む請求項１２に記載の自動化された方法。
【請求項１４】
前記トレイル記録サーバにおいて、ＲＡＭテーブルデータをディスクベースのテーブルへ周期的に保存するステップを更に含む請求項１３に記載の自動化された方法。
【請求項１５】
第１のディスクベースのテーブルが、各々の検索トレイルを特徴付けるデータを記録する請求項１４に記載の自動化された方法。
【請求項１６】
第２のディスクベースのテーブルが、各々の検索トレイル中でアクセスされた連続的なサイトを特徴付けるデータを記録する請求項１４又は１５の何れか一項に記載の自動化された方法。
【請求項１７】
続けてアクセスされたサイトの数が、所定の最大値に制限される請求項１〜１６の何れか一項に記載の自動化された方法。
【請求項１８】
複数の前記検索エンジンについての既知の検索コマンドフォーマットのアダプターテーブルを維持するステップを更に含む上記請求項の何れか一項に記載の自動化された方法。
【請求項１９】
前記アダプターテーブル中に維持された前記検索コマンドフォーマットを周期的に検証するステップを更に含む請求項１８に記載の自動化された方法。
【請求項２０】
新しい検索エンジンの検索コマンドフォーマットを自動的に識別するステップと、
前記アダプターテーブルを更新するステップとを更に含む請求項１８又は１９の何れか一項に記載の自動化された方法。
【請求項２１】
検索エンジンの検索ボックスページを識別する検索情報を収集するステップと、
前記検索情報からの前記検索コマンドフォーマットを識別するステップとを更に含む請求項１８〜２０の何れか一項に記載の自動化された方法。
【請求項２２】
検索情報を収集する前記ステップが、
前記検索ボックスの前記ＨＴＭＬコードを収集するステップと、
前記ＨＴＭＬコードを分析し、前記検索コマンドフォーマットを識別するステップとを含む請求項２１に記載の自動化された方法。
【請求項２３】
前記検索クエリーを以前の検索クエリーにマッチさせ、関連する検索トレイルを識別するステップを更に含む請求項９〜１７の何れか一項に記載の自動化された方法。
【請求項２４】
前記検索クエリーを以前の検索クエリーにマッチさせる前記ステップが、
前記検索クエリー及び以前の検索クエリーに対して全文検索を実行するステップを含む請求項２３に記載の自動化された方法。
【請求項２５】
前記検索クエリーを以前の検索クエリーにマッチさせるステップが、
前記関連する検索トレイルを、同じユーザからの検索クエリーに起因する検索トレイルに制限するステップを含む請求項２３又は２４の何れか一項に記載の自動化された方法。
【請求項２６】
前記関連する検索トレイルが、同じユーザ及び他のユーザからの検索クエリーに起因する検索トレイルを含む請求項２３又は２４の何れか一項に記載の自動化された方法。
【請求項２７】
前記クライアントにおいて前記関連する検索トレイルを提示するステップを更に含む請求項２３〜２６の何れか一項に記載の自動化された方法。
【請求項２８】
前記関連する検索トレイルを提示する前記ステップが、
一つ以上のランキング基準によって前記関連する検索結果を順序づけるステップを含む請求項２７に記載の自動化された方法。
【請求項２９】
前記ランキング基準が、一つ以上の任意の日付、インバース・ドキュメント・フリークエンシー・マッチ、ターゲット検索エンジン、ユーザ識別子、又は関連する検索トレイル中のステップへのユーザ訪問の累積頻度を示すトレイル重みを含む請求項２８に記載の自動化された方法。
【請求項３０】
前記通信ネットワークが、前記インターネット、イントラネット、エクストラネット、又はクライアント／サーバアプリケーションを実行する他のネットワークである請求項１〜２９の何れか一項に記載の自動化された方法。
【請求項３１】
前記一つ以上の検索エンジンが前記クライアント上に維持される請求項１〜３０の何れか一項に記載の自動化された方法。
【請求項３２】
通信ネットワーク中のクライアントによってアクセスされたサイトを記録するためのシステムであって、
前記クライアントから複数の検索エンジンのうちの１つへの検索クエリーの提出を検出するための検索クエリーディテクタと、
前記クライアントへの検索クエリー結果の応答に続いて、続けてアクセスされたサイトの一つ以上のパラメータの検索トレイルを記録するための検索トレイルレコーダとを備えるシステム。
【請求項３３】
複数の前記検索エンジンについての既知の検索コマンドフォーマットのアダプターテーブルを維持するためのアダプターマネージャを更に備える請求項３２に記載のシステム。
【請求項３４】
前記検索クエリーを以前の検索クエリーにマッチさせ、関連する検索トレイルを識別するためのトレイルサーチャを更に備える請求項３２又は３３に記載のシステム。
【請求項３５】
前記検索クエリーディテクタが、ツールバー、ブラウザアドオン又は拡張、デスクバー、エージェント、又はプロキシー等のクライアント側のアプリケーションである請求項３２〜３４の何れか一項に記載のシステム。
【請求項３６】
請求項３２〜３４の何れか一項に記載のシステムと共に用いるための検索クエリーディテクタ。
【請求項３７】
請求項３２〜３４の何れか一項に記載のシステムと共に用いるための検索トレイルレコーダ。
【請求項３８】
請求項３３に記載のシステムと共に用いるためのアダプターマネージャ。
【請求項３９】
請求項３４に記載のシステムと共に用いるためのトレイルサーチャ。
【請求項４０】
請求項３２〜３９の何れか一項に記載の前記検索クエリーディテクタ、検索トレイルレコーダ、アダプターマネージャ、及び／又はトレイルサーチャによって行われる前記方法を実行するためのプログラム命令を含むコンピュータソフトウェア。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信ネットワーク中のクライアントによってアクセスされたサイトを自動的に記録するための方法及びシステムに関し、より詳細には、クライアントによって連続的にアクセスされたサイトのトレイルの記録に関する。本発明は、インターネットの一部を形成する一以上のサーバからクライアントがサイトにアクセスする応用例での使用に適しており、その例示的な応用例との関連で本発明を記載するのが便利であろう。しかしながら、その発明がその応用例に制限されないことが理解されるべきである。
【背景技術】
【０００２】
毎日、何百万もの検索が、インターネット検索エンジンを使用することによってインターネット上で実行される。これら検索エンジンは、いくつかの基準に基づいてデータを検索するソフトウェアである。典型的には、ユーザが検索クエリーを入力し、アルゴリズムが用いられて、検索エンジンによって行われる検索アルゴリズムに基づいて、検索クエリーにマッチするハイパー・テキスト・マークアップ・ランゲージ（ＨＴＭＬ）文書又は他のコンテンツを決定する。一旦検索アルゴリズムが実行されると、多数の関連するＨＴＭＬ文書又は他のコンテンツへのリンクのリストを含む検索結果が、クライアントの表示装置へ返される。ユーザはリンクのうちの一つをクリックし、そのリンクに位置するコンテンツがクライアントに提示される。このコンテンツは他のサイトへの一以上のリンクを提供し、それらの妥当性に依って、ユーザはこれら更なるリンクの一つを選択してクリックするであろう。このように、連続的にアクセスされたサイトの連鎖からなる検索トレイルが、ユーザによって生成される。
【０００３】
現在の検索エンジンは、新しい検索クエリーが作成される毎に、希望の検索結果へのパスを再発見することを検索者に要求する。個々に又は他のユーザによって発展させられた検索トレイルは、インターネット上で実行される検索の効率及び検索能力を改良するために現在利用されることができない。
【０００４】
ウェブ検索者の振る舞いを分析するために、相当な学術研究が捧げられてきた。典型的には、この研究は、ウェブ使用データを記録するウェブサーバログが頼りである。しかしながら、複数のサーバからのユーザデータをマージすることは非現実的であり、これはサーバ所有者間の協力を必要とするからである。さらに、サーバログは、ハイパー・テキスト・トランスファー・プロトコル（ＨＴＴＰ）ＧＥＴリクエスト中で用いられる限られた数のパラメータのみを記録し、検索トレイルを構成するために意味のある情報が記録されることを可能としない。ユーザによる全てのページ訪問をウェブサーバログ中に記録することは、多くのユーザにとってプライバシーに関する懸念に帰着する。さらに、ウェブサーバログは、第三者サーバ上における、ユーザのページ訪問を記録することができない。全てのページ訪問を記録することはまた、相当な量のディスク装置容量を消費する。
【０００５】
インターネットを閲覧中のユーザの振る舞いについての他の研究は、クライアント側ブラウザ及びインターネット間のＨＴＴＰリクエストをインターセプトするためのＨＴＴＰプロキシの使用を示した。そのようなシステムは、ユーザの検索の振る舞いに取り組むのではなく、ユーザの一般的なウェブ閲覧の振る舞いに焦点を合わせている。ユーザの閲覧の振る舞いを記録するためのプロキシベースのソリューションはまた、多くの重要な制限を有する、即ち、全てのリクエストがプロキシを経由し、過剰なネットワーク帯域幅が消費され、それらがプロキシを経由して通過しなければならないので、新しいページリクエストが低速で伝送され、全てのページリクエストがインターセプトされる故に、ユーザのプライバシーが十分に保護されない。
【０００６】
インターネット検索者が、検索と、これによって適切な結果を見つけた検索トレイルとを記録することを可能にする、通信ネットワーク中のクライアントによってアクセスされたサイトを記録するための自動化された方法及びシステムを提供することが望ましいであろう。
【０００７】
複数のエンジンに渡って検索トレイルの記録を可能にすることもまた望ましいであろう。
【０００８】
以前に生成された検索トレイルの検索をその後になって可能にすること、及び検索者が、以前に彼ら自身又は他のインターネット検索によって生成された検索トレイルに追従することを可能にすることもまた望ましいであろう。
【発明の開示】
【課題を解決するための手段】
【０００９】
本発明の一態様は、通信ネットワーク中のクライアントによってアクセスされたサイトを記録するための自動化された方法であって、クライアントから複数の検索エンジンのうちの一つへの検索クエリーの提出を検出するステップと、前記クライアントへの検索クエリー結果の応答に続いて、続けてアクセスされたサイトの一つ以上のパラメータの検索トレイルを記録するステップとを含む方法を提供する。
【００１０】
前記検索クエリーの提出を検出する前記ステップが、前記クライアントからの完全なフォームオブジェクトの提出を検出するステップと、前記フォームオブジェクトの一部が、複数の前記検索エンジンの任意の既知の検索コマンドフォーマットとマッチするか否かを判断するステップとを含むことができる。
【００１１】
前記検索コマンドフォーマットが、前記検索クエリーを実行するための検索エンジンプログラムのネットワークアドレスを含むことができる。
【００１２】
前記検索コマンドフォーマットが、ユーザ入力された検索クエリーを識別する一つ以上の検索パラメータを更に含むことができる。
【００１３】
前記クライアントからの完全なフォームオブジェクトの提出を検出する前記ステップが、クライアントへ提示されたコンテンツのオブジェクトモデル内のフォームオブジェクトを見つけるステップと、提出時に、前記完全なフォームオブジェクトのインターセプトを可能にするために、各々のフォームオブジェクトへルーチンを追加するステップとを含むことができる。
【００１４】
クライアントへ提示されたコンテンツのドキュメント・オブジェクト・モデル内の全てのフォームオブジェクトを見つける前記ステップが、前記コンテンツが前記クライアントへ提示された後に実行される。
【００１５】
前記コンテンツがＨＴＭＬドキュメントであり、一旦ＤｏｃｕｍｅｎｔＣｏｍｐｌｅｔｅイベントが発生すると、前記ＨＴＭＬドキュメントのドキュメント・オブジェクト・モデル内の全てのフォームオブジェクトが見つけられることができる。
【００１６】
前記ＨＴＭＬドキュメントが、ＧＥＴ又はＰＯＳＴフォームを含むことができる。
【００１７】
一旦検索クエリーが検出されると、前記検索クエリー結果から続けてアクセスされた前記サイトの一つ以上のパラメータを記録する前記ステップが、前記クライアントにおいて任意に選択可能であることができる。
【００１８】
前記検索クエリー結果から続けてアクセスされた前記サイトの一つ以上のパラメータを記録する前記ステップが、続けてアクセスされた前記サイトの前記ネットワークアドレスを記録するステップを含むことができる。
【００１９】
前記検索クエリー結果から続けてアクセスされた前記サイトの一つ以上のパラメータを記録する前記ステップが、一つ以上の検索識別子、参照するサイトのネットワークアドレス、クライアントの前記ネットワークアドレス、及び、検索ターム又は前記クライアントにおいて前記ユーザによって入力されたタームを記録するステップを更に含むことができる。
【００２０】
前記検索クエリー結果から続けてアクセスされた前記サイトの一つ以上のパラメータを記録する前記ステップが、前記クライアントにおいて識別された前記一つ以上のパラメータを、記録用のトレイル記録サーバに伝送するステップを更に含むことができる。
【００２１】
その方法は、前記トレイル記録サーバにおいて、前記一つ以上のパラメータを初めにＲＡＭテーブル中に記録するステップを更に含むことができる。
【００２２】
その方法は、前記トレイル記録サーバにおいて、ＲＡＭテーブルデータをディスクベースのテーブルへ周期的に保存するステップを更に含むことができる。
【００２３】
第１のディスクベースのテーブルが、その検索トレイルを特徴付けるデータを記録することができる。
【００２４】
第２のディスクベースのテーブルが、各々の検索トレイル中でアクセスされた連続的なサイトを特徴付けるデータを記録することができる。
【００２５】
続けてアクセスされたサイトの数が、所定の最大値に制限されることができる。
【００２６】
その方法は、複数の検索エンジンについての既知の検索コマンドフォーマットのアダプターテーブルを維持するステップを更に含むことができる。
【００２７】
その方法は、前記アダプターテーブル中に維持された前記検索コマンドフォーマットを周期的に検証するステップを更に含むことができる。
【００２８】
その方法は、新しい検索エンジンの検索コマンドフォーマットを自動的に識別するステップと、前記アダプターテーブルを更新するステップとを更に含むことができる。
【００２９】
その方法は、検索エンジンの検索ボックスページを識別する検索情報を収集するステップと、前記検索情報からの前記検索コマンドフォーマットを識別するステップとを更に含むことができる。
【００３０】
検索情報を収集する前記ステップが、検索ボックスの前記ＨＴＭＬコードを収集するステップと、前記ＨＴＭＬコードを分析し、前記検索コマンドフォーマットを識別するステップとを含むことができる。
【００３１】
その方法は、前記検索クエリーを以前の検索クエリーにマッチさせ、関連する検索トレイルを識別するステップを更に含むことができる。
【００３２】
前記検索クエリーを以前の検索クエリーにマッチさせる前記ステップが、前記検索クエリー及び以前の検索クエリーに対して全文検索を実行するステップを含むことができる。
【００３３】
前記検索クエリーを以前の検索クエリーにマッチさせるステップが、前記関連する検索トレイルを、同じユーザからの検索クエリーに起因する検索トレイルに制限するステップを含むことができる。
【００３４】
代わりに、前記関連する検索トレイルが、同じユーザ及び他のユーザからの検索クエリーに起因する検索トレイルを含むことができる。
【００３５】
その方法は、前記クライアントにおいて前記関連する検索トレイルを提示するステップを更に含むことができる。
【００３６】
前記関連する検索トレイルを提示する前記ステップが、一つ以上のランキング基準によって前記関連する検索結果を順序づけるステップを含むことができる。
【００３７】
前記ランキング基準が、一つ以上の任意の日付、インバース・ドキュメント・フリークエンシー・マッチ、ターゲット検索エンジン、ユーザ識別子、又は関連する検索トレイル中のステップへのユーザ訪問の累積頻度を示すトレイル重みを含むことができる。
【００３８】
発明の別の態様は、通信ネットワーク中のクライアントによってアクセスされたサイトを記録するためのシステムであって、前記クライアントから複数の検索エンジンのうちの１つへの検索クエリーの提出を検出するための検索クエリーディテクタと、前記クライアントへの検索クエリー結果の応答に続いて、続けてアクセスされたサイトの一つ以上のパラメータの検索トレイルを記録するための検索トレイルレコーダとを備えるシステムを提供する。
【００３９】
そのシステムは、複数の前記検索エンジンについての既知の検索コマンドフォーマットのアダプターテーブルを維持するためのアダプターマネージャを更に備えることができる。
【００４０】
そのシステムは、前記検索クエリーを以前の検索クエリーにマッチさせ、関連する検索トレイルを識別するためのトレイルサーチャを更に備えることができる。
【００４１】
本発明の別の態様は、上記記載のシステムと共に用いるための検索クエリーディテクタを提供する。
【００４２】
本発明の更なる態様は、上記記載のシステムと共に用いるための検索トレイルレコーダを提供する。
【００４３】
本発明の更に別の態様は、上記記載のシステムと共に用いるためのアダプターマネージャを提供する。
【００４４】
本発明のまだ更なる態様は、上記記載のシステムと共に用いるためのトレイルサーチャを提供する。
【００４５】
本発明の更なる態様は、前記検索クエリーディテクタ、検索トレイルレコーダ、アダプターマネージャ、及び／又はトレイルサーチャによって行われる前記方法を実行するための命令セットを含むコンピュータソフトウェアを含む。
【００４６】
以下の記述は、本発明の様々な特徴についてより詳細に言及する。理解を促進するために、好ましい実施の形態における上記自動化された方法及びシステムが図示された添付の図面への参照が、詳細な説明においてなされる。しかしながら、図面に図示された好ましい実施の形態に発明が制限されないことが理解されるべきである。
【発明を実施するための最良の形態】
【００４７】
今、図１及び図２を参照すると、本発明の一実施形態に係る通信ネットワーク（この場合、インターネット）中のクライアントによってアクセスされたサイトを記録するためのシステムは、次の４つの主な構成要素、検索クエリーディテクタ１０、検索トレイルレコーダ１１、アダプターマネージャ１２、及びトレイルサーチャ１３を備える。検索クエリーディテクタ１０は、クライアントから一つ以上の検索エンジンへの検索クエリーの提出を検出するクライアント側のアプリケーションである。図１に示された例では、検索クエリーディテクタ１０は、クライアント側でインストールされたインターネットブラウザ内で動作可能なツールバー２０として実現される。発明の他の実施の形態では、検索クエリーディテクタ１０は、ブラウザアドオン若しくは拡張、デスクバー、エージェント、プロキシ、又は検索フォームからのデータが解釈され得る同様のクライアント側のアプリケーションとして実現されるであろう。クライアントからの検索クエリーの提出を検出することにより、トレイルウォッチャは、検索クエリーを満たす情報を探しているクライアントへ提供される様々なコンテンツを通じて閲覧する時に、ユーザが行う検索トレイルの開始及び後続のウェブリンク又は検索トレイルステップをキャプチャする。ユーザが検索フォームへ入力する各々の新しい検索トレイルについて、個々の検索トレイルが記録される。その後、トレイルレコーダ１１は、ブラウザウィンドゥ２１中のクライアントへの検索クエリー結果の応答に続いて、連続的にアクセスされたサイトの一つ以上のパラメータの検索トレイルを記録する。
【００４８】
トレイルレコーダ１１はまた、ユーザのＩＰアドレス（又は他のネットワーク識別子）をキャプチャするように適合されるであろう。この方法では、複数のユーザのＩＰアドレスはその後分析されて、ユーザを国、組織、又は部門等の基準によってグループ化することができる。
【００４９】
検索クエリーディテクタ１０は、ＤｏｃｕｍｅｎｔＣｏｍｐｌｅｔｅ等のウェブブラウザイベントをキャプチャするように適合される。ＤｏｃｕｍｅｎｔＣｏｍｐｌｅｔｅイベントは、ブラウザが新しいウェブページのロード及び表示を完了する度に発生する。ＤｏｃｕｍｅｎｔＣｏｍｐｌｅｔｅイベントが発生する時までに、ブラウザは、ドキュメント・オブジェクト・モデル（ＤＯＭ）に基づく内部プリデート構造を生成し、ページを記録する。Ｊａｖａｓｃｒｉｐｔ（登録商標）等のクライアント側のスクリプト言語は、ブラウザのメモリ内のこのデータ構造を取り扱うことができ、フォーム及び表示された画像等のウェブページの対応する要素を順番に取り扱うことができる。この実施例での検索クエリーディテクタ１０は、インターネットブラウザ内のツールバーを形成するＪａｖａｓｃｒｉｐｔプログラムとして実現され、ウェブページのＤＯＭへの部分的又は完全なアクセスを有する。検索ユーザ１４が、インターネットブラウザウィンドゥ２１内に表示されたリンクをクリックして、インターネットからのコンテンツの提供をリクエストすると、新しいウェブページがロードされる。
【００５０】
一旦クライアントにコンテンツが提供されると、図３に示されるように、ステップ３０でキャプチャされるＤｏｃｕｍｅｎｔＣｏｍｐｌｅｔｅイベントが発生する。ウェブページ中で見つけられる全てのフォームオブジェクトに対して、検索クエリーディテクタ１０は、検索ユーザ１４による検索クエリーの提出時に完全なフォームオブジェクトのインターセプトを可能とするルーチンを含む。本実施の形態では、検索クエリーディテクタ１４は、クライアントへ提供されるウェブページのドキュメント・オブジェクト・モデル内部の全てのフォームオブジェクトに、ｏｎＳｕｂｍｉｔイベントハンドラーを付加する。ｏｎＳｕｂｍｉｔイベントが発生すると、そしてそのイベントが発生した時に、ｏｎＳｕｂｍｉｔハンドラーは、ドキュメントの全てのフォームについてそのｏｎＳｕｂｍｉｔイベントをキャッチしようとする。ｏｎＳｕｂｍｉｔイベントは、ユーザがリモートサーバへウェブフォームのコンテンツを提出する度に発生する。イベントをキャッチすることにより、検索クエリーディテクタはフォームの提出をインターセプトし、ドキュメント中の任意のフォームが第３者のウェブサーバへ提出される前に新しいｏｎＳｕｂｍｉｔハンドラーが実行されることを保証する。例えば、ユーザがＧｏｏｇｌｅ（登録商標）検索エンジンを使用している場合には、ユーザが検索フォームを提出する度に検索クエリーディテクタはインターセプトする。検索変数がＧｏｏｇｌｅサーバへ提出される前に、新しい検索トレイルの開始が記録され得るように、それらは最初に検索トレイルレコーダ１１に提出される。ステップ３２においてドキュメント・オブジェクト・モデルの更新が起こる一方、図３中のステップ３１においてｏｎＳｕｂｍｉｔハンドラーの挿入が起こる。
【００５１】
表１に、簡単な検索ボックスのＨＴＭＬソースコードの例が示されている。
【００５２】
【表１】
2007519106.tif 000003
【００５３】
ＨＴＭＬソースコードは、属性、即ち、検索リクエストを処理するサーバ側スクリプトのユニフォーム・リソース・ロケータ（ＵＲＬ）を含む。ＨＴＭＬソースコードはまた、パラメータがどのようにサーバへ渡されるかを決定するメソッド属性を含む。ＨＴＭＬフォームデータをサーバへ提出する２つのリクエストメソッドは、「ＧＥＴ」及び「ＰＯＳＴ」メソッドである。クライアントへ提供されたウェブページの全てのフォームオブジェクト内に挿入されたｏｎＳｕｂｍｉｔハンドラーは、ステップ３３において全ての完全な検索フォームがインターセプトされることを保証する。ステップ３４において、アクション属性が既知の検索エンジンの或るアクション属性に対応するか否かを決定するために、検索フォームのアクション属性がトレイルレコーダ１１に伝送される。検索クエリーディテクタ１０は、ＧＥＴ及びＰＯＳＴ両方のフォーム提出を有利にインターセプトすることができる。検索クエリーディテクタ１０はまた、検索フォーム提出のアクション属性のみを伝送することにより、ユーザ名及びパスワード、又はクレジットカードの詳細等を含むロギングフォーム等のユーザのプライバシーを漏洩し得るサーバ側のトレイルレコーダ１１へ、プライベートなフォームデータが安全でない状態で伝送されないことを保証する。アクション属性の値は、検索クエリーを実行するための検索エンジンプログラムのＵＲＬ又はネットワークアドレスである。例えば、表１に示されるＨＴＭＬソースコードの例でのアクション属性の値は、ｈｔｔｐ：／／ｔｕｒｂｏ１０．ｃｏｍ／ｘ／ｓｅａｒｃｈ．ｃｇｉである。ステップ３１においてフォームオブジェクト内に挿入されたｏｎＳｕｂｍｉｔハンドラーは、ステップ３５において、分離したＨＴＴＰ  ＧＥＴリクエスト中のアクション属性をトレイルレコーダ１１へ渡す。ところで、図４を参照すると、検索クエリーディテクタ１０からのＨＴＴＰ  ＧＥＴリクエストを受信すると、トレイルレコーダ１１は、スキーム、ホスト名及びパスのみが残るように、検索クエリーを実行するための検索エンジンプログラムのネットワークアドレス又はＵＲＬの任意のパラメータ部分を取り除く。ユーザのプライバシーを維持するために、この時点ではフォームパラメータはトレイルレコーダ１１に提出されない。アクション属性の値のみがサーバに送信される。例えば、表１に示された例での、この必要最低限のバージョンの検索エンジンのＵＲＬは、ｈｔｔｐ：／／ｔｕｒｂｏ１０．ｃｏｍ／ｘ／ｓｅａｒｃｈ．ｃｇｉである。
【００５４】
ＵＲＬのこの部分を用いて、トレイルレコーダ１１は、検索クエリーディテクタ１０から伝送されたアクション属性の値とマッチするアクション属性について、「検索エンジンアダプター」のテーブル４０を検索する。アダプターＵＲＬがマッチする場合、その後、検索クエリーディテクタ１０は、ユーザによって提出された検索クエリーが新しい検索トレイルの始まりであると判断する。より一般的には、クライアントからの完全なフォームオブジェクトの提出を検出すると、検索クエリーディテクタ１０及び検索トレイルレコーダ１１は、フォームオブジェクトの一部が、既知の検索エンジン検索コマンドフォーマットのデータベース内に維持されている複数の任意の検索エンジンの既知の検索コマンドフォーマットとマッチするか否かを判断する。
【００５５】
検索トレイルレコーダ１１によって行われるマッチング処理は、クライアントから提出されたフォームが検索フォーム、又は問い合わせフォームやログインフォームなどのフォーム提出の別のタイプであったか否かを判断するのに重要である。マッチング処理はまた、検索を実行しようとする特定の検索エンジン、そして勿論、その検索エンジンによって用いられた検索クエリーパラメータを決定するために重要である。検索トレイルレコーダに知られている様々な検索エンジンについての既知の検索コマンドフォーマットのアダプターテーブル４０は、どの検索クエリーパラメータがデフォルトであり、どれが検索者によって入力されるかを識別するために用いられる。例えば、表１に示されている例から続けると、検索エンジンＵＲＬについての検索ＨＴＴＰ  ＧＥＴリクエストは、ｈｔｔｐ：／／ｔｕｒｂｏ１０．ｃｏｍ／ｘ／ｓｅａｒｃｈ．ｃｇｉ？ｑ＝ｃａｒｓ＆ｆｍｔ＝ｈｔｍｌであり得る。２つの潜在的な検索クエリーパラメータ、即ち「ｑ」及び「ｆｍｔ」がこのリクエストから現れる。一方は検索フォーム中でユーザによって入力されるが、他方はデフォルト値である。アダプターテーブル４０は、どのパラメータがユーザによって入力された検索クエリーと対応するかを記録する。この場合、アダプターテーブル４０中に記録された検索クエリーパラメータは「ｑ」であり、従って、検索トレイルレコーダ１１は、これが「ｈｔｍｌ」ではなく「ｃａｒｓ」についての検索トレイルの始まりであると判断することができる。従って、アダプターテーブル４０に記録されたアダプター定義は、検索者によって入力されたフォームパラメータと、セッション識別子、ユーザ識別子、又は他の隠れ変数といったデフォルト値とを区別することができる。より一般的には、アダプターテーブル４０によって維持される検索コマンドフォーマットは、検索クエリーを実行するための検索エンジンプログラムのネットワークアドレスだけではなく、ユーザ入力された検索クエリーを識別する一つ以上の検索パラメータを付加的に含む。
【００５６】
クライアントによって提出されたフォームオブジェクトの一部を構成する対応するアクション属性が、アダプターテーブル４０内に記録されたアクション属性にマッチすることが分かると、その後、検索トレイルレコーダ１１は、今まさに提出されようとしているフォームが検索フォームであると判断する。ステップ４１において検索トレイルレコーダによって検索フォームが見つけられると、ステップ４２において、既知の検索フォームクエリーの提出が検出されたことを示すために、アダプター識別子が検索クエリーディテクタ１０に伝送される。検索クエリーディテクタ１０に返されたアダプター識別子は、カレントアダプター識別子テーブル３５内に維持される。
【００５７】
アダプター識別子が検索クエリーディテクタ１０に返されると、ツールバー２０上のボタン２２は記録シンボルを表示し、検索トレイルが今まさに記録されようとしていることをユーザに示す。検索フォームが見つからなかった場合、及びアダプター識別子が返らなかった場合、記録アイコンは表示されない。検索ユーザ１４は、記録ボタンをオン又はオフにするためにトレイルレコーダボタン２２をクリックすることができ、従って、検索トレイルレコーダの検索トレイル記録機能を選択的に活性化することができる。検索トレイルレコーダのオン又はオフの切り換えは図３のステップ３７において実行され、それは、検索クエリーディテクタ１０によって維持された検索トレイルレコーダステータスデータ３８のステータスを変更する効果を有する。ステップ３９において、検索クエリーディテクタ１０が、検索トレイルレコーダステータスデータ３８のステータスが記録の発生を示すか否かを判断し、また、トレイルレコーダ１１によって既知のアダプター識別子が返され、検索クエリーディテクタ１０が、クライアントへの検索クエリー結果の応答に続いて、検索トレイル中で連続的にアクセスされたサイトのネットワークアドレスの記録を開始する。破損の無い検索トレイルは、ブラウザから送られたリファラーＵＲＬの「連鎖」から構成される。ユーザがＵＲＬを打ち込む、ブラウザを閉じる又は「Ｈｏｍｅ」ボタンを押下すると、これらのアクションは「Ｒｅｆｅｒｒｅｒ」がサーバへ送られるようにしないため、トレイルは中断される。
【００５８】
従って、検索トレイルレコーダ機能が「オン」されると、ステップ３０において検出された全てのＤｏｃｕｍｅｎｔＣｏｍｐｌｅｔｅイベントに対して、分離したＨＴＴＰ  ＧＥＴリクエストが、ステップ４０において検索クエリーディテクタ１０によって検索トレイルレコーダ１１に送られて、検索トレイル中のステップを記録する。ＧＥＴリクエストで送られたパラメータは、一意なユーザ識別子、カレントページのＵＲＬ、参照ＵＲＬ、ページのタイトル、クライアントのネットワークアドレス、検索エンジンのアダプター識別子、及び検索ターム又はユーザによって用いられたタームを含む。サーバのコモン・ゲートウェイ・インタフェース（ＣＧＩ）プログラムは、ステップ４３においてこれらのパラメータを受信し、リモートサーバによって維持されたＲＡＭベースのデータベーステーブル４４内にそれらを記録する。ＲＡＭベースのデータベーステーブルは、速やかな挿入を可能にする利点、及び検索トレイル中の全てのステップを表現するパラメータのストレージを提供する。
【００５９】
周期的に、ＲＡＭベースのデータベーステーブル４４は、検索トレイルレコーダ１１によって維持される空にするルーチン４７によって、２つのディスクベースのテーブル４５及び４６のうちの一つに移されて空にされる。第１のディスクベースのテーブル４５は、各々の検索トレイルを特徴付けるデータを記録する一方、第２のディスクベースのテーブルは、各々の検索トレイル中で連続的にアクセスされたサイトを特徴付けるデータを記録する。ステップ４１に位置するアダプター識別子がヌルでない（即ち、ユーザが、検索クエリーと、検索トレイルレコーダ１１に知られている検索エンジンについての検索フォームとを入力した）時はいつでも、新しいトレイルが生成される。ＲＡＭベースのデータベーステーブル４４中の後続のエントリーは、その後、ユーザが追跡した検索トレイル中でステップを形成する。
【００６０】
固有のユーザそれぞれに対して、検索トレイル中の各々の後続のステップが、データベーステーブル４４中に連続的に入力される。時には、検索者は検索トレイルから外れる、又は乱されるかもしれない。この場合、データベーステーブル４４は、検索ターム又はユーザによって最初に入力されたタームとは無関係のＵＲＬを記録するであろう。あまりにも多くの関連性の無いトレイルステップを記録しないよう支援するために、検索トレイルレコーダ１１は、検索トレイルの長さを、ステップの最大数、又は、検索トレイルの開始及びカレント検索トレイルステップ間の所定の最大経過時間に制限してもよい。
【００６１】
ＲＡＭベースのテーブル４４、並びにディスクベースのテーブル４５及び４６中に維持されるデータのタイプの例が以下に示される。トレイルバケットテーブル４４は、速度及び拡張性のために、ディスクドライブにアクセスせずに、ＲＡＭへ一時的にデータを記録する。表２は、テーブル４４中に記録されるデータの一例を示す。
【００６２】
【表２】
2007519106.tif 000004
【００６３】
表３に示されるように、トレイルテーブル４５は、トレイルを開始させた検索ターム及びソースのエンジン（即ち、ａｄａｐｔｅｒｉｄ）を記録する。
【００６４】
【表３】
2007519106.tif 000005
【００６５】
表４に示されるように、トレイルステップテーブル４６は、訪問したＵＲＬに関する詳細を記録する。
【００６６】
【表４】
2007519106.tif 000006
【００６７】
表５に示されるように、アダプターテーブル４０は、内在するサーチエンジンを駆動する検索フォームパラメータの詳細を記録する。
【００６８】
【表５】
2007519106.tif 000007
【００６９】
上記説明されたように、検索トレイルレコーダ１１に知られている様々な検索エンジンについての既知の検索コマンドフォーマットのアダプターテーブル４０は、アダプターマネージャ１２によって管理される。アダプターテーブル４０内に管理されている検索コマンドフォーマットは、アダプターマネージャ１２によって周期的に検証される。アダプターテーブル４０は、検索エンジンの検索フォームを一意に識別する表記を含む。アダプターマネージャ１２は、存在する検索コマンドフォーマットを周期的（例えば、１日１回）にテストし、新しい検索エンジンに接続して新しい検索コマンドフォーマットを引き出す。検索コマンドフォーマットの破損が見つけられると、アダプターマネージャは、破損したフォーマットの修復を試みるであろう。検索エンジンへの適合に要求される唯一の情報は、検索ボックスを含むウェブページのＵＲＬである。
【００７０】
発明のこの例では、他の全ての情報はアダプターマネージャ１２によって自動的に集められる。発明の他の実施の形態では、半自動化及び／又は手動処理もまた、正確なフォームへの適合精度を増大させるために用いられ得る。従って、検索フォームＵＲＬが検索ユーザ１４によってアダプターマネージャ１２に伝送されると、ステップ５０において、アダプターマネージャは、ＵＲＬに位置する検索エンジンが既知であることを確証するアダプターテーブル４０内に現在のアダプター識別子が存在するか否かを決定する。もしこの場合には、確認が検索ユーザ１４に返される。そうでなければ、検索フォーム提出メソッド（即ち、ＧＥＴ又はＰＯＳＴ）及びアクション属性の値（即ち、ｈｔｔｐ／／ｇｏｏｇｌｅ．ｃｏｍ．ｓｅａｒｃｈ）を含む、ターゲットの検索エンジンの検索フォームについての詳細を自動的に集めるフォーム探知コンポーネントへ、検索フォームＵＲＬが伝送される。
【００７１】
従って、ステップ５１において、フォーム探知コンポーネントは、検索フォームについてのリクエストを外部の検索エンジン５２へ伝送する。その後、ステップ５３において、対応する外部の検索エンジン５２からの検索ページが、フォーム探知コンポーネントへ返される。ステップ５４において、フォーム探知コンポーネントは、検索ページのドキュメント・オブジェクト・モデルから検索フォームを見つけ、クエリーパラメータ、フォーム提出メソッド、クッキー設定、及び検索ＵＲＬを含む、内在する検索エンジンを駆動するために必要とされるパラメータを識別する。このパラメータ識別ステップは、検索ボックスフォームページのＨＴＭＬソースをリクエストして、ＨＴＭＬパーサを用いてＨＴＭＬソースコードを分析することにより実行される。多くの場合、ページの最初のフォームが検索ページである。一旦フォームが見つけられると、ステップ５５においてフォーム中の第１のテキストボックスが用いられて、外部の検索エンジン５２と共に検索コマンドフォーマット（アダプター）のテストが行われる。ステップ５６においてテストクエリーが伝送され、それはその後外部検索エンジン５２によって処理される。正しい検索コマンドフォーマットでテストクエリーが提出されると、その後、ステップ５７においてテスト結果ページがアダプターマネージャ１２によって受信される。テストタームについての結果ページが見つけられると、アダプターテーブル４０内のアダプターステータスは「ｌｉｖｅ」に設定される。
【００７２】
トレイルサーチャ１３は、検索者が、与えられた検索クエリーにマッチする彼ら自身のトレイル又は他人によって生成されたトレイルを検索することを可能とする。検索ユーザ１４からの検索クエリーを受信すると、ステップ６０において、トレイルサーチャ１３は、関連する検索トレイルを識別するために、トレイルテーブル４５内に記録された以前の検索クエリーに対して検索クエリーのマッチングを実行する。検索タームフィールドで全文インデックス付けが実行されて、ストップワードを除去し、及び各々のマッチングについてのインバース・ドキュメント・フリークエンシー（ＩＤＦ）値を計算した後に、マッチングが実行されることを可能とする。トレイルサーチャ１３は、ユーザが、検索を彼ら自身のトレイルのみに制限、又は付加的に、他人の検索トレイルを含む検索に拡張することを可能とするように適合される。ステップ６１において、関連する検索結果が検索ユーザに提示される順序が、一つ以上のランキング基準によって決定される。トレイル検索結果が提示される順序は、日付、インバース・ドキュメント・フリークエンシー・マッチング、ターゲット検索エンジン、ユーザ識別子、及び／又はトレイル重みによって決定され得る。これらランキング基準の任意の一つ以上の組み合わせは、ユーザによって選択され得る。他の実施の形態では、トレイルは、クライアントのネットワークアドレス、及び／又は最初にそのトレイルに抗したユーザとの地理的な近接性に基づいて提示され得る。
【００７３】
トレイルレコーダ１１によってユーザのＩＰアドレスがキャプチャされる発明の実施の形態では、類似のユーザが、互いの過去の検索経験から利益を得ることができるように、ユーザは、自ら自身の国、組織、部門、又は他のサブグループ化を用いて、他のユーザによって生成されたトレイルを検索することを選択することができる。
【００７４】
ユーザは、自らの検索トレイルを他人と共有するか共有しないかを選択的に決定することができる。これは、トレイルレコーダ１１中の検索トレイルを使用するアクセス権データを付加することにより達成され得る。アクセス権データは、トレイルウォッチャ１０からユーザによって（例えば、ツールバー２０上のボタンを選択することにより）、又はトレイルレコーダ１１によって記録されたデータをその後編集することによって付加され得る。トレイルサーチャ１３は、その後、第３者へのアクセス権が許可されている検索トレイルデータについてのみ検索し得るように適合される。
【００７５】
トレイル上のステップがユーザによって訪問される度に、トレイル重みがインクリメントされる。トレイルの重みはトレイル中の全てのステップの累積的な重みであり、初期値はゼロである。トレイルステップが表示されてユーザがステップをクリックする度に、サーバ側のＣＧＩプログラムがトレイルステップの合計の重みを１だけインクリメントする（例えば、ｈｔｔｐ：／／ｔｕｒｂｏ１０．ｃｏｍ／ｃｇｉ−ｂｉｎ／ａｄｄｗｅｉｇｈｔ．ｃｇｉ？ｓｔｅｐｉｄ＝２１３２２１３）。より頻繁にクリックされるステップ１２は、より多くの重みを得る。トレイルの重みは、そのトレイルステップの全ての重みの合計である。結果ステップ中のトレイルの順序は、より抗されたトレイルを１番目に表示して、重みの降順で表示され得る。他の実施の形態では、トレイルの重みが時間の経過につれて次第に減少することができ、結果セット中により早く現れることにより、より新しいトレイルはポピュラーになり得る。ユーザはまた、ユーザが抗した他のトレイルの閲覧を選択することができる。従って、ステップ６２においてフォーマットした後に、順序づけられた検索トレイル結果がユーザに提示される。ステップ６３においてなされたトレイル重みのどのような調整も、トレイルステップテーブル４６中に維持される検索トレイルのステップへ重みを加える効果を有し、それはその後、ステップ６１において、関連する検索結果のソート時に考慮される。
【００７６】
検索クエリーディテクタ１０、検索トレイルレコーダ１１、アダプターマネージャ１２、及びトレイルサーチャ１３によって実行される上記されたクライアント側及びサーバ側の機能が、プログラム可能な装置又は機器に、望まれる機能を実行させるための一連の命令を備えるコンピュータプログラムによって実行されることが理解されるであろう。上記された実施の形態では、トレイルレコーダ１１、アダプターマネージャ１２、及びトレイルサーチャ１３は、リモートサーバに維持されたコンピュータプログラム又はコンピュータプログラムコンポーネントであるのに対して、検索クエリーディテクタは、クライアント中にインストールされたコンピュータプログラムによって実現される。発明の他の実施の形態では、トレイルレコーダ１１、アダプターマネージャ１２、及びトレイルサーチャ１３は、同じ物理的なサーバ上にホストされる必要が無い。同様に、アダプターテーブル４０、トレイルテーブル４５、トレイルステップテーブル４６、トレイルバケット４４、及び他のテーブル、並びに上記された機能を実行するために必要とされるデータベースは、それらデータベース又はテーブルにアクセスする１つ又は複数のコンピュータプログラムから、同じ又は異なるサーバ上に位置されることができる。
【００７７】
最後に、ここに添付された特許請求の範囲内において定められる技術的思想又は領域から逸脱しない範囲内で、本発明に対して様々な修正及び／又は追加がなされ得ることが理解されるべきである。例えば、上記された発明の実施の形態は、クライアントによってアクセスされたインターネットサイトの記録に関する一方、発明の他の実施の形態では、サイトは、イントラネット、エクストラネット、又はクライアント／サーバアプリケーションを実行する他のネットワークを通じてアクセスされ得る。
【図面の簡単な説明】
【００７８】
【図１】本発明に係る通信ネットワーク中のクライアントによってアクセスされたサイトを記録するためのシステムの検索クエリーディテクタの一部を形成するブラウザツールバーの表示である。
【図２】本発明に係る通信ネットワーク中のクライアントによってアクセスされたサイトを記録するためのシステムの相互に関連する構成要素の概略図である。
【図３】図２のシステムの一部を構成する検索クエリーディテクタの概略図である。
【図４】図２のシステムの一部を構成する検索トレイルレコーダである。
【図５】図２のシステムの一部を構成するアダプターマネージャの概略図である。
【図６】図２のシステムの一部を構成するトレイルサーチャの概略図である。
【図１】
2007519106.tif 000008
【図２】
2007519106.tif 000009
【図３】
2007519106.tif 000010
【図４】
2007519106.tif 000011
【図５】
2007519106.tif 000012
【図６】
2007519106.tif 000013
【手続補正書】
【提出日】平成17年8月15日(2005.8.15)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項１
【補正方法】変更
【補正の内容】
【請求項１】
通信ネットワーク中のクライアントによってアクセスされたサイトを記録するための自動化された方法であって、
前記クライアントから一つ以上の検索エンジンへの検索クエリーの提出を検出するステップと、
前記ネットワーク中のサーバ側の記録装置のために、前記クライアントへの検索クエリー結果の応答に続いて、続けてアクセスされたサイトの一つ以上のパラメータの検索トレイルを記録するステップとを含む方法。
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項３２
【補正方法】変更
【補正の内容】
【請求項３２】
通信ネットワーク中のクライアントによってアクセスされたサイトを記録するためのシステムであって、
前記クライアントから複数の検索エンジンのうちの１つへの検索クエリーの提出を検出するための検索クエリーディテクタと、
前記クライアントへの検索クエリー結果の応答に続いて、続けてアクセスされたサイトの一つ以上のパラメータの検索トレイルを記録するための、サーバ側の検索トレイルレコーダとを備えるシステム。
【国際調査報告】
2007519106.tif 000014
2007519106.tif 000015
2007519106.tif 000016