(57)【要約】要約書なし。【特許請求の範囲】
【請求項１】
オンラインリソースを用いるユーザの行動情報を提供するための方法において、
ネットワークを越えてリソースを使用するユーザの行動情報を収集する工程と、
該収集された行動情報を分析する工程と、
該収集された行動情報の分析結果を提供する工程と、
を含むことを特徴とする方法。
【請求項２】
該収集する工程は、
ネットワークを越えてリソースを使用するユーザの行動情報を収集する工程であって、該ユーザは、モニターされるパーミッションを与えている工程、
を含むこととする請求項１に記載の方法。
【請求項３】
該方法は、さらに、
該ユーザに、該モニターされるパーミッションを与える一つまたはそれ以上の誘因を提供する工程、
を含むこととする請求項２に記載の方法。
【請求項４】
該一つまたはそれ以上の誘因は、ニュース、テレビジョンプログラムスケジュール、選択されたエリアの地図、輸送情報、およびエリア情報のうちのいずれか一つまたは組合せを含むこととする請求項３に記載の方法。
【請求項５】
該リソースは、ワールドワイドウェブで提供されている一つまたはそれ以上のサービスを含み、該方法は、さらに、
モニタリングのためのウェブサイトの一つまたはそれ以上のリストを提供する工程を含み、
該行動情報は、ウェブサイトの該一つまたはそれ以上のリストのみで収集されることとする請求項１に記載の方法。
【請求項６】
一つまたはそれ以上のウェブサービスを使用するユーザの行動情報を提供するための方法において、
ユーザが、ウェブサイトの予め決められたセットを訪問する時、ウェブブラウザにおけるユーザの行動をモニターする工程と、
該ユーザが該モニターされたユーザ行動を照会することを許す工程と、
該モニターされたユーザ行動を、一つまたはそれ以上のサーバに、ネットワークを越えて送信する工程と、
を含むことを特徴とする方法。
【請求項７】
該モニターされたユーザ行動は、進入の方法、退出の方法、費消された時間、ローディング時間、応答時間、およびウェブページのナビゲーションの間に検出されたユーザインターフェースイベントのうちのいずれか一つを含むこととする請求項６に記載の方法。
【請求項８】
該送信する工程は、一つまたはそれ以上の匿名の識別子を用いて、該モニターされたユーザ行動を、一つまたはそれ以上のサーバに、ネットワークを越えて送信する工程であって、該ユーザの実際の身元は、保護されている工程を含むこととする請求項６に記載の方法。
【請求項９】
一つまたはそれ以上のウェブサービスを使用するユーザの行動情報を提供するための方法において、
一つまたはそれ以上の予め決められたウェブサイトに対して、モニターされるべきユーザを募る工程と、
該ユーザが、該一つまたはそれ以上の予め決められたウェブサイトを訪問する時、該ユーザの行動情報を収集する工程と、
該行動情報を提供する工程と、
を含むことを特徴とする方法。
【請求項１０】
モニタリングのための該予め決められたウェブサイトをエンティティから取得する工程を、さらに含むこととする請求項９に記載の方法であって、該提供する工程は、該行動情報を該エンティティに提供する工程を含むこととする方法。
【請求項１１】
該ユーザが、ユーザデバイス上に、モニタリングのためのエージェントをインストールすることを許す工程を、さらに含むこととする請求項８に記載の方法。
【請求項１２】
一つまたはそれ以上のウェブサービスを使用するユーザの行動情報を提供するためのシステムにおいて、
モニターされることに同意したユーザで識別されるワークステーション上に常駐するエージェントであって、該ユーザに応答する該エージェントは、予め決められたウェブサイトをブラウズし、該ユーザの行動情報を収集するエージェントと、
該ユーザの該行動情報を受信し、かつ、格納するよう動作可能なサーバと、
を含むことを特徴とするシステム。
【請求項１３】
該ユーザの該行動情報を格納するためのデータベースを、さらに含むこととする請求項１２に記載のシステム。
【請求項１４】
該エージェントは、該ユーザに、該行動情報を提供するユーザインターフェースを、さらに含むこととする請求項１２に記載のシステム。
【請求項１５】
該エージェントは、該ユーザに、リソースフル情報を提供するユーザインターフェースを、さらに含むこととする請求項１２に記載のシステム。
【請求項１６】
該リソースフル情報は、ニュース、テレビジョンプログラムスケジュール、選択されたエリアの地図、輸送情報、およびエリア情報のうちのいずれか一つを含むこととする請求項１５に記載のシステム。
【請求項１７】
該サーバは、該行動情報を分析するよう動作可能なアナライザを、さらに含むこととする請求項１２に記載のシステム。
【請求項１８】
該アナライザは、さらに、該行動情報の分析結果に基づいたレポートを提供することとする請求項１７に記載のシステム。
【請求項１９】
該行動情報は、ウェブページ上の一つまたはそれ以上の入力/出力イベントを含むこととする請求項１２に記載のシステム。
【請求項２０】
ウェブページ上の該一つまたはそれ以上の入力/出力イベントは、マウスクリック、マウススクロール、マウス移動、およびキーボード入力のうちのいずれか一つを含むこととする請求項１９に記載のシステム。
【請求項２１】
マシンによって読取り可能なプログラム格納デバイスであって、該マシンによって実行可能な命令のプログラムを明確に具体化して、ユーザの行動情報を提供する方法ステップを行うプログラム格納デバイスにおいて、
ネットワークを越えてリソースを使用するユーザの行動情報を収集する工程と、
該収集された行動情報を分析する工程と、
該収集された行動情報の解析結果を提供する工程と、
を含むことを特徴とするプログラム格納デバイス。
【請求項２２】
該収集する方法ステップは、
ネットワークを越えてリソースを使用するユーザの行動情報を収集する工程であって、該ユーザは、該収集について、モニターされるパーミッションを与えている工程、
を含むこととする請求項２１に記載のプログラム格納デバイス。
【請求項２３】
該リソースは、ワールドワイドウェブ上で提供される一つまたはそれ以上のサービスを含み、かつ、該方法ステップは、さらに、
モニタリングのためのウェブサイトの一つまたはそれ以上のリストを提供する工程を含み、
該行動情報は、ウェブサイトの該一つまたはそれ以上のリストのみで収集されることとする請求項２１に記載のプログラム格納デバイス。
【請求項２４】
マシンによって読取り可能なプログラム格納デバイスであって、該マシンによって実行可能な命令のプログラムを明確に具体化して、ユーザの行動情報を提供する方法ステップを行うプログラム格納デバイスにおいて、
ユーザが、ウェブサイトの予め決められたセットを訪問する時、ウェブブラウザにおけるユーザの行動をモニターする工程と、
該ユーザが該モニターされたユーザ行動を照会することを許す工程と、
該モニターされたユーザ行動を、一つまたはそれ以上のサーバに、ネットワークを越えて送信する工程と、
を含むことを特徴とするプログラム格納デバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に、コンピュータシステム、および、詳しくは、例えばワールドワイドウェブ上のリソースおよびサービスにアクセスするためにユーザインターフェースを使用するユーザの行動を、モニターし、かつ（あるいは）、提供するためのシステムおよび方法に向けられている。
【発明の背景】
【０００２】
ワールドワイドウェブ（ウェブ）およびその関連技術の発展は、情報技術（ＩＴ）基盤構造の大きな変貌、および、会社と個人消費者を含むそれらの顧客との間、並びに、会社とサプライヤまたは流通チャネルなどのサプライチェーン内の他社との間に巨大な事業機会を創出した。
【０００３】
また、ワールドワイドウェブに密接に関連した電子商取引（Ｅコマース）も、調達、Ｅ入札、ソーシングなどの企業対企業（Ｂ２Ｂ）のインタラクションにおいて、並びに、企業対消費者型の取引において、急速に発展しつつある。今日現在、さまざまな活動におけるＥコマースの有効性を証明する多数の例が生まれており、ウェブおよびインターネットベースの技術を成功裡に活用して事業を変貌させたいくつかのＥコマース会社が示されている。
【０００４】
Ｅコマースは、一般に、ウェブインターフェース（例えば、ウェブブラウザ）を経由して可能になるので、これらの企業が、彼らのウェブサイトを最も効率的に、かつ、便利に仕立てて、できるだけ多くのユーザを彼らのビジネスに引きつけることが重要である。例えば、すべてではないにしても、ほとんどのＥコマースのイニシアチブが、テキスト、イメージ、ビデオ、および音楽などのさまざまな情報、インタラクション用のさまざまなフォーム、およびオンラインサービスアクセスを提示する固有のアプリケーションである、クライアント側のウェブブラウザに依存している。このウェブブラウザベースのインタラクションという文脈では、いくつかの簡単な質問に対する応答を取得することが、良好なビジネスへの鍵となる。
【０００５】
これら企業に必要な関連情報の一例には、ウェブベースのサービスに接続するユーザ、消費者、チャネルパートナ、またはサプライヤの代表者が、例えばウェブページがロードされ、かつ、インタラクションが応答される速度の点で、許容し得る性能を経験しているかどうかが含まれる。他の例には、ウェブサービスを使用するウェブユーザの代表的な行動；顧客のタイプ、ウェブサービスを訪問する代表的な顧客の関心；ウェブサービスを照会または使用する人々のナビゲーションパターン；ユーザが、ウェブサービスを提供するウェブサイトに進入するのに使用した方法、が含まれている。
【０００６】
このタイプの情報は、ウェブサービスをホストする、あるいは、提供する企業だけでなく、競争会社のサービスの品質および状態に関心がある企業にとっても貴重である。しかしながら、驚くべきことに、そのような情報を取得するためのいかなる容易な方法も、現在は存在しない。インターネット視聴率の測定および分析に力を注いでいる既存の企業には、Ｎｅｔｖａｌｕｅ、Ｍｅｄｉａｍｅｔｒｉｘ、Ｗｅｂｔｒｅｎｄｓ、Ｗｅｂｓｉｄｅｓｔｏｒｙ、Ｋｅｙｎｏｔｅｓ、およびＮｅｔｒａｔｉｎｇｓなどがある。ＮｅｔｖａｌｕｅおよびＭｅｄｉａｍｅｔｒｉｘは、パネル指向の手法を提供しているが、収集された情報は、特にウェブナビゲーション行動には向けられないで、ユーザ用のすべてのインターネットプロトコル（ＩＰ）トラフィックに向けられる。さらに、これらの企業が採用しているパネル技術は、非常に侵入的であり、企業環境において容易に適用できない。ウェブサーバ中心のモニタリングの分野で周知のベンダであるＷｅｂｔｒｅｎｄｓ、および外部からウェブサイトＵＲＬをモニターするためのアウトソーシング型のサービスを提供しているＫｅｙｎｏｔｅｓもまた、さまざまなウェブページをブラウズするユーザの詳細なナビゲーション行動を提供していない。
【０００７】
Ｗｅｂｓｉｄｅｓｔｏｒｙは、ユーザが一般に気づいていない隠れたロード済みコンポーネントを使用することによって、ユーザ行動をモニターする。現在、Ｎｅｔ．ｇｅｎｅｓｉｓ（Ｎｅｌ．ａｎａｌｙｓｉｓ．ｐｒｏ）、Ａｃｔｉｖｅ  Ｃｏｎｃｅｐｔｓ（Ｆｕｎｎｅｌ  Ｗｅｂ）、Ａｃｃｒｕｅ  Ｓｏｆｔｗａｒｅ  Ｉｎｃ．（Ｈｉｔ  ｌｉｓｔ  ｐｒｏ）、およびＡｌｌｓｔａｔｓ４ｙｏｕ  ＳＡによって、他のログおよび分析ツールが提供されている。しかしながら、これらの会社が提供しているログ分析ツールは、ユーザワークステーションレベルでモニターしないため、例えば、ユーザによるウェブサーバからの体系的なページリロードを妨げるプロキシキャッシュの影響で、正確さが犠牲になっており、これらツールは、詳細なモニタリングのための、個々のページフレームまたはコンポーネントレベルでのモニタリングは行なわない。
【０００８】
したがって、より詳細にウェブ上のユーザ行動をモニターし、そのような情報に関心がある企業（例えば、ウェブサービスをホストし、かつ（あるいは）、所有する企業、および他の理由でワールドワイドウェブ上のユーザ行動を知りたいと望む企業）に、そのような情報を提供するためのシステムおよび方法を持つことが、非常に望ましい。
【発明の要約】
【０００９】
本発明は、ワールドワイドウェブをブラウズするユーザの詳細な行動を分析するための方法およびシステムに向けられている。行動情報は、一定のウェブサービスを使用する時ユーザがどのように行動するかを知りたいと望む企業に、提供されてよい。
【００１０】
ユーザデバイス（例えば、パーソナルコンピュータ（ＰＣ）、ＰＤＡ、ウェブ電話、またはワールドワイドウェブ内で通信するためのユーザインターフェースおよび通信容量を有する任意の他のデバイス）上に、エージェントソフトウェアをダウンロードおよびインストールしてよい。すると、エージェントソフトウェアが、ウェブブラウザまたはさまざまなウェブサービスと通信するためのウェブブラウザ様のインターフェース上で、利用状況をモニターする。ユーザは、必要に応じていつでも、エージェントソフトウェアを完全に使用可能にするか、あるいは使用不能にしてよい。収集された情報は、情報を格納してよいサーバロケーションに送信される。一般に、サーバは、エージェントソフトウェアをサービスする遠隔コンピュータである。情報は、次いで、ユーザ行動を知りたいと望むさまざまな企業に、それらの、または、競争会社および（または）関連会社のウェブサービスなど、他の選択されたウェブサイト上で、提供してよい。
【００１１】
収集されたウェブ利用状況情報には、例えば、訪問されたＵｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒ（ＵＲＬ）のアドレス、タイムスタンプとして示されたそのような訪問の精確な時間、各アドレス上で費やされた時間の量、およびブラウザへのページのローディング時間が含まれている。ページがフレームを含んでいる場合は、ユーザによって使用された、あるいは、アクセスされた各フレームに対して、そのような情報を提供してよい。付加的な情報には、移動元ＵＲＬ、ユーザがウェブページを活発にナビゲートしているかどうか、ユーザが別のアプリケーション内で作業をしているかどうか、ユーザがページを印刷またはスクロールするかどうか、が含まれていてよい。
【００１２】
本発明では、モニタリングセッションの全体を通して、ユーザのプライバシーおよび身元の保護が維持される、すなわち、ユーザは匿名のままである。収集された情報は、一般に、ユーザを見つける、または、識別するメカニズムを提供しない。
【００１３】
企業は、本発明により、さまざまなウェブサービス（自社のウェブサービスを含む場合もあり、含まない場合もある）を使用中の消費者行動に関する情報を受信することによって、利益を得てよい。厳しい市場競争の時代に競争力を維持するためには、最新の情報は特に有用かもしれない。企業は、例えば、Ｅコマース性能ベンチマーキングのために情報を使用することによって、競争上有利に情報を使用することができる。企業はまた、企業取引を戦略的に計画するために情報を使用することができる。
【００１４】
本発明の目的に従って、ユーザがダウンロードしてよいエージェントプログラムが、提供されている。エージェントは、ひとたびダウンロードされると、ユーザデバイス上に自動的にインストールされ、実行される。別法として、エージェントプログラムが、ユーザデバイス上にすでにインストールされていてよく、その場合は、ダウンロードしなくてよい。ユーザが、ユーザデバイスを使用してウェブブラウザを起動すると、エージェントは、エンドユーザの行動およびウェブブラウザの利用をモニターし、記録する。エージェントはまた、モニターされたエンドユーザの行動および利用データを、ネットワークを越えて遠隔サーバに送ってよい。
【００１５】
サーバは、一つまたはそれ以上のエージェントから送られたモニターされたデータを収集し、該データをデータベース内に格納する。サーバは、このデータベースの内容のデータマイニングおよび分析を行うアナライザープログラムを含んでいてよい。該アナライザーは、ウェブページの形態で情報レポートを生成してよい。該レポートは、選択されたウェブサービス（自社のウェブサービス、関連会社および（または）競争会社のウェブサービスを含んでいる場合もあり、含んでいない場合もある）上のさまざまなユーザ行動に関心がある企業に、提供してよい。
【００１６】
本発明のさまざまな実施形態の構造および動作に加えて、本発明のさらなる特徴および利点を、以下、添付図面を参照して、詳細に説明する。図面では、同様の参照番号は、同一または機能的に同様の要素を示す。
【００１７】
以下、本発明の好適な実施形態を、例のみにより、添付図面を参照して説明する。
【好適な実施形態】
【００１８】
本発明は、ユーザがインターネット上のウェブサービスとインタラクトすることを可能にする一つまたはそれ以上のユーザインターフェースを使用しているユーザの、ユーザインタラクションおよびナビゲーション行動をモニターするためのシステムおよび方法に向けられている。そのようなユーザインターフェースの一例には、ウェブブラウザが含まれている。そのようなウェブサービスの一例には、インターネットサーバのＵＲＬを経由してユーザデバイスからアクセスされるファイルが含まれている。説明全体を通して、これらウェブファイルを、可換的に、ウェブページまたはウェブリソースと呼ぶ。簡単に言えば、ＵＲＬは、インターネット上でアクセス可能なファイル（リソース）のアドレスである。リソースのタイプは、インターネットアプリケーションプロトコルに依存する。リソースは、ＨＴＭＬページ、イメージファイル、コモンゲートウェイインターフェース（ＣＧＩ）アプリケーションまたはＪａｖａアプレットなどのプログラム、またはウェブ上でサポートされる任意の他のファイルであってよい。ＵＲＬは、リソースにアクセスするのに必要なプロトコルの名称、インターネット上の特定のコンピュータを識別するドメイン名、およびコンピュータ上のファイル位置の階層的記述を含んでいる。
【００１９】
ウェブサイトは、ホームページと呼ばれる開始ファイルを一般に含んでいるウェブファイルの集まりである。例えば、ウェブサイトを有するほとんどの会社、組織、または個人は、単一のＵＲＬアドレスを有する。これは、それらのホームページアドレスである。ホームページから、それらのサイト上の他のページにアクセスすることができる。この意味で、ウェブサーバは、一つまたはそれ以上のサイトのためのファイルを保持するコンピュータである。非常に大きなウェブサイトが、多くの異なる地理上の場所に位置するいくつかのサーバ上に常駐している場合もある。ウェブサイトは、互いに関係の無い多数の他のサイトを備えた商用スペースプロバイダのサーバ上に常駐している場合もある。ウェブサイトは、ウェブプレゼンスと呼ばれることもあり、これは、サイトが特定の地理上の位置に結び付けられていないという概念をよりよく表現している。互いに他のサイト上のファイルにクロスリンクしている複数のウェブサイトを持つことも可能である。これは、すべてのファイルのために複数の開始場所またはホームページが存在し得ることを意味する。
【００２０】
ユーザがウェブリソースにアクセスする際に用いるユーザデバイスは、さまざまなＵＲＬを経由して提供されるウェブページにアクセスするためのインターフェースプログラム（例えば、ウェブブラウザ）を実行することができるデバイスであれば、何でもよい。ユーザデバイスの例には、ＰＣ、ウェブ電話、およびＰＤＡが含まれるが、これらに限定されない。以下の説明では、ＰＣ、ワークステーション、デスクトップは、本発明を説明するためのユーザデバイスの一例として、可換的に使用することになるが、本発明は、これらのデバイスを、ユーザデバイスとして使用することに限定されないことを理解されたい。
【００２１】
モニターされた情報には、ユーザがウェブページにアクセスしている間に実行したあらゆるタイプのユーザ行動および（または）ユーザアクションが含まれている。モニターされた情報の例には、異なるウェブページをどのように（例えば、ハイパーリンクを経由してまたは直接ＵＲＬアドレスをタイプして）訪問したか、ウェブページウィンドウがまだ開いている間にユーザが別のアプリケーションを開いたか、または、アクセスしたかどうか、スクロール、ウェブブラウザ上の詳細なナビゲーション、ウェブブラウザの利用状況などが含まれている。以下、この種の情報は、可換的に、ユーザ行動情報、行動情報、モニターされた情報、または情報と呼ぶ。
【００２２】
一実施形態では、モニターされた情報は、データベース内に収集されてよい。例えば、モニターされた情報は、ユーザデバイスから遠隔のサーバに送信され、データベース内に格納されてよい。したがって、情報は、誰でも（例えば、さまざまな目的のためにこの種の情報を持ちたいと望む企業、事業体、または会社などが）、データベースで利用可能である。例えば、他の会社の慣行をよりよく理解したいと希望する会社は、それら他の会社のウェブサイト上のユーザ行動に関連した情報を要求してよい。例えば、自社のウェブサイトを改善したいと希望する企業は、自社のウェブサイト上のユーザ行動に関連した情報を要求してよい。一実施形態では、データベースに格納された情報を、データマイニングし、かつ（あるいは）、分析して、企業、事業体、または会社に提供するためのレポートを生成してよい。
【００２３】
一実施形態では、企業、事業体、会社、さらには個人などのエンティティが、情報を購読または情報の受信を要求してよい。エンティティは、情報を希望するウェブサイトのリストを提供してよい。例えば、エンティティは、自らと同じ業種のウェブサイトに関連した情報に関心を持ってよい。
【００２４】
一実施形態では、情報を希望するエンティティが所有するあるいは該エンティティに属するウェブサイト、または本発明のシステムおよび方法に属する何らかのウェブサイトをユーザが訪問すると、モニタリングプロセスが開始される。例えば、エージェントダウンロードサービスを提供するウェブサイトをユーザが訪問すると、ユーザは、選択されたウェブサイトセットを訪問した際ウェブブラウザセッション中にモニターされることを希望するかどうか、質問される。ユーザが承諾した場合は、ユーザは、あるＵＲＬリンクに向けられ、そこからモニタリングエージェントソフトウェアをダウンロードし、ユーザデバイス上にインストールしてよい。別法として、ユーザデバイスにエージェントソフトウェアを予めインストールしておいてよく、その場合、ユーザは、該ソフトウェアをダウンロードしなくてよい。
【００２５】
エージェントソフトウェアは、インストールされると、一般に、ユーザのアクションまたは行動がモニターされることになるウェブサイトのリストにアクセスし得る。選択されたセットにリストされたウェブサイトのうちのいずれかにユーザが訪問またはアクセスする時にはいつでも、エージェントソフトウェアは、リストを使用して、これらウェブサイトに関するユーザのウェブ利用状況をモニターし、ユーザの行動情報を記録する。
【００２６】
行動情報を取得したいと希望するエンティティは、モニターされることを承諾するようユーザを促すために、オプションとして、ユーザに誘因を提供してよい。これらの誘因には、割引および（または）クーポン、および（または）一般のウェブユーザが一般に利用できない他の有用な情報が含まれていてよい。
【００２７】
エージェントが、ひとたびユーザワークステーション上にインストールされると、選択されたウェブサイト上で行動情報がモニターされ、情報をデータベース内に格納してよいサーバに送信される。サーバは、個々のユーザデバイスから遠隔に位置する中央サーバであってよい。また、サーバは、異なる地理上の位置間に分散されていてもよい。情報は、次いで、分析されて、そのような情報を要求するエンティティに提供されてよい。
【００２８】
一実施形態では、情報を要求するエンティティは、実際のモニタリングプロセスまたはモニターされた情報の受信および取り扱いに関与しなくてよい。例えば、エンティティは、情報の収集を希望するウェブサイトのリストを提供し、適時ベースで定期的に、または、エンティティがそのようなレポートの受信を要求した時点で、例えばレポートの形態で、情報を受信する。ユーザデバイス上にインストールされたエージェントソフトウェアが、情報をサーバに送り、該サーバが、情報を要求するエンティティまたはモニターされているウェブサイトとは無関係の中央データベースに、情報を格納する。エンティティの関与が最少であるため、エンティティが必要な情報の取得にたとえ独力で着手したとしても、システムおよび関連プログラムを維持するのに他の場合なら被る可能性のある負担およびコストが、大幅に軽減される。
【００２９】
図１は、一実施形態における本発明の概要設計スキーマ１００の一例を示す。ユーザ１０２には、ユーザパネル１０４または「観測パネル」の一部になるオプションが与えられている。ユーザパネル１０４または「観測パネル」とは、同一の選択されたウェブサイトセット上でモニターされることを承諾したユーザのリストを指す。一実施形態では、単一のユーザが複数のユーザパネルに属してよい、すなわち、一人のユーザが複数の選択されたウェブサイトセット上でモニターされることを承諾してよい。本発明の複数のユーザパネルの思想については、図１１を参照してより詳細に説明する。
【００３０】
図１を再び参照すると、ユーザ１０２がモニターされることを承諾すると、ユーザは、ユーザデバイス１０８（例えば、ワークステーションまたはデスクトップコンピュータ）上に、エージェントソフトウェア１０６をダウンロードおよびインストールすることが可能になる。エージェントソフトウェア１０６は、一般に、最少のユーザインタラクションで自動的にダウンロードおよびインストールを行う、実行可能プログラムである。エージェントソフトウェア１０６は、ひとたびダウンロードされると、自動的に実行されて、ユーザがウェブブラウザ１１０（例えばＩｎｔｅｒｎｅｔ  Ｅｘｐｌｏｒｅｒ（Ｒ））を経由してインターネット１１２を「サーフ」またはナビゲートする際に、ユーザアクションおよび（または）行動をモニターし、かつ、記録する。本発明の一実施形態では、選択されたまたは予め決められたウェブサイト１１４について、さまざまな種類のユーザ行動またはウェブ利用状況がモニターされる。
【００３１】
エージェント１０６は、ウェブサービス１２６から提供されたウェブページをブラウズしているユーザ１０２による、ウェブブラウザ（例えば、Ｍｉｃｒｏｓｏｆｔ  Ｉｎｔｅｒｎｅｔ  Ｅｘｐｌｏｒｅｒ（Ｒ））の使用を詳細にモニターする。一実施形態では、ユーザ１０２から事前の承諾があれば、エージェント１０６はサーバ１１８からロードして、ユーザのデバイス１０８（例えば、ＰＣまたはワークステーション）上に自動的に自己インストールする。エージェント１０６は、ひとたびインストールされると、ユーザ１０２がウェブブラウザ１１０を開くたびに、またはユーザデバイス１０８を起動するたびに、自動的にそれ自体を起動する。エージェント１０６は、ユーザ管理を必要とせず、中央処理装置（ＣＰＵ）オーバーヘッドまたはディスクおよびメモリーの利用状況の点で、ユーザデバイスに対する影響が最少である。エージェント１０６は、ユーザのウェブ活動をモニターし、予め定義されたサーバＵＲＬ上で、いかなるＧＵＩインタラクションもなしに、例えばバックグラウンドモードでのＨＴＴＰ要求を用いて、モニターされた情報を送信する。
【００３２】
一実施形態では、エージェント１０６は、選択されたウェブサイト上のユーザのウェブ活動をモニターするよう構成されている。このウェブサイトセットは、例えば、特定のウェブサイト上のユーザのウェブ利用状況を知りたいと望む企業エンティティによって選択されたものであってもよい。これらのウェブサイトは、該企業エンティティによって所有され、該企業エンティティに属し、かつ（または）該企業エンティティの競争会社によってサービスされていてもよい。エージェント１０６は、例えば、そこからユーザが、これらの選択されたウェブサイト上に提供されたウェブページまたはリソースにアクセスすることができるポップアップメニューを提供する。ユーザが、選択されたウェブサイト以外のウェブサイトを訪問した場合は、エージェント１０６は、これらの選択されていないウェブサイト上のユーザの利用状況をモニターまたは記録することはない。ユーザは、ユーザの利用状況がモニターされ、かつ、記録されているウェブサイトのリストを見てもよい。一実施形態では、ユーザは、エージェント１０６からサーバ１１８に送信された、収集された情報にアクセスすることもできる。
【００３３】
エージェント１０６は、モニターされた情報、すなわち、ユーザ行動情報を、ネットワークを越えてサーバ１１８に送る。この技術に長けた人には周知のように、該通信は一般に、公衆および（または）プライベートインターネットプロトコルネットワーク１１６を経由して行ってよい。サーバ１１８は、エージェント１０６から送られたユーザ行動情報を収集する。これら観測データは、データベース１２０内に格納してよい。また、サーバ１１８には、このデータベース１２０の内容のデータマイニングおよび分析を行って、さまざまなレポートを生成するアナライザーソフトウェアまたはプログラムが含まれていてよい。これらレポートは、ウェブページ１２４の形態であってよく、かつ（あるいは）、レポートは、別個のデータベース１２２に格納してよい。レポートは、エンティティに提供して、さまざまな企業目的に使用されてよい。
【００３４】
一実施形態では、本発明におけるモニタリングは、ユーザ１０２の匿名性を保護する、すなわち、情報を収集するサーバ１１８も、レポートを受信するエンティティも、ユーザ１０２を識別することができない。例えば、サーバ１１８内に固有の任意番号を生成し、同一ユーザから生じた受信済みのモニターされた情報を、サーバ側でこの番号を使用してグループ化してよい。エージェント１０６からサーバ１１８に、ユーザを識別する他のデータが通信されることはない。ユーザの利用状況の何らかの追跡記録を残すために、本発明の方法およびシステムによってクッキーが生成されることはない。さらに、識別番号は、ユーザを見つけるまたは識別するのを助ける可能性のある属性（例えば、ＩＰアドレス、マシン名、電子メールアドレス、ログオン名、またはユーザの身元に関連したその他のデータ）を使用して生成されない。その結果、サーバのデータウェアハウスは、一つまたはそれ以上の観測パネルのメンバーであるユーザに関する、直接的または間接的なデータを含んでいない。
【００３５】
エージェント１０６は、ユーザが選択されたウェブサイトを訪問した際に、固有の行動情報セットを収集する。図２は、ユーザが、自らの最近のブラウザ利用に関して、どのような情報が、サーバのデータベース１２０に、実際に保持されているかを調べるためにアクセスしてよい情報を示した画面表示２００の一例を示す。図示のように、訪問されたページ２０２、各ページのロード時間２０５、ページの使用または閲覧にユーザが費やした時間２０４、およびユーザのウェブ利用状況および行動の厳密な性質を理解するのを助ける付加的な「ローカルイベント」のリストを用いて、ウェブ利用状況が詳細に追跡される。
【００３６】
一実施形態では、ローカルイベントが、ユーザ行動を説明すアイコンまたは記号で表示してよい。例えば、２０８に示したアイコンは、ユーザが、モニターされたまたは選択されたウェブサイトのリストに属するページに進入するのに使用したリンクを記号化している。別のアイコンは、ユーザが新しいブラウザウィンドウを開いたことを示してよい。２１０に示したアイコンは、ユーザがローディングプロセスを中止した、または、カレントページが完全にロードされる前に、リンクを、別のページに変更したことを示してよい。２１２のアイコンは、ユーザが、ハイパーリンクを使用する代わりに、新しいＵＲＬをタイプ入力してページに進入したことを示してよい。２１４に示したアイコンは、モニターされたウェブサイトのリストに属さないページにナビゲートするのにユーザが使用したリンクを示してよい。２１６に示したアイコンは、ユーザがカレントページを印刷したことを示してよい。２１８に示したアイコンは、ユーザがページを手動でリフレッシュしたことを示してよい。２２０のアイコンは、ロードされたページの隠れた部分を見るためにユーザがスクロールしたことを示してよい。別のアイコンは、ページを見るためにユーザが平均より長い時間を費やしたことを示してよい。２２２のアイコンは、このページが平均を超えるロード時間を持っていたことを示してよい。２２４のアイコンは、ユーザがリンクをクリックすることによってページに到達したことを示してよい。２２６のアイコンは、ユーザが以前にロードされたウェブページにナビゲートするために、「戻る」または「進む」ブラウザナビゲーション機能を押したまたは選択したことを示してよい。
【００３７】
本発明の一実施形態では、ユーザワークステーション上にインストールされたエージェントソフトウェアは、重要な役割を果たしてよい。すなわち、エージェントは、単なる、埋められたまたは隠されたモニタリングプログラムではない。そうではなく、エージェントは、ユーザに対して、可視的であってよい。例えば、エージェントは、ユーザのデバイス（例えば、ＰＣデスクトップ）上で実行されて、観測パネルのメンバによって操作されてよいメニュー項目の１セットを提供する、小さなプログラムであってよい。上述のように、観測パネルは、（例えば、本発明のシステムを提供するウェブサイト、ポータル、またはサービスからエージェントをダウンロードおよびインストールために）モニターされることに同意したユーザのセットを含んでいる。
【００３８】
図３は、エージェントソフトウェアを有するユーザデバイス上で表示可能なポップアップメニュー３００の一例を示す。エージェントメニュー３００内のメニュー項目のセットは、オプションとして、３０２に示した選択されたウェブサイトの特定の領域内への選択された入口点に、ユーザが直接アクセスすることを可能にしてよい。これら特定の領域は、モニターされた情報を受信するエンティティによって決められたものであってよい。
【００３９】
一実施形態では、エージェントは、オプションとして、情報送出サービス、すなわち、ユーザが先に要求することなく情報がユーザに提供されるサービスを、提供してよい。例えば、メニュー３００は、サーバがユーザデバイスに送出した可能性のあるさまざまな情報へのリンク３０４を含んでいてもよい。このように、情報は、選択されたウェブサイトのうちのどれかをユーザが実際に訪問する必要なく、ユーザに通信されてよい。例えば、本発明では、情報送出をエージェントソフトウェアおよび（または）サーバが取り扱ってよいので、送出情報を通知する組織（例えば、パネル調査すなわちモニタリングを開始したパネル所有者組織）は、情報の伝達先として希望するユーザの厳密なアドレスを知る必要はない。その結果、ユーザは、この会社のウェブサイトを訪問する必要なしに、匿名のままであるが、会社のプロモーション、警告、重大な事実、サービスの混乱などの重要な情報を通知され続ける。ユーザがメニュー３００上の項目のうちのいずれか一つを選択すると、ブラウザウィンドウがすでに開いているまたは利用不可能である場合を除き、エージェントソフトウェアは、新しいブラウザウィンドウを開いて、選択されたサービスをロードする。
【００４０】
一実施形態では、観測パネルに属するユーザは、例えば、メニュー３００を使用し、メニュー３００上のニュース項目３０４を選択することによって、送出された情報の同一通知を受信してよい。ユーザは、次いで、付加的な情報のためのウェブサイトに向けられてよい。本発明は、パネルメンバー、すなわち、選択されたウェブサイトをユーザが訪問した時モニターされることに同意したウェブユーザに、該ウェブユーザと直接関連する必要なしに、有用なウェブサービスを提供できるようにするので、モニターされた情報を受信する法人エンティティは、ユーザの匿名状態を同時に維持しながら、そのユーザパネルのメンバーとより強い関係を構築することができてよい。
【００４１】
図１を参照して上に述べたように、収集された情報は、データベースに格納してよい。本発明は、さまざまな関心分野について情報レポートを構築するため、このデータベースをデータマイニングする分析モジュールを含んでいてもよい。これら関心事項の例には、さまざまなモニターされたサイト間のパネル視聴率の進化、ユーザがいつ、どのようにしてウェブサービスに進入および退出するかを特定するための詳細な分析、異常なユーザナビゲーション行動のきっかけとなるウェブサイト内のデフォルトを迅速に特定するためのウェブサイトおよびサービスの高水準監査が含まれていてよい。分析モジュールは、必要に応じて、自動的または定期的に実行されるよう構成してよい。
【００４２】
一実施形態では、分析モジュールは、望ましくはウェブページの形態で、結果および情報レポートを生成する。ウェブページは、次いで、そのような情報を要求しているエンティティに配布してよい。図４および５は、一実施形態における本発明によって生成されたウェブページレポートの例である。図４では、レポート４００は、使用頻度は高いがロード速度が遅いページ４０２、短時間訪問されたページ４０４、および訪問頻度は高いがウェブサイト内に深く埋め込まれたページ４０６を示す。この情報は、例えば、ウェブサイトをホストして、ベンチマーキングを行い、ユーザによりよくサービスする企業にとって、有用であろう。
【００４３】
図５は、本発明において生成されたレポートの別の一例である。レポート５００は、ウェブページの進入および退出情報を含んでいる。例えば、ページへのユーザの進入方法に関する統計が、５０２で表に表されている。進入方法には、サーチエンジン経由、ホームページ経由、または別のサイトからの直接進入が含まれていてよい。５０４では、レポート５００は、サーチエンジンからの詳細なエントリーも示している。５０６では、ウェブページからのユーザの退出方法に関する詳細なレポートも示されている。レポートされた退出方法には、ウェブページセッションがどのようにして終了したか、およびページを退出するためにどのナビゲーションボタンがクリックまたは選択されたか、が含まれていてよい。
【００４４】
図６は、一実施形態における本発明のシステムの設計アーキテクチャを示す。説明全体を通して、パネルユーザデバイス６０２とは、エージェントソフトウェアが実行中またはインストールされているデバイスを指す。モニターされているユーザは、パネルユーザと呼ぶ。本発明は、一つまたはそれ以上のパネルユーザをサポートできるようになっている。パネルユーザは、一般に、彼らのデバイス上のウェブブラウザ６１０（例えば、Ｉｎｔｅｒｎｅｔ  Ｅｘｐｌｏｒｅｒ（Ｒ）またはＮｅｔｓｃａｐｅ（Ｒ））を操作してウェブにアクセスする。
【００４５】
本発明のエージェント６０８は、パネルユーザデバイス６０２内に常駐しており、一実施形態では、互いにインタラクトする多数のモジュールを含んでいてよい。初期化モジュール６１１は、エージェントを実行可能なメインスレッドを作成し、ウェブブラウザ６１０への一般フッキングメカニズムを開始する。フッキングメカニズムは、パネルユーザによってウェブブラウザ６１０が起動されるとすぐに、スキャンブラウザダイナミックリンクライブラリ（ＤＬＬ）モジュール６２０が起動することを可能にする。初期化モジュール６１１はまた、プロセス間通信モジュール６１４およびＨＴＴＰ通信モジュール６１８を起動し、ウェブナビゲーション再構築モジュール６１６を起動することによってエージェントモジュール６０８の構成を初期化する。初期化モジュール６１１はまた、ユーザインターフェース管理モジュール６１２を起動して、パネルユーザがアクセスしたグラフィカルユーザインターフェース（ＧＵＩ）を取り扱う。
【００４６】
ユーザインターフェース管理モジュール６１２は一般に、ユーザアクションをモニターし、ユーザディスプレイウィンドウ内に「シストレイ状態アイコン」６２４と呼ばれる状態アイコンを表示する。シストレイ状態アイコン６２４には、「アクティブ」アイコン状態、「非アクティブ」アイコン状態、および「観測中」アイコン状態が含まれていてよい。アイコン状態は、その時パネルユーザがウェブページに関して何をしているかを示す。パネルユーザが、シストレイ状態アイコン６２４上のアイコン状態のうちの一つをクリックすると、ユーザインターフェース管理モジュール６１２が、パネルユーザ用に構成されたさまざまなオプション項目を提供するエージェントメニュー６２６を起動する。これらのオプション項目の例には、エージェントの停止、エージェントの使用不能／使用可能、集計された統計の照会、接続状態の閲覧、モニターされたウェブサイトの構成の照会、および関心ある特定のＵＲＬまたは最近送出された情報へのアクセスが、含まれていてよい。
【００４７】
スキャンブラウザＤＬＬモジュール６２０は、パネルユーザデバイス６０２上で実行中の各ウェブブラウザインスタンス６１０内で発生しているイベントを、フッキングおよびスキャンする。スキャンブラウザＤＬＬモジュール６２０は、個々のアクションおよびイベントをひそかに調査し、収集する。一実施形態では、スキャンブラウザＤＬＬモジュール６２０は、ウェブブラウザプロセスアドレス指定空間内で自らを実行するようインプリメントされている。エージェントモジュール６０８は、初期化モジュール６１１を経由して、スキャンブラウザＤＬＬモジュール６２０にそのフッキング技術を注入する。該フッキング技術については、図８を参照してより詳細に説明する。図６を再び参照すると、一実施形態のスキャンブラウザＤＬＬモジュール６２０は、エージェントプロセスのアドレス指定空間内では実行されない、すなわち、スキャンブラウザＤＬＬモジュール６２０は、ブラウザプロセスのアドレス空間内に注入される。通信モジュール６１４は、スキャンブラウザＤＬＬモジュール６２０の各インスタンスによって使用されて、収集された情報を、メインエージェントプロセス６０８に渡す。スキャンブラウザＤＬＬモジュール６２０は、基本シナリオ認識アルゴリズムと呼ばれるアルゴリズムを使用することによって、対応するウェブブラウザ６１０上で発生している基本ユーザインターフェースイベントをフィルタし、再構築する。以下、このアルゴリズムの代表的なインプリメンテーションを、より詳細に説明する。基本シナリオが認識されると、それらは、プロセス間通信モジュール６１４に渡されて、セッション再構築モジュール６１６によるさらなる分析を受ける。一実施形態では、ウェブセッションナビゲーション再構築モジュール６１６は、エージェント６０８プロセスアドレス空間内に位置していてよい。
【００４８】
プロセス間通信モジュール６１４は、各スキャンブラウザＤＬＬモジュール６２０が、モニターされた情報を、基本シナリオ測定値の形態で、エージェント６０８に通知できるようにする。プロセス間通信モジュール６１４は、受信した情報をウェブセッションナビゲーション再構築モジュール６１６に渡して、ユーザセッションレベルの詳細なナビゲーションおよびウェブブラウザユーザインタラクションの処理および分析が行われるようにする。ウェブセッションナビゲーション再構築モジュール６１６は、セッションパーセッション方式で、基本シナリオ測定値のフィルタリングおよび再組立てを行って、各モニターされたウェブページ上のコヒーレントなユーザブラウズ履歴を提供する。一実施形態では、基本シナリオメジャーは、グローバル先入れ先出し（ＦＩＦＯ）バッファ内でインプリメントされて、イベントの発生を直列化する。
【００４９】
ＨＴＴＰ通信モジュール６１８は、一般に、サーバ６０４との接続を取り扱う。例えば、デバイスが、ＷＩＮＤＯＷＳベースの時は、ＨＴＴＰ接続は、ＷＩＮＩＮＥＴ  ＡＰＩ  ６２８の上に構築されてよい。一実施形態では、ＨＴＴＰ通信モジュール６１８は、再構築されたセッションレベルの測定値をサーバ６０４に送る。ＨＴＴＰ通信モジュール６１８はまた、サーバ６０４からさまざまな構成データを検索するよう働いてよい。
【００５０】
ダイヤルアウト管理モジュール６２２は、エージェント６０８がサーバ６０４と通信する必要がある時（例えば、デバイスがモデムを経由して公衆電話網に接続される場合）、自動的に発生する可能性のあるダイヤルアウト呼出しを制御するのに利用されてよい。ダイヤルアウト管理モジュール６２２は、ＨＴＴＰ通信モジュール６１８のスレッド内で自動的に発生しているあらゆるダイヤルアウトポップアップウィンドウまたはダイヤルアウトプロセスを検出し、パネルユーザが電話モデムベースのインターネット／ＩＳＰセッションを終了したことが検出された時、ダイヤルアウトプロセスを中止することができる。
【００５１】
サーバ６０４は、インターネット、エクストラネット、および（または）イントラネットを越えて配布される一つまたはそれ以上のエージェント６０８から、例えばＨＴＴＰ  Ｐｏｓｔ要求の形態で、再構築されたセッションレベルの測定値を受信する。サーバ６０４は、一実施形態では、例えば、新しい再構築されたセッションレベルの測定値で  データベース６３２を更新するために、かつ（あるいは）、その構成（例えば、モニターされるべきウェブサイトのリスト）をデータベース６３２から検索するために、エージェント６０８が、ＨＴＴＰ  ＰＯＳＴモードで要求することができるＨＴＭＬ  ＦＯＲＭＳ上のＵＲＬを提供してよい。
【００５２】
データベース６３２は、さまざまな展開済みの、かつ、アクティブなエージェント６０８から送信された測定値を収集し、格納するためのデータリポジトリを、サーバモジュール６３０に提供する。一実施形態では、データベースは、ＳＱＬデータベースとしてインプリメントされてよい。データベースはまた、タイムスタンプのついた識別可能な測定値の集まりを格納および検索するための機能を提供する、フラットファイルまたは順編成索引付きファイルを使用してインプリメントされてよい。
【００５３】
図７は、一実施形態における本発明のマルチスレッド型アーキテクチャ設計７００を示す。図７を参照して本発明を説明する際に、一例としてＩｎｔｅｒｎｅｔ  Ｅｘｐｌｏｒｅｒ（Ｒ）ウェブブラウザを使用するが、他のいかなるインターフェースも利用してよいこと、およびＩｎｔｅｒｎｅｔ  Ｅｘｐｌｏｒｅｒ（Ｒ）は一例としてのみ使用されていることを理解されたい。一つまたはそれ以上のスキャンブラウザＤＬＬスレッド７２０が、アクティブＸコントロールインターフェースおよび関連スレッドを利用して、各ユーザのアクティブブラウザ（例えば、Ｍｉｃｒｏｓｏｆｔ  Ｉｎｔｅｒｎｅｔ  Ｅｘｐｌｏｒｅｒ（Ｒ）ウェブブラウザ）上にホストされる。エージェント７０８は、スキャンブラウザＤＬＬ７２０のインスタンスごとに、プロセス間通信モジュールの一つのインスタンスまたはスレッド７１４を含んでいる。エージェントメインスレッド７０２は、初期化モジュール７１０並びにユーザインターフェース管理モジュール７１２をホストし、ウェブセッションナビゲーション再構築モジュール７１６を使用して、通信モジュールから受信した構成データの初期化、検索、および解釈を行う。
【００５４】
通信モジュールスレッド７０４は一般に、サーバとの接続を取り扱い、ダイヤルアウトモジュール７２２および通信モジュール７１８を含んでいてよく、例えば、Ｍｉｃｒｏｓｏｆｔ  ＷＩＮＩＮＥＴ  ＤＬＬ７２８をロードして、サーバへのＨＴＴＰベースの接続を提供する。エージェント７０８は、グローバルデータ領域７０６を含んでいてよく、そこで、再構築されたセッションレベルの測定値を、例えば、ＦＩＦＯバッファ７２４に格納して、通信スレッド７０４によってサーバに送ってよい。グローバルデータ領域７０６はまた、サーバから受信した構成データ７２６を格納してよい。構成データの例には、このユーザのためにモニターされるべきウェブサイトのリストなどが含まれている。
【００５５】
図８は、各実行中のブラウザプロセスからナビゲーション情報をひそかに調査および収集するための、本発明の一実施形態におけるフッキングメカニズムを示すブロック図である。エージェント８０８内の初期化モジュール８１０は、例えば、Ｗｉｎｄｏｗｓオペレーティングシステム内に、一般フックをセットする。ＷＶ＿Ｈｏｏｋｉｎｇ＿Ｐｒｏｃｅｓｓ  ＤＬＬ８０２は、例えば、Ｍｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ  ＳｅｔＷｉｎｄｏｗｓＨｏｏｋＥｘ  ＡＰＩを使用して、インストールされる。このＷＶ＿Ｈｏｏｋｉｎｇ＿Ｐｒｏｃｅｓｓ  ＤＬＬは、ウェブブラウザアプリケーション内の作業を「観測」またはモニターするスキャンブラウザＤＤＬモジュール８２０の「注入メカニズム」として使用される。
【００５６】
開始された各ＷＩＮＤＯＷＳプロセスに対して、ＷＶ＿Ｈｏｏｋｉｎｇ＿Ｐｒｏｃｅｓｓ  ＤＬＬ８０２が、オペレーティングシステムによって自動的に呼び出される。ＤＬＬのコールバック機能は、何もせず、ただちにＯＫというコードを返す。このＤＬＬは、何らかのＷＩＮＤＯＷＳプロセスの開始時に呼び出されると、現在のプロセスがウェブブラウザプロセスかどうかをチェックする。現在のプロセスがウェブブラウザプロセスの場合は、検出されたウェブブラウザプロセスのアドレス空間内に、ＷＶ＿Ｈｏｏｋｉｎｇ＿Ｐｒｏｃｅｓｓ  ＤＬＬ８０２によってスキャンブラウザＤＬＬモジュール８２０が起動される。
【００５７】
スキャンブラウザＤＬＬ８２０は、三つの新型のフックを作成する。第一のフック８０６は、ＩＯｌｅＣｏｍｍａｎｄＴａｒｇｅｔ：：ｅｘｅｃ  ＷＩＮＤＯＷＳ  ＡＰＩ呼出しを経由して、Ｍｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ  ＣＯＭ  Ｃｌａｓｓ８１６上に生じる。このフックの目的は、Ｉｎｔｅｒｎｅｔ  Ｅｘｐｌｏｒｅｒ（「ＩＥ」）プロセス、すなわち、ウェブブラウザプロセス８０４から、イベントおよびメッセージを受信するために、登録を受けることである。このフック８０６はまた、ＩＥプロセス８０４に埋め込まれたアクティブＸコントロールインスタンス８１８を発見すること、およびそれらにフックを置くことができる。第二のフック８１２タイプは、ＩＨＴＭＬＤｏｃｕｍｅｎｔ２およびＩＨＴＭＬＷｉｎｄｏｗｓ２  Ｍｉｃｒｏｓｏｆｔ  ＩＥ  アクティブＸコントロール上に生じる。この第二のフック８１２は、Ｗｉｎｄｏｗｓ（Ｒ）「アドバイザリシンク」フックメカニズムを使用してインプリメントされる。第二のフック８１２の目的は、ＨＴＭＬドキュメントの内部から情報を検索することである。発見されたアクティブＸコントロールインスタンスごとに、一つのフックアドバイザリシンクが、他のフックインスタンスを経由してインプリメントされる。アクティブＸコントロールインスタンスは、個々のウェブページ「フレーム」に対応してよい。
【００５８】
第三のフックタイプ８１４は、例えば、ＳｅｔＷｉｎｄｏｗｓＨｏｏｋＥｘ  ＷＩＮＤＯＷＳ  ＡＰＩを使用して、各アクティブＸコントロールスレッド８２２上に生じる。この第三のフック８１４の目的は、ＧＵＩ管理専用のフック済みアクティブＸコントロールスレッドからイベントおよびメッセージを受信するため、登録を受けることである。発見されたアクティブＸコントロールスレッドインスタンス（７２０  図７）ごとに、第三のタイプ８１４の一つのフックがインプリメントされてよい。
【００５９】
本発明では、スキャンブラウザＤＬＬ８２０は、既存のウェブブラウザ、例えば、ＩＥウェブブラウザプロセスの後に起動され、ウェブブラウザプロセスを再開する必要なしに、「オンザフライで」イベントのスキャンまたは観測を開始することが可能になってよい。一実施形態では、スキャンブラウザＤＬＬ８２０は、ＨＴＭＬドキュメント状態に関連し、かつ、ＧＵＩ活動に関連した低レベルシステムイベントおよびメッセージの大形のセットを検索する。ＨＴＭＬドキュメント状態に関連したイベントおよびメッセージは、ＵＲＬ、ページがロードされた、要求された、リフレッシュされたなどを含んでいてよい。関連するＧＵＩ活動は、マウスクリック、キーボードのキーストローク、スクロールバーの利用状況などを含んでいてよい。
【００６０】
収集された情報は、次いで、例えば、ナビゲーションシナリオ認識または分析アルゴリズムを使用することによって、解釈されてよい。図９は、本発明の一実施形態における分析アルゴリズムを示すブロック図９００である。該アルゴリズムは、フレーム、マウスクリック、サイズ変更、非アクティブ状態などの低レベルＧＵＩベーシックイベントおよびオブジェクトインタラクションから、ユーザ行動またはウェブ利用状況の高レベル記述的履歴を構築するのに使用されてよい。一実施形態では、該高レベル記述的履歴は、ウェブブラウザセッション、すなわち、ユーザがウェブブラウザを開いたときからユーザがウェブブラウザを閉じるまたは退出するときまでごとに、構築されてよい。
【００６１】
一実施形態では、該アルゴリズムは、低レベル測定値またはイベントの連続的かつダイナミックな分析を含んでおり、二つの構成部分に分割される。一方の部分は、注入されたモジュールであるスキャンブラウザＤＬＬ９２０として、ウェブブラウザプロセス内で実行される。他方の部分は、中央エージェント９０８のセッションナビゲーション再構築モジュール９１６内で実行される。９２２で示したように、本発明のフックがインプリメントされると、スキャンブラウザＤＬＬ９２０は、ＵＲＬ、ロードされた、要求された、リフレッシュされたなどの、ＨＴＭＬドキュメント状態に関連し、かつ、マウスクリック、キーボード、スクロールバーインタラクションなどの、ＧＵＩ活動に関連した低レベルシステムイベントおよびメッセージのセットを検索する。９２４で示したように、スキャンブラウザＤＬＬ９２０は、収集された「基本シナリオ」を記述するためのモジュールを含んでいる。「基本シナリオ」は、予め決められた順序または時間内の、互いに相関した低レベルイベントの論理シーケンスである。
【００６２】
例えば、基礎的なウェブリンクナビゲーションを反映する基本シナリオは、以下のものを含んでいてよい。すなわち、ウェブページフレームハイパーリンク上でのユーザのマウスクリックの検出；対応するフレームの「停止」通知（例えば、ブラウザが、新しいクリックナビゲーション、フレーム破壊検出をインプリメントするために、現在のＵＲＬダウンロードを中止する）；新しいフレーム起動通知。このような、ＤＬＬ９２０によってモニターされ得る、予期された低レベルイベントのシーケンスは、ユーザが、前のウェブページに位置するハイパーリンクをクリックすることによって、別のウェブページに切り替えたことを示している。
【００６３】
９２６では、低レベルイベントおよびメッセージのフローを受信している間に、例えばオートマトンマシンを使用して、一致している基本シナリオの構文解析および検索を行ってよい。一致している基本シナリオとは、予め定義されたシーケンス、すなわち、シナリオに一致する低レベルイベントが発生しているシーケンスを指す。一致した基本シナリオは、９２８で示したように、さらなる分析のために中央エージェント９０８に渡される。一実施形態では、ウェブセッションナビゲーション再構築モジュール９３０は、プロセス間通信モジュール９１４を経由して基本シナリオ測定値を受信し、「セッションレベル」シナリオを記述するための構造を構築する。「セッションレベル」シナリオは、例えば、時間順に従って互いに相関した、基本シナリオ測定値の論理スートである。ウェブセッションナビゲーション再構築モジュール９３０はまた、すでに一致している基本シナリオ観測のフローを受信している間に、一致しているセッションレベルのシナリオの構文解析および検索をするための、オートマトンを含んでいてよい。出力されたセッションレベルのシナリオは、ＦＩＦＯバッファ９３６内に格納されて、サーバに送信されてよい。テーブル１は、ナビゲーション再構築モジュール９３０によって出力されたセッションレベル情報の例のリストである。
【００６４】
【表１】
2004530179.tif 000002
【００６５】
図１を再び参照すると、エージェント１０６は、エージェントを実行すること、および、収集された情報をサーバ１１８に送ることに同意したユーザの身元を保護しながら、ユーザワークステーション１０８のパネル全体に亘って展開してよい。すなわち、ユーザのプライバシーは、完全に保護されてよい。本発明の一実施形態におけるユーザの身元の保護は、収集された情報をサーバ１１８に送信する時にユーザのさらなる識別が必要でないように、通信セッションごとに、各ユーザエージェントに対して匿名の識別子（ＩＤ）を使用することによって実現される。
【００６６】
一実施形態では、このユーザ識別保護スキームは、サーバデータベース１２０内で三つのメインテーブルを定義することによってインプリメントされる。第一のテーブルは、ユーザＩＤテーブルと称する。ユーザパネル１０４の一部である各ユーザに対して、固有の解釈不可能なＩＤが、サーバ１１８によって割り当てられる。該ＩＤは、整数値であってよい。第一のテーブル構造は、以下の三つのフィールドを含んでいる。すなわち、ユーザ匿名ＩＤ、ユーザエージェントとサーバとの初回接続の日時、およびユーザエージェントとサーバとの前回もしくは最近の接続日時。このテーブル内の行インスタンスの一例は、以下の通りである。
【００６７】
＜  ６５４５  ／  Ｏｃｔ  ２８，  ２０００  １４：０５：００  ／  Ｏｃｔ  ３０，  ２０００  １８：０８：０７  ＞
第二のテーブルは、ワークステーションリストテーブルと称する。アクティブパネルの一部である各ユーザデバイスに対して、一つの新しい行が、サーバ１１８によってこのテーブル内に作成される。該ワークステーションリストテーブル構造は、以下の七つのフィールドを含んでいる。すなわち、ワークステーションＩＤ、ブラウザタイプ、ブラウザバージョン番号、オペレーティングシステムバージョン、初回ユーザセッションの日時、前回もしくは最近のユーザセッションの日時、エージェントバージョン番号。このテーブル内の行インスタンスの一例は、以下の通りである。
【００６８】
＜  ４５６３７  ／  ＩＥＸＰＬＯＲ  ／  ５．００．２０１４．２００  ／  ０ｘ５６５００４  ／  Ｏｃｔ  ２，  ２０００  ０９：００：００  ／  Ｏｃｔ  ３０，  ２０００  １８：００：００  ／  １．０．１  ＞
第三のテーブルは、セッションテーブルと称する。ユーザパネル１０４の一部である各ユーザに対して、そのウェブブラウザを使用する各セッション、すなわち、ウェブブラウザを開いたときから閉じたときまでの時間に対して、サーバ１１８によってセッションテーブル内に一つの新しい行が作成される。該セッションテーブルは、以下の五つのフィールドを含んでいる。すなわち、セッションＩＤ、ユーザ匿名ＩＤ、セッション開始の日時、セッション持続時間、ユーザセッション中に収集されたすべての情報上のポインタ。該ポインタは、情報を有する別のテーブル上にあってよい。
【００６９】
ここで、上述のテーブルを使用して匿名のユーザＩＤを割り当てるプロセスを、図１０を参照してより詳細に説明する。図１０は、本発明の一実施形態における匿名のユーザＩＤを割り当てるプロセスを説明するフローチャートである。１００２では、ユーザは、例えば、インターネット上の異なるウェブサイトをブラウズすることによって、エージェントプログラムまたはソフトウェアをダウンロードできるＵＲＬリンクを取得する。１００４では、ユーザは、ユーザパネルの一部になることを決定し、１００２で取得したリンクを使用して、ユーザデバイス上にエージェントをインストールする。ユーザデバイスは、例えば、Ｍｉｃｒｏｓｏｆｔ  ＷｉｎｄｏｗｓおよびＩｎｔｅｒｎｅｔ  Ｅｘｐｌｏｒｅｒ（Ｒ）ウェブブラウザを備えたパーソナルコンピュータである。ダウンロードされたエージェントプログラムは、エージェントがその収集された情報を送る予定先であるサーバへのＵＲＬを含んでいる。サーバは、上述のように、収集された情報を格納するためのデータベースを含んでいてよい。１００６では、エージェントは、ひとたびインストールされると、それは、自動的に起動される。別法として、デバイスにすでにエージェントがインストールされている場合は、ダウンロードステップおよび（または）自動インストールステップはバイパスされてよい。
【００７０】
エージェントは、メニューまたはツールバー（例えば、６２４、６２６  図６）などのユーザインターフェースオブジェクトを作成し、１００８で、インターネット接続が開かれた場合は、エージェントは、モニターされたウェブサイトのリストをサーバデータベースからダウンロードする。エージェントがインストールされた時点でインターネット接続が開かれなかった場合は、エージェントは、インターネット接続が次回開かれた時点で、ウェブサイトのリストをダウンロードする。ユーザは、エージェントのユーザインターフェースメニューを使用して、観測されたまたはモニターされたウェブサイトのこのリストを照会してよい。
【００７１】
１０１０では、ユーザがモニターされたウェブサイトの一つを初めてブラウズする時、エージェントは、「エンドユーザ匿名ＩＤ」および「ワークステーションＩＤ」をサーバに要求する。サーバは、これら二つの新しいＩＤで応答する。１０１２では、エージェントが、既知の暗号化アルゴリズムのうちのいずれか一つを使用して、受信されたＩＤを暗号化する。エージェントは、ＩＤを、例えば、ＷＩＮＤＯＷＳ  ＲＥＧＩＳＴＲＹ内に格納する、すなわち、ＨＫＥＹ＿ＣＵＲＲＥＮＴ＿ＵＳＥＲキーでユーザ匿名ＩＤを、また、ＨＫＥＹ＿ＬＯＣＡＬ＿ＭＡＣＨＩＮＥキーでワークステーションＩＤを、格納する。
【００７２】
１０１４では、ユーザがそのウェブブラウザアプリケーションを開くたびに、エージェントは、ＨＫＥＹ＿ＬＯＣＡＬ＿ＭＡＣＨＩＮＥキーで格納されている通りのワークステーションＩＤ、ユーザワークステーションのオペレーティングシステムタイプに関する情報、バージョン番号、ブラウザタイプ、ブラウザバージョン番号、およびエージェントバージョン番号を送る。サーバは、この情報を受信し、情報を、１０１６で、そのワークステーションリストテーブル内に格納する。１０１８では、各ウェブブラウザセッションの開始時に、エージェントは、ＨＫＥＹ＿ＣＵＲＲＥＮＴ＿ＵＳＥＲキーで格納されている通りのユーザ匿名ＩＤを、サーバに送る。サーバは、この新しい現在のセッション用に、エージェントが使用すべき新しいセッションＩＤで返答する。
【００７３】
１０２０では、エージェントは、新しいセッションＩＤを受信し、１０２２では、いずれかの既知の暗号化アルゴリズムを使用して、新しいセッションＩＤを暗号化する。暗号化された新しいセッションＩＤは、次いで、ＨＫＥＹ＿ＬＯＣＡＬ＿ＭＡＣＨＩＮＥキーで、ＷＩＮＤＯＷＳ  ＲＥＧＩＳＴＲＹ内に格納される。１０２４では、エージェントが、ナビゲーションでユーザセッションレベルのシナリオを検出するたびに、エージェントは、この現在のセッションに対するセッションＩＤおよびナビゲーション収集された情報を、サーバに送る。ウェブブラウザセッションの終了時には、エージェントは、１０２６で、サーバにセッションＩＤを送る。サーバは、返答し、エージェントは、１０２８で、ＨＫＥＹ＿ＬＯＣＡＬ＿ＭＡＣＨＩＮＥキーで、ＷＩＮＤＯＷＳ  ＲＥＧＩＳＴＲＹ内のセッションＩＤをクリアする。
【００７４】
ユーザは、どの時点でも、エージェントインターフェースメニュー（６２４、６２６  図６）を使用することによって、現在および過去のナビゲーションセッション中に収集された情報を可視化してよい。ユーザからそのような要求があると、エージェントは、それまでに収集された情報をサーバに要求する。サーバは、データベース内に格納されたセッションに関連した情報で返答する。エージェントは、この情報を受信し、フォーマットし、例えば、ダイアログボックスウィンドウ内に、表示する。
【００７５】
上述のように、本発明は、エンティティが、予め定義または選択されたウェブサイトのリスト全体に亘ってウェブユーザ行動を調査すること；調査に参加するウェブユーザを募ること（例えば、調査に参加するユーザをパネルユーザと呼ぶ）；および送出メカニズムによってパネルユーザに提供されたニュースサービスを含めて、エージェントメニューを経由してパネルユーザがアクセスしたいウェブサービスを提供することによって、パネルユーザに誘因を申し出ること、を可能にする。
【００７６】
一実施形態では、ユーザは複数のパネルの一部となる。例えば、第一のエンティティは、そのパネルの一部となるようユーザに依頼してよい。ユーザが同意した場合は、第一のエンティティは、ユーザの利用状況がモニターされ、かつ、収集されることになるウェブサイトのリストを提供する。第二のエンティティも、そのパネルの一部となるよう同一ユーザに要請してよい。第二のエンティティも、ユーザの利用状況がモニターされ、かつ、収集されることになるウェブサイトのリストを提供する。ユーザは、このようにして、本発明における複数のパネルのメンバーとなってよい。第一のエンティティのリスト内のウェブサイトと第二のエンティティのリスト内のウェブサイトは、重複してよい。
【００７７】
図１１は、本発明の一実施形態におけるパネル構成１１００を示す。ユーザデバイス上にダウンロードされた代表的なエージェントソフトウェアパッケージ１１０１は、実行可能エージェントソフトウェア１１２０、エージェントがモニターされた情報を通知するのに使用することになるサーバ１１０２のＵＲＬを含んでいる。エージェントソフトウェアパッケージ１１０１は、オプションとして、任意のカスタマイズされた情報１１０３（例えば、パネル調査を開始しているエンティティの身元を参照するアイコン、ＧＵＩ、およびロゴ）を含んでいてよい。サーバは、一般に、一つまたはそれ以上の異なるパネル構成１１００を取り扱う。一つのパネル構成に対して、サーバは、モニターされるべきウェブサイトのリスト１１０５、メニュー設定構成１１０６（例えば、「ロイターニュース」、「ニューヨーク市地図」（図３、３０２）などの関心のあるさまざまなオンラインウェブサービスにアクセスするためのＵＲＬのリスト）、情報送出のためのニュース設定１１０７（例えば、送出されたニュースページのＵＲＬまたは送出されたページのタイトル）を、エージェントに提供する。行動情報は数個の異なるウェブサイトに対して収集されるので、パネル調査を開始したエンティティ以外のエンティティにも、情報を提供してよい。さらに、エージェントは、ウェブユーザの行動情報を初期化および提供する際に、複数のサーバと通信または作業してよい。さらに、パネルユーザは、上述のように、複数のパネルのメンバーになってよい。付加的なパネルは、同一のサーバによって、あるいは、別のサーバによって取り扱われてよい。その結果、ユーザデバイス上で実行中のエージェントは、各リストが一つのパネル調査に対応している、ウェブサイトの一つまたはそれ以上のリストのモニタリングを取り扱ってよい。同様に、一つまたはそれ以上のサーバが、ユーザデバイス上で実行中の一つまたはそれ以上のエージェントを取り扱ってよい。さらにまた、本発明における一つまたはそれ以上のサーバが、一つまたはそれ以上のパネル調査、すなわち、それぞれパネル調査を開始した一つまたはそれ以上のエンティティのためにモニターされているウェブサイトの一つまたはそれ以上のリストを実行中の、一つまたはそれ以上のエージェントを取り扱ってよい。
【００７８】
一実施形態では、少なくとも一つのパネルのメンバーであるユーザが、別のパネルでメンバーになった結果として、別のエージェントソフトウェアパッケージ１１０１もダウンロードした時は、実行可能エージェントの最新のバージョンが、ユーザデバイス上に保持される。別法として、異なるエージェントパッケージバージョンを、例えば互換性のために、並行して実行してよい。マシンリソース上のエージェントのフットプリントをできるだけ低く維持するために、エージェント１１２０の一つのインスタンスのみが、ユーザデバイス上で実行され、なおかつ、複数のパネルを取り扱うことができてよい。
【００７９】
ユーザデバイス上で実行中のエージェントは、一つまたはそれ以上のサーバからの異なるパネル構成１１００を、取り扱い、かつ、実行してよい。すなわち、本発明では、サーバは、中央サーバ、あるいは、一つまたはそれ以上の分散型サーバであってよい。一実施形態では、エージェントは、各パネル構成１１００に対して、モニターされたウェブサイトのリスト１１０５の集合体であるウェブサイトのリストをモニターする。複数のパネルの一部であるユーザは、一般に、個々のパネル構成１１００によって提供されたメニュー１１０６およびニュース送出情報１１０７のすべてにアクセスすることができる。
【００８０】
同一ユーザが複数のパネルの一部である場合は、一つまたはそれ以上のサーバが、異なる匿名ＩＤを用いて、該ユーザを識別してよい。
【００８１】
図１２は、一つまたはそれ以上のパネル構成を取り扱う、一つまたはそれ以上のサーバおよび一つまたはそれ以上のエージェントの一例スキーマ１２００を示す。一つまたはそれ以上のサーバ１２０４が、一つまたはそれ以上のエージェント１２０２と通信して、一つまたはそれ以上の構成パネル１１００を取り扱ってよい。図１２に例示したように、一つのサーバ１２０２が、複数のエージェント１２０２をサービスしてよい。一つのエージェント１２０２が、複数の構成パネルをサービスし、かつ（あるいは）複数のサーバ１２０４と通信して、該一つまたはそれ以上の構成パネルを取り扱ってよい。さらに、エージェント・構成パネル・サーバ結合の他の組合せも可能であってよい。したがって、図１２に示した結合は、例のみのためであり、本発明は、図１２に示したものに限定されないことを理解されたい。
【００８２】
本発明は、複数のパネルのメンバであるユーザが、シストレイに表示された個別のアイコンを経由して個々に、または、メニュー全体にアクセスできるようにする単一のアイコンを経由してすべて同時に、各パネル構成１１００のカスタマイズされたアイコン、ＧＵＩ、およびロゴ１１０３にアクセスすることを可能にする。
【００８３】
以上、発明をその好適な一実施形態に関して具体的に示し、かつ、説明したが、この技術に長けた人なら、形態および詳細における上述および他の変更が、発明の趣旨および範囲を逸脱することなく、この技術の中で、実施できることを理解されよう。
【図面の簡単な説明】
【００８４】
【図１】一実施形態における本発明の概要スキーマを示す。
【図２】ユーザが自らの最近のブラウザ利用に関する情報をチェックするためにアクセスしてよい情報を示している画面表示の一例を示す。
【図３】エージェントソフトウェアを実行中のユーザデバイス上に表示可能なポップアップメニュー３００の一例を示す。
【図４】一実施形態における本発明によって生成されたウェブページレポートの例である。
【図５】一実施形態における本発明によって生成されたウェブページレポートの例である。
【図６】一実施形態における本発明のシステムの設計アーキテクチャを示す。
【図７】一実施形態における本発明のマルチスレッド型アーキテクチャ設計を示す。
【図８】各実行中のブラウザプロセスからユーザインタラクションおよびナビゲーション情報を検出および収集するための、本発明の一実施形態におけるフッキングメカニズムを示すブロック図である。
【図９】本発明の一実施形態におけるナビゲーション分析アルゴリズムを示すブロック図である。
【図１０】本発明の一実施形態における匿名のユーザＩＤを割り当てるプロセスを説明するフローチャートである。
【図１１】本発明の一実施形態におけるパネル構成を示す。
【図１２】一つまたはそれ以上のパネル構成を取り扱う一つまたはそれ以上のサーバおよび一つまたはそれ以上のエージェントの例スキーマを示す。
【図１】
2004530179.tif 000003
【図２】
2004530179.tif 000004
【図３】
2004530179.tif 000005
【図４】
2004530179.tif 000006
【図５】
2004530179.tif 000007
【図６】
2004530179.tif 000008
【図７】
2004530179.tif 000009
【図８】
2004530179.tif 000010
【図９】
2004530179.tif 000011
【図１０】
2004530179.tif 000012
【図１１】
2004530179.tif 000013
【図１２】
2004530179.tif 000014
【国際公開パンフレット】
2004530179.tif 000015
2004530179.tif 000016
2004530179.tif 000017
2004530179.tif 000018
2004530179.tif 000019
2004530179.tif 000020
2004530179.tif 000021
2004530179.tif 000022
2004530179.tif 000023
2004530179.tif 000024
2004530179.tif 000025
2004530179.tif 000026
2004530179.tif 000027
2004530179.tif 000028
2004530179.tif 000029
2004530179.tif 000030
2004530179.tif 000031
2004530179.tif 000032
2004530179.tif 000033
2004530179.tif 000034
2004530179.tif 000035
2004530179.tif 000036
2004530179.tif 000037
2004530179.tif 000038
2004530179.tif 000039
2004530179.tif 000040
2004530179.tif 000041
2004530179.tif 000042
2004530179.tif 000043
2004530179.tif 000044
2004530179.tif 000045
2004530179.tif 000046
2004530179.tif 000047
2004530179.tif 000048
2004530179.tif 000049
2004530179.tif 000050
2004530179.tif 000051
2004530179.tif 000052
2004530179.tif 000053
2004530179.tif 000054
2004530179.tif 000055
2004530179.tif 000056
2004530179.tif 000057
2004530179.tif 000058
2004530179.tif 000059
2004530179.tif 000060
2004530179.tif 000061
2004530179.tif 000062
2004530179.tif 000063