JP2007526537A - 持続的にイベントデータを記憶および提供するためのサーバアーキテクチャおよび方法 - Google Patents

持続的にイベントデータを記憶および提供するためのサーバアーキテクチャおよび方法 Download PDF

Info

Publication number
JP2007526537A
JP2007526537A JP2006517214A JP2006517214A JP2007526537A JP 2007526537 A JP2007526537 A JP 2007526537A JP 2006517214 A JP2006517214 A JP 2006517214A JP 2006517214 A JP2006517214 A JP 2006517214A JP 2007526537 A JP2007526537 A JP 2007526537A
Authority
JP
Japan
Prior art keywords
user
event
server
url
search
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2006517214A
Other languages
English (en)
Inventor
フリート テイラー エヌ. ヴァン
ユシャン ファン
ルーベン オルテガ
ウディ マンバー
Original Assignee
アマゾン ドット コム インコーポレイテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by アマゾン ドット コム インコーポレイテッド filed Critical アマゾン ドット コム インコーポレイテッド
Publication of JP2007526537A publication Critical patent/JP2007526537A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking

Abstract

ウェブサイトシステム(30)は、ウェブサイトユーザのブラウジングセッション中に発生するイベントを反映するイベントデータを持続的に記憶し、他のアプリケーションおよびサービス(38)が当該データをリアルタイムに利用できるようにするイベント履歴サーバシステム(32)を備える。サーバシステム(32)は、例えば、全ての承認されたユーザの全てのマウスクリックに関する情報を記録するために用いられてもよく、インプレッションおよびマウスオーバーイベント等の別のタイプのイベントを記録するためにも用いることもできる。特定ユーザのイベントデータは、イベントタイプ、イベント発生時刻および別の様々な基準に基づいてサーバシステム(32)から検索が可能である。一実施形態において、サーバシステム(32)は、セッションIDごとにイベントデータをキャッシュするキャッシュ層(40)を備え、かつ、前記イベントデータをユーザIDごとに持続的に記憶する持続的記憶層(44)を備える。また、上記記憶されたイベントデータを用いて実現されうる様々なアプリケーションの特徴も開示される。

Description

本発明は、ウェブサイトユーザのブラウズセッション中に発生するイベントを反映するイベントデータの取得、持続的な記憶、および供給を行なうサーバアーキテクチャに関する。また、本発明は、イベント履歴データを利用したパーソナライゼーション技術にも関する。
一般に、ウェブサイトシステムは、ユーザのブラウジングあるいは「クリックストリーム」に関する情報を取得および記憶するための1つまたはそれ以上の機構を備えている。取得されたクリックストリームデータは、承認されたユーザのウェブページをパーソナライズするために一般に用いられる。しかし、典型的には、取得されたクリックストリームデータは、各ユーザのブラウズ履歴に関する非常に限定された情報を提供するものであるか、パーソナライゼーションに限定して用いられるフォーマットで取得されているかの何れかである。
例えば、ウェブサイトの中には、電子カタログのブラウズ中に各ユーザによって行なわれた項目の選択、ブラウズノードの選択、および探索クエリの提出のそれぞれについてのリアルタイム記録を保持しているものもある。このようなブラウズ履歴は、例えば、パーソナライズした項目の提案を生成したり、以前にアクセスしたコンテンツにユーザが戻るための支援を行なうナビゲーション履歴を表示するために有用である。しかし、典型的には、これらのタイプの記録は、新たなタイプのリアルタイム型パーソナライゼーション・アプリケーションを柔軟に構築するために望ましいとされるレベルの詳細および構造を欠いている。
また、一部のシステムは、ウェブサイトが受信した全てのHTTP要求の時系列の記録を含むウェブサーバアクセスログ(「ウェブログ」)を、関連したタイムスタンプおよびユーザID情報と共に保持している。動的に生成されるウェブページの場合、ウェブクエリログは、当該ページ内でユーザに提示される項目のID(一般に、項目の「インプレッション」と呼ばれる)も記録している場合がある。典型的に、これらのログは、より詳細なブラウズ履歴情報を典型的に含んでいるものの、ユーザのクリックストリーム履歴をリアルタイムで抽出および分析するのに十分には適さないフォーマットで保持されている。ウェブログは、様々なパーソナライゼーション機能に有用な情報を得るためにマイニングが可能であるが、大規模なウェブログのマイニングを行なうタスクには、多くの時間または日数を要する可能性があり、場合によっては、抽出されたデータを、それが利用できる時点では陳腐なものにしてしまう。さらに、ウェブログに含まれる詳細情報の多くは、マイニング処理中に無視され、したがってパーソナライゼーションの目的においては実質的に失われる。
本発明は、ウェブサイトユーザのブラウズセッション中に発生するイベントを記述したイベントデータを持続的に記憶するイベント履歴サーバシステムを提供する。イベントデータは、対応するユーザのIDと関連付けて記憶され、イベントデータを用いて特定ユーザ用にウェブページをパーソナライズすることができるウェブサイトアプリケーションがリアルタイムで利用できるようになっている。一実施形態において、イベント履歴サーバは、ウェブサイトの全ユーザの実質的に全ての選択イベント(例えば、マウスクリック)を記述したイベントデータを記録する。イベント履歴サーバは、インプレッション(すなわち、動的に生成されたウェブページ上でユーザに提示された項目)やマウスオーバーイベント等の別のタイプのブラウジングイベントを記述したイベントデータも記録することができる。
各記録イベントに関して記憶されたイベントデータは、イベントオブジェクトとしてデータベース内に記憶されることが好ましい。各イベントオブジェクトは、例えば、一般的なイベントタイプの識別子(例えば、マウスクリック、インプレッション等)および付随する表示要素のタイプ(例えば、カタログ項目、ブラウズノード、探索結果項目等)、イベント値(例えば、選択されたテキスト)、イベントの発生日時を示すタイムスタンプおよび関連したコンテキスト情報を含んでいてもよい。イベント履歴サーバのクエリインタフェイスは、パーソナライゼーションアプリケーション等のアプリケーションが、一般的なイベントタイプ、付随する表示要素のタイプ、発生時刻および場合によってはその他の基準によって特定ユーザのイベントデータを検索することを可能にする。クエリインタフェイスは、「ユーザXは以前にURL Yにアクセスしたか?」および「ユーザXがURL Yにアクセスしたのはいつか?」というセマンティクスを持つクエリもサポートすることが好ましい。より一般的には、クエリインタフェイスは、「タイプTおよび値VのイベントがユーザXのイベント履歴内に存在するか?」というセマンティクスを持つクエリをサポートすることができる。
一実施形態において、イベント履歴サーバシステムは、イベントデータを、対応するブラウズセッションlDと関連付けてキャッシュするキャッシュ層を備え、上記イベントデータを、対応するユーザIDと関連付けて持続的に記憶する持続的記憶層を備える。キャッシュ層は、各キャッシュ層サーバがそれぞれ異なるユーザのセットのイベントデータをキャッシュするように、ブラウズセッションIDごとにパーティションに分割された複数の物理キャッシュ層サーバを備えることが好ましい。持続的記憶層は、2つまたはそれ以上の物理記憶層サーバを備え、当該サーバのいずれもがイベントデータに対する所与のクエリ/要求に応答ができるよう、持続的に記憶されたイベントデータの完全なセットを、それぞれが記憶することが好ましい。
好ましい実施形態においては、記録可能なブラウジングイベントが発生すると、イベント報告コンポーネントは、その特定のブラウジングセッションIDに関連したキャッシュ層サーバに更新を送信し、同サーバは、そこに指定されたイベントデータにより各自のキャッシュを更新する。更新は、また、イベントデータが持続的に記憶されるように、キャッシュ層サーバから記憶層に渡される。イベント履歴サーバシステムのクライアントからのクエリは、まずキャッシュ層サーバによって処理され、同サーバは、該当するイベントデータがキャッシュされていない場合には、当該クエリを持続的記憶層に渡す。
一実施形態において、イベント履歴サーバシステムは、一般的なインターネット探索機能を提供するウェブ探索アプリケーションのユーザによって行なわれた動作を記述したイベントデータを記憶する。このイベントデータは、ユーザによって提出された探索クエリおよび探索結果ページからユーザによって選択された探索結果項目(URL)を含むことが好ましい。記録されたイベントデータは、ユーザ用に探索結果ページをパーソナライズするために用いられることが好ましい。例えば、一実施形態においては、ユーザが当該ユーザによって以前にアクセスされたURL(探索結果項目)を返信する探索を行なうと、探索結果ページにコメントが付され、このURLが以前にアクセスされたことが示され、かつ当該アクセスの日付が示される。
本発明の一側面によると、イベント履歴サーバは、特定ユーザによってアクセスされたURLを反映するユーザ特有のブルーム(Bloom)フィルタを生成し、このブルームフィルタを用いて、特定ユーザが以前に特定のURLにアクセスしたかどうかを効率的に評価する。ブルームフィルタは、項目インプレッション等の別のタイプのイベントが特定ユーザのイベント履歴内に存在するか否かを効率的に評価するために生成および使用されてもよい。
また、ユーザが各自のイベント履歴を閲覧し、編成し、かつこれにコメントを付けることを可能にするアプリケーションの特徴も開示される。
この概要および以下の詳細な説明は、いずれも本発明を定めるものではない。本発明は請求項によって定められる。
以下、イベント履歴サーバシステムを備えるウェブサイトシステムの好適な実施形態について図面を参照しながら説明する。理解できるように、開示されるシステム内で実施される本発明の特徴の多くは、残りの特徴がなくとも実現または使用することができる。以下の記載においては、説明の目的で多数のインプリメンテーションの詳細を記載するが、これは本発明を説明するためのものであって、限定するものではない。
I.概要
図1は、本発明の一実施形態に係るイベント履歴サーバシステム32(「イベント履歴サーバ」)を備えるウェブサイトシステム30を示す。イベント履歴サーバ32は、ユーザのブラウジングセッション中に発生するイベントを示すイベントデータを持続的に記録し、かつこれに対するリアルタイムアクセスを提供するためのサービスを提供する。イベントデータは、ユーザのクリックストリームを記述していることが好ましく、マウスオーバーやインプレッションイベント等の別のタイプのイベントを記述していてもよい。以下に説明するように、イベント履歴サーバ32は、アプリケーションおよびサービスが特定ユーザのイベントデータを柔軟に検索し、またそれに関する情報を要求することを可能にするAPI(アプリケーションプログラムインタフェイス)も提供している。
図1に示すように、ウェブサイトシステム30は、ユーザコンピュータ36および/または別の種類の装置(PDA、携帯電話等)から要求を受信および処理する1つ以上のウェブサーバ装置34を備えている。ウェブサーバ装置34上で実行される処理は、ウェブサービスとして実現されうる各種ウェブアプリケーション38と通信を行なう。これらのアプリケーション38は、ウェブサーバ装置34上で実行することができるが、より典型的には、別々のサーバ装置(図示せず)上で実行される。典型的に、所与のシステム内に設けられるウェブアプリケーションの種類は、そのシステムの性質および目的によって決まる。例えば、インターネット探索エンジンサイトは、ユーザがウェブページのインデックスのキーワード探索を行なうことを可能にするための1つ以上の探索アプリケーション38を備えてもよい。電子商取引サイトは、電子カタログの探索、ブラウザツリーによる電子カタログのブラウジング、パーソナライズされた提案の生成、注文の発注、個人アカウントデータの管理といったタスクを実行するためのウェブアプリケーションを備えうる。本説明の目的のために、ウェブアプリケーション38の少なくとも一部は、イベント履歴サーバ32に記憶されたユーザ特有のイベントデータに基づいてパーソナライズされたウェブページコンテンツを供給することを前提としてもよい。
図1に示すように、各ウェブサーバ装置34は、オンラインユーザによって実行される動作に応じてイベント履歴サーバ32に更新を送るイベント報告コンポーネント35を実行することが好ましい。(所与のユーザは、個人である必要はなく、例えば、ユーザコンピュータ36またはユーザアカウントを共有する個人の集合であってもよい)。このような更新は、それぞれ、ユーザのブラウジングセッション中に発生した、マウスクリック、探索クエリの提出、あるいはインプレッション等の特定のイベントを記述したイベントデータを含む、あるいは指定する。イベント報告コンポーネント35は、イベント履歴サーバ32に対する呼び出しを行なうためのAPI(アプリケーションプログラムインタフェイス)のセットを含んでもよく、また、イベント/更新が生成される対象である動作のタイプを指定する設定パラメータを含んでもよい。APIは、アプリケーション38がイベント履歴サーバ32にクエリを提出することを可能にするためにも設けられている。下記のセクションVに記載するように、ブラウジングイベントは、ユーザコンピュータ36上で実行されるブラウザベースのイベント報告コンポーネント(図7)によって、イベント履歴サーバ32に付加的にまたは二者択一的に報告されてもよい。
特定のイベントに関してイベント履歴サーバ32により記憶された上記データセットは、「イベントオブジェクト」として記憶されることが好ましい。一実施形態において、例えば、イベント履歴サーバ32は、ウェブサイトシステム30の全ての承認されたユーザの実質的に全ての選択動作すなわち「マウスクリック」を記述したイベントオブジェクトを持続的に記憶する。この情報は、例えば、アクセスされたURL、アクセス時刻/日、および関連したコンテキスト情報を含んでもよい。イベント履歴サーバは、動的に生成されたウェブページ内でユーザに提示された特定の項目を反映したインプレッションイベントも記録することができる。例えば、データベースから選択されたパーソナライズされた項目リストを含む動的に生成されたウェブページをユーザが閲覧する場合、イベント履歴サーバは、当該項目のそれぞれに関してイベントオブジェクトを記憶してもよいし、あるいは、項目リストを含む1つのイベントオブジェクトを記憶してもよい。記録されうるイベントのタイプ、およびそのようなイベントに関して記録することができるイベントデータのタイプの別の例を以下に示す。イベントオブジェクトは、発生時刻、一般的なイベントタイプ(例えば、マウスクリック対インプレッション)、付随する表示要素のタイプ(例えば、カタログ項目、ブラウズノードやウェブ探索結果URL)、ユーザIDやその他のオブジェクト特性に基づいた検索を可能にするために、イベント履歴サーバ32内において記憶および索引付けされることが好ましい。
イベント履歴サーバ32によって取得されたイベントデータは、ウェブサイトシステム30がホストとなっている特定のウェブサイトまたはウェブサイトのセットをユーザがブラウジング中に、ユーザによって実行された動作を反映している。一部の実施形態においては、このような取得データは、外部の独立したウェブサイトをユーザがブラウジング中にユーザによって実行された動作をも反映していてもよい。例えば、全てのURLアクセス(および場合によっては別のタイプのイベント)をイベント履歴サーバ32に対して報告するブラウザツールバーなどのブラウザプラグインを各自のコンピュータ36にダウンロードすることを、ユーザに対して許可または要求してもよい(以下に記載する図7を参照)。
ウェブアプリケーション38の一部または全てがイベント履歴サーバ32のクライアントとして機能することが好ましい。図1に示すように、ウェブアプリケーションは、主として、イベントクエリをイベント履歴サーバ32に送信することによりイベント履歴サーバ32と対話を行い、特定のイベントの情報を検索または取得する。これらのクエリは、「ユーザYに関して、最新のものからN個、過去のタイプTのイベントを再び呼び出せ。」または「ユーザYに関して今後のN個のタイプTのイベントを再び呼び出せ。」等の固定サイズのイベントデータブロックに対する要求を含むことが好ましい。例えば、ウェブアプリケーション38は、特定ユーザによって提出された過去の50個の探索クエリに関してイベントオブジェクトを要求してもよく、あるいは、特定ユーザによって閲覧された過去の50個のブラウズノードに関してイベントオブジェクトを要求してもよい。検索されたイベントオブジェクトは、ウェブアプリケーション38によって、例えばパーソナライズされた項目提案の生成やナビゲーションを容易にするためのブラウズ履歴データの表示等のあらゆる適切な目的に用いることができる。
イベント履歴サーバ32は、「タイプTかつ値VのイベントがユーザYのイベント履歴内に存在するか?」および「タイプTかつ値VのイベントがユーザYのイベント履歴内で発生したのはいつか?」という意味形式のクエリもサポートすることが好ましい。例えば、ウェブアプリケーションは、イベント履歴サーバ32に照会を行い、特定ユーザが特定のURLに以前にアクセスしたかどうか、かつ、もしアクセスした場合にはいつアクセスしたのかを明らかにすることができる。以下に説明するように、このような特徴を持つ1つのアプリケーションは、特定ユーザによってすでにアクセスされた探索結果URLを強調表示し、かつ、閲覧されたURLが最後にいつアクセスされたかを表示するパーソナライズされたウェブ探索結果ページ(図3を参照)を生成することを含む。イベント履歴サーバ32によってサポートされうるクエリのタイプおよび取得されたイベントデータを利用したアプリケーションの別の例を以下に示す。
図1においてイベントクエリはウェブアプリケーション38から出ているように示されているが、イベント履歴サーバ32は、別のタイプのコンポーネントからのイベントクエリ(および場合によっては更新)に応答してもよい。例えば、データマイニングアプリケーションが、ウェブサイトのブラウジングを向上させる目的でユーザのイベントデータの検索および分析を行い、セキュリティーアプリケーションまたはセキュリティー管理者が、クリックストリームデータを検索してセキュリティー侵害の分析を行なってもよい。更新および/またはクエリをイベント履歴サーバ32に送信するアプリケーションコンポーネントおよびサービスは、本明細書においては「クライアント」と呼ばれ、図1においてはクライアント層39の一部として示されている。
図1に示すように、イベント履歴サーバ32は、キャッシュ層40および持続的記憶層44の2層で構成される。キャッシュ層40は、1組の物理キャッシュ層サーバ42で構成され、これらはそれぞれ、クライアントからの更新およびクエリに対して応答するためのサービスレベルのソフトウェア70(図2)を実行する。各キャッシュ層サーバ42は、イベントデータをイベントオブジェクトの形式で一時的に記憶するキャッシュ43を備える。キャッシュ43は、不揮発性のディスク記憶装置、ランダムアクセスメモリ、またはこれらの組み合わせを用いて実現することができる。以下に説明するように、キャッシュ43は、一定のタイプのクエリに対して応答するためのユーザ特有のブルームフィルタをも記憶していてもよい。クライアント層39、キャッシュ層40および持続的記憶層との間の通信は、ローカルエリアネットワークを介して行なわれることが好ましい。
キャッシュ層サーバ42は、ブラウズセッションIDごとにパーティションに分割されていることが好ましく、これは、このようなサーバ42はそれぞれ、各自の範囲またはグループのセッションIDに関連付けられたイベントデータ(イベントオブジェクト)のみを記憶することを意味する。したがって、例えば、ユーザが新たなブラウジングセッションを開始すると、そのセッションは、当該ブラウジングセッションに対応する全ての更新およびイベントクエリをそれ以降処理する特定のキャッシュ層サーバ42に割り当てられる。1つのインプリメンテーションにおいては、合計9つのデュアルCPUキャッシュ層サーバ42がキャッシュ層40内に設けられ、これらのうちの1つがホットスペアとして用いられる。キャッシュ43は、ステートレスなライトスルーキャッシュとして用いられることが好ましく、これにより、装置42の付加、取り外し、バックアップおよび再起動が容易となる。
以下に説明するように、キャッシュ層40は、クライアント層39と持続的記憶層44との間の中継部として実質的に機能し、これによりシステムがより高いスループットレベルで動作することが可能となっている。キャッシュ層40の使用は好ましいが、イベント履歴サーバ32は、キャッシュ層なしで実現されてもよい。さらに、キャッシュ層40が設けられている場合、キャッシュを行うことが有益でない場合にはこれをバイパスしてもよく、その結果、要求の一部は持続的記憶層44によって直接処理される。
さらに図1を参照すると、持続的記憶層44は、1組の物理記憶層サーバ46で構成されている。図示される実施形態においては、2つの記憶層サーバ46が設けられているが、これより多くあるいは少なく用いてもよい。各記憶層サーバ46は、システム32によって持続的に記憶されたイベントデータの完全なコピーの保持を担っている。したがって、記憶層サーバ46は、2つ以上設けられている場合には、互いのミラーとなっている。記憶層サーバ46はミラーリングされているため、1つの記憶層サーバ46がダウンしたり取り外されたりしても、イベント履歴サービスの全体的な機能に影響を及ぼすことはない。
各記憶層サーバ46は、例えば、数テラバイトのディスクドライブ記憶装置を備えていてもよい。1日につき約100Mのイベントが記録され、かつ各記録イベントについて平均30バイトのデータが記憶される場合、各記憶層サーバ46は、1日につき約3GB(ギガバイト)、すなわち1年につき約1テラバイトのイベントデータを記憶することになる。このような使用量が想定される場合、各記憶層サーバ46は、数年分のイベントデータを記憶および処理する能力を有する。記憶層サーバ46の記憶容量一杯になった場合は、記憶層に新たなディスクドライブを追加してその容量を増加させ、かつ/または古いイベントデータを削除あるいはアーカイブしてもよい。
以下に説明し、図2に示すように、各記憶層サーバ46は、イベントデータを記憶および管理するためのデータベースソフトウェア62を実行し、かつ、キャッシュ層40から受信し、更新およびクエリを処理するためのサービスレベルコード60を実行する。記憶層サーバ46は、低コストの汎用ハードウェアを用いて実現してもよく、バークレー(Berkeley)データベースまたは別の種類の比較的低コストのデータベースを用いてイベントデータを記憶してもよい。
イベント履歴サーバ32は、更新に対して概ね以下のように応答する。ウェブサーバ装置34によって更新がキャッシュ層40に送信されると、対応するセッションIDに割り当てられたキャッシュ層サーバ42は、その更新によって指定されたイベントオブジェクトを含めるよう各自のキャッシュ43を更新する。このイベントが承認されたユーザに対するものである場合、キャッシュ層サーバ42は、この更新を各記憶層サーバ46に対しても(好ましくはパブリッシュ/サブスクライブ(publish−subscribe)プロトコルを用いて)送信し、当該サーバ46は、それぞれ、関連するイベントオブジェクトを、対応するユーザIDと関連付けて自らの持続的記憶装置64に記憶する。各キャッシュ層サーバ42は、記憶層サーバ46に送信するための複数のイベント/更新を集めることが好ましく、その結果、これらのサーバ46はキャッシュ層からの更新をバッチ単位で受信する。イベントオブジェクトは、対応するセッションIDおよび/またはユーザIDと関連付けてキャッシュ43に記憶される。
更新において指定されたイベントデータが未承認のユーザに対するものである場合、キャッシュ層サーバ42は、このイベントオブジェクトを自らのキャッシュ43に(対応するセッションIDと関連付けて)記憶するが、この更新を持続的記憶層44に送信しない。ユーザは、例えば、ユーザが(1)ウェブサイトにとって新規である場合、(2)特定のコンピュータ36からウェブサイトに初めてアクセス中であって、かつログインしていない場合、または(3)クッキーを遮断するように構成されたコンピュータ36からウェブサイトにアクセス中であって、かつログインしていない場合には未承認であってもよい。このように、セッションを通じて、キャッシュ層は未承認ユーザに関するイベントデータを収集する。
ブラウジングセッション中に、未承認ユーザがログインを行うか、アカウントを作成するか、あるいは承認される場合、関連したキャッシュ層サーバ42は、当該ユーザに関して収集されたイベントデータを、そのユーザIDと関連付ける。また、キャッシュ層サーバ42は、一連の更新を記憶層サーバ44に送信し、この収集されたイベントデータをユーザIDと関連付けて持続的に記憶する。このようにして、システムはユーザのイベントを、当該イベントの発生時点でユーザが承認されない場合であっても持続的に取得することを可能にする。さらに、ユーザが未承認である期間中、イベント履歴サーバ32のクライアントは、未承認ユーザのキャッシュされたイベントデータに関する情報をユーザのセッションIDに基づいて検索および要求することができる。
イベント履歴サーバ32は、クライアントからのイベントクエリに関して概ね以下のように応答する。クライアントからイベントクエリを受信すると、キャッシュ層サーバ46は、まず各自のキャッシュ43をチェックして該当するイベントデータがその中に存在するか否かを判定し、データが存在する場合にはクエリに応答する。該当するイベントデータがキャッシュ43に存在しない場合、クエリは記憶層サーバ46のいずれかに渡される。この目的で記憶層サーバ46を選択するために、負荷分散アルゴリズムを用いることができる。選択された記憶層サーバ46は、応答(要求されたイベントオブジェクトを含んでいてもよい)を生成し、この応答をクエリの送信元であるキャッシュ層サーバ42に返信することにより、クエリに対して応答する。次に、キャッシュ層サーバ42は、この応答を要求元のクライアントに渡す。
応答が持続的記憶装置から検索されたイベントデータを含む場合、キャッシュ層サーバ42は、このイベントデータを各自のキャッシュ43にデフォルトで記憶する。この好ましい実施形態において、イベントクエリは、検索されたイベントデータをキャッシュすべきではないことを示してもよく、このような特徴は、例えば、オフラインでのデータマイニングを行う目的で持続的記憶装置から大量のイベントデータを読み出す際にキャシュを行うことを禁止するために用いることができる。
上記で示されたように、イベント履歴サーバ32の上記した実施形態は、ブラウジングイベントを記述したデータを、そのイベントが発生する際に取得し、パーソナライゼーション・アプリケーション38が当該イベントデータをリアルタイムで(すなわち、実質的に直ちに)利用できるようにする。また、イベントデータは、アプリケーション38が各自のクエリを特定のパーソナライゼーション・タスクの実施に必要な特定のタイプおよび項目のイベントデータに限定することを可能にするような形式で利用可能とされる。さらに、オフラインでのデータマイニング分析結果に依存するシステムとは異なり、アプリケーション38は、イベントデータの単なる要約とは違って、「生の」イベントデータ自体へのアクセスを有している。一部の実施形態において、イベント履歴サーバのユーザは、各自のブラウズ履歴がイベント履歴サーバによって記録されるべきか否かを制御するオプションを与えられてもよい(例えば、オプトインまたはオプトアウトのオプションを設けてもよい)。開示されたアーキテクチャの別の特徴および利点について以下に記載する。
II.イベントオブジェクトのコンテンツおよび検索
上記に示されたように、所与のイベントに関して記憶されたデータセットはイベント履歴サーバ32によりイベントオブジェクトとして記憶される。一実施形態において、各イベントオブジェクトは、以下のコンポーネントを含む。すなわち、主題(Subject)、値(Value)、タグ(Tag)および時間(Time)である。以下、これらのコンポーネンのそれぞれについて説明する。一実施形態において、これらのコンポーネントは、3つの一般的なイベントタイプ、すなわちマウスクリック、インプレッションおよびマウスオーバーイベントに関するデータを取得するために用いられる。
イベントオブジェクトの主題は、マウスクリック、マウスオーバーおよびインプレッションイベントに関して、付随する表示要素のタイプ(例えば、項目、ブラウズノード、外部URLまたは探索クエリを提出するためのリンク等)を示すコードである。ユーザからの探索クエリの提出を記述するために、1つ以上の主題コードが定義されてもよい。イベントの主題は、イベントのタグ(後述)とともに、イベントのタイプ(例えば、ブラウズノードのマウスクリックやカタログ項目のインプレッション等)を完全に指定するものである。
下記の表1は、サポートされうるイベント主題のいくつかの例を記載し、そのイベント主題のそれぞれに関して値フィールドに記憶されたデータを示している。これらの例は、ウェブサイトシステム30が、項目(商品、ニュース記事等)を見つけるためにユーザによってブラウズおよび探索されうる電子カタログのホストとなっており、かつウェブサイトシステム30が外部のウェブサイトおよびウェブページを見つけるための探索エンジンを実現しているということを前提にしている。理解できるように、特定のウェブサイトシステム30内に記録されたイベントのタイプは、主にそのシステムの性質および目的によって決まり、表1に列記されるものと大きく異なる場合がある。
さらに、イベントタイプは、アプリケーションの付加的な特徴をサポートするために、変更または拡張されてもよい。例えば、表1に示されていない一実施形態においては、ユーザによって入力されたコメントを記憶する目的で、「コメント」イベントタイプが定義されている。コメントイベントのためのアプリケーションの一つは、ユーザが各自の探索結果にコメントを付け、後に当該コメントの再呼び出しおよび見直しを行なうことを可能にすることを含む。自らのコメントを他のユーザに対し公開する機能をユーザに与えてもよい。マウスクリック、インプレッションおよびマウスオーバーイベントとは異なり、コメントイベントは、イベントデータを後に検索するために記憶するというユーザからの明示的な要求を表している。
Figure 2007526537
タグは、以下の一部または全てを示すフラグセットとして実現してもよい。(1)一般的なイベントのタイプ(例えば、マウスクリック、インプレッションまたはマウスオーバー)、(2)イベントの値部分が(例えば、特定のテキストストリングが長すぎるために)短縮されたか否か、(3)イベントが「表示不可能」、つまりユーザによって閲覧が不可能であるか否か、および(4)イベントが持続的か一時的か。
タグの「表示不可能」フラグは、例えば、ユーザが自らの閲覧可能なイベント履歴からイベントを効果的に除去することを可能にするために用いることができる。例えば、ウェブサイトシステム30は、アプリケーション38と、それを介して各自のイベント履歴を閲覧および探索することが可能になる関連ユーザインタフェイスとを設け、選択されたイベントを係る履歴から「削除」してもよい。ユーザが特定のイベント(例えば、特定の探索クエリ提出またはブラウズノードアクセス)を削除すると、関連したイベントをユーザが閲覧することを防ぐために、対応するイベントオブジェクトには、イベント履歴サーバ32によって「表示不可能」とマークがつけられるが、イベント履歴サーバ32のクライアントは依然としてこれにアクセスすることができる。
「持続的/一時的」フラグは、ある一定の時点で持続的記憶装置から永久的に削除することができるイベントにマークを付けるために用いてもよい。この特徴は、一定の期間後にはほとんどあるいは全く価値がなくなるイベントオブジェクトを放棄するために用いることができ、その結果、関連した持続的記憶装置は、他のデータの記憶用に利用可能となる。
時間コンポーネントは、イベントの発生時刻を示す数値であり、例えば、1970年からの秒単位で表すことができる。持続的/一時的フラグが「一時的」にセットされている場合は、イベントオブジェクトの有効期限を指定する付加的な値を含んでいてもよい。期限切れのイベントオブジェクトは、バックグラウンドタスクにより、または別の何らかの適切な方法を用いて周期的に持続的記憶装置から削除されてもよい。
イベント履歴サーバ32によって実現されたクエリセットは、クライアントがイベントの主題、値、タグおよび時刻に基づいて所与のユーザまたはセッションに対するイベントオブジェクトを検索することを可能にすることが好ましい。例えば、クライアントは、特定のタイプの表示要素の全てのインプレッション(または全てのマウスクリックイベント)に対するイベントオブジェクト、または特定の表示要素の種類および値の全てのインプレッション(または全てのマウスクリックイベント)を要求することができる。また、クエリセットは、クライアントがイベントの時間範囲(例えば、「最後の10日間」または「2003年2月10日以降」)を指定することを可能にすることが好ましい。
上述のように、クエリセットは、以下の形式のクエリもサポートする。「タイプTかつ値VのイベントがユーザXの履歴内に存在するか?」。イベントのタイプは、一般的なイベントタイプ(例えば、マウスクリックやインプレッション)、付随する表示要素のタイプまたはその両方としてクエリにおいて指定することができる。例えば、「タイプ=ウェブ探索クエリ、かつ、値=ハレー彗星のイベントがユーザXの履歴に存在するか?」という形式のクエリは、ユーザXが、クエリ「ハレー彗星」を用いて一般的なウェブ探索を行なったか否かを明らかにする。さらに、クエリセットは、「ユーザXの履歴においてタイプTかつ値Vのイベントが発生したのはいつか?」というタイプのクエリをサポートする。
III.ソフトウェアアーキテクチャ
図2は、一実施形態におけるキャッシュ層サーバおよび記憶層サーバ42、46上で実行される主要ソフトウェアコンポーネントを示している。図示されたように、各記憶層サーバ46は、キャッシュ層40からのクエリおよび更新を処理するためのサービスコード60を実行する。このサービスコードは、バークレーデータベースを実現するために用いられるソフトウェア等のデータベースソフトウェア62と通信を行なう。データベースソフトウェア62は、ディスクドライブ記憶装置64において、イベントデータの1つまたはそれ以上のデータベースを管理している。一実施形態において、各記憶層サーバ46は、複数のパブリッシュ/サブスクライブ式のサービス処理を実行し、これらは、それぞれ、各自のユーザIDのセットまたは範囲に対応し、かつ、各自のバークレーデータベースにのみアクセスを行なう。このアーキテクチャにより、データベースの管理が大いに簡素化される。各記憶層サーバ46は、その他に、記憶層サーバを同期状態に保つ役割を担う同期サービスコード68をも実行する。同期サービスは、例えば、1つの記憶層サーバが一時的に切断された後に持続的データベースを同期化するために用いられる。
各キャッシュ層サーバ42は、自己のイベントデータのキャッシュ43にアクセスするキャッシュ層サービスコード70を実行する。イベントデータは、ユーザID(ユーザが承認されている場合)ごとおよびセッションIDごとにキャッシュ43に記憶されていることが好ましい。図2に示すように、キャッシュ層サービスコード70は、クライアントから受信した更新およびクエリを処理するためのコンポーネント72、74を含む。
図2にさらに示すように、両方の種類のサーバ42、46は、ブルームフィルタの生成および処理を行なうためのソフトウェアコンポーネントも含むことが好ましい。以下に説明するように、各ブルームフィルタは、ユーザのイベントデータの一部を圧縮して表現したものであり、関連したイベントオブジェクトを検索することなくユーザが特定の動作を実行したか否かを評価するために用いることができる。例えば、一実施形態において、ブルームフィルタは、所与のユーザが所与のURLにアクセスしたか否かを判定するために必要な処理およびデータ検索を軽減するために用いられる。
IV.探索パーソナライゼーション・アプリケーション例
上記に示されたように、イベント履歴サーバ32の1つのアプリケーションは、特定ユーザによって以前にアクセスされた任意の探索結果項目を識別するパーソナライズされた探索結果ページを生成することを含む。探索結果ページは、このような項目がそれぞれアクセスされた時刻をさらに示してもよい。この特徴は、内部カタログ探索(この場合、探索結果ページは、例えば、ユーザが項目詳細ページを閲覧したカタログ項目を示してもよい)およびウェブ探索(この場合、探索結果ページは、どの外部ウェブページが閲覧されたかを示してもよい)の両方に適用することができる。
図3は、この特徴の一実施形態に係るウェブ探索結果ページの例を示している。この例において、ウェブ探索クエリ「ロード・オブ・ザ・リング」により、各探索結果項目(3つが図示されている)が対応するURLを有する外部ウェブページまたはサイトである探索結果リストが作成されている。一実施形態においては、探索結果リストに含まれるリンクは、ユーザのブラウザを当該外部ページに直ちにリダイレクトするために用いられる内部リンク(すなわち、これらは元のウェブサーバシステム30を示している)であり、これにより、イベント履歴サーバ32は、ユーザによって閲覧の選択がなされた探索結果(外部URL)を記述したイベントオブジェクトを記録することが可能となる。別の実施形態においては、ユーザの外部URLの選択は、ユーザの選択を検出および報告するジャバスクリプトコンポーネントを実行することによってログ記録される。
図3のリストの第1の項目100は、ユーザが以前にこの特定のURLにアクセスしたことを示す、コメント「閲覧済み」を含む。これにより、ユーザは、すでに閲覧済みのウェブページを容易に識別することができる。ユーザのイベント履歴は、(単にユーザのコンピュータ36上だけではなく)サーバ側で記憶されているため、ユーザが単に別のコンピュータ36から上記特定のウェブペーを閲覧した場合であっても、「閲覧済み」のステイタスは適切に示される。この項目100上でマウスのカーソルを動かすことにより、ユーザは、「以前2月14日に閲覧済み」というマウスオーバーテキストによって示されるように、彼/彼女が最後にこのURLにアクセスした日付を見ることもできる。あるいは、このアクセス日付のテキストは、探索結果テキスト100と共にインライン表示されてもよい。ユーザが特定のURLにアクセスした回数やそのURLを発見した過去の探索クエリのテキスト(現在の探索クエリと異なる場合)等の別の様々なタイプの情報をユーザのイベント履歴に基づいてコメントに組み込むことが可能である。
図4は、探索アプリケーション38がイベント履歴サーバ32と対話を行なって図3に示されるタイプの探索結果ページを生成する一般的な処理を示している。この例においては、ユーザはウェブサイトシステム30によって承認されていることを前提としている。ブロック110で示されるように、探索アプリケーションは、まず探索クエリを受信し、探索を実行して探索結果セットを生成する。探索が一般的なウェブ探索である場合、各探索結果項目は、探索に応答するウェブページのURLの形式となり、(図3に示されるような)このようなウェブページから抽出されたテキストの抜粋とともに表示することができる。当該技術分野において知られているように、このような探索の実行は、探索クエリをウェブクローラープログラム(web crawler program)によって生成されたインデックスと比較することを典型的に含む。探索がウェブサイトシステム30がホストとなっている電子カタログに向けられている場合、各探索結果項目は、対応する項目詳細ページにアクセスするためにクリックすることが可能な項目説明の形式であってもよい。一部の実施形態において、所与の探索において返信された探索結果は、外部ウェブページおよび内部でホストされる電子カタログから選択された項目の両方を含みうる。
ブロック112で示されるように、探索アプリケーションは、次に各探索結果項目(あるいは少なくとも現在の探索結果ページ上で表示されるべき探索項目)に対する別個のクエリをイベント履歴サーバ32に送信し、ユーザがその項目に以前にアクセスしたか否かを判定する。一般的なウェブ探索の場合、このようなクエリはそれぞれ、「ユーザXは、URL=<URL値>を以前に選択したか?」という形式であってもよい。カタログ探索の場合、各クエリは、「ユーザXは、カタログ項目=<項目ID>を以前に選択したか?」という形式であってもよい。以下に説明されるように、イベント履歴サーバ32はこれらのタイプのクエリを効率的に処理するためにブルームフィルタを用いることが好ましいが、ブルームフィルタの使用は省略してもよい。
ブロック114で示されるように、以前にユーザによってアクセスされたと判明した各探索結果項目(存在する場合)に関して、追加のクエリをイベント履歴サーバ32に送信し、当該項目へのユーザの最後のアクセス日(時刻)を要求することが好ましい。最終的に、ブロック116に示されるように、図3に示されたタイプの閲覧済み項目の埋め込みコメントを含む探索結果ページが生成される。探索アプリケーションは、表示のために探索結果項目を順位付け/順序付けを行なう際、各探索結果項目の閲覧済み/未閲覧のステイタスを考慮してもよい。
明らかなように、探索クエリに応じてイベント履歴サーバ32が実際にはアクセスされないように、図4で示す処理を変更することが可能である。例えば、イベント履歴サーバ32の負荷を軽減するために、特定ユーザによって選択された特定の探索結果URLを示すイベントデータを、イベント履歴サーバ32から周期的に検索して別個の「探索パーソナライゼーション」サーバに記憶することが可能である。そして、この別個のサーバを、「ユーザXは外部URL Yにアクセスしたか?」とういうタイプの要求に応じるタスクに割り当てることができる。同じことが、以下に説明する図5の処理に対しても当てはまる。
探索アプリケーションのユーザインタフェイスは、以前に閲覧した項目、以前に閲覧していない項目または特定の期間内に閲覧された項目(例えば、過去7日間)に探索範囲を限定するオプションをユーザに与えることができる。この特徴は、イベント履歴サーバ32から返信されたクエリ結果が、表示されるべき探索結果項目の判定に用いられること以外は、図4に示されるものと同様の処理フローを用いて実現することができる。
明らかなように、上記の探索結果パーソナライゼーションの特徴および図5を参照して説明した特徴は、他のタイプの項目の探索にも適用することができる。例えば、オンラインオークションサイトとの関連では、発見されたオークションのうちユーザによって閲覧されたのはどれか、各オークションが閲覧されたのはいつか、および場合によっては、ユーザがこのようなオークションのそれぞれに入札を行なったか否かを示すコメントをオークションの探索結果に付してもよい。同様に、ユーザによって特定の書き込みが閲覧されたか否か/いつ閲覧されたかを示すコメントを、掲示板の書き込みまたはブログ(ウェブログ)の書き込みの探索結果に付してもよい。
図3に戻って、第2の探索結果項目120は、イベント履歴サーバ32を用いて実現することができる別の特徴を示している。この特徴は、ユーザが以前に同様の探索クエリを提出したかどうか、および、提出した場合には新規探索結果項目(すなわち、過去の探索結果セットに存在しない項目)が見つかったか否かを判定することを含む。この特定例において、探索結果ページは、ユーザが以前2月14日に同様の探索を行なったこと、およびURL「lordotrings.com」に対応する項目が過去の探索において現れなかった新規項目であることを明らかにしている。
図5は、探索アプリケーション38がイベント履歴サーバ32と対話を行なってこの「新規項目コメント」の特徴を実施する一般的な処理を示している。図3に示す種類のコメント付き探索結果ページを生成するために、この処理を図4の処理と組み合わせてもよい。図5に示されたように、探索アプリケーションは、まず探索クエリ(ブロック130)を受信および実行し、イベント履歴サーバ32に照会を行なってユーザが以前に同様のクエリを提出したか否かを判定する(ブロック132)。ユーザがこのクエリを提出していない場合、「新規項目」コメントを加えることなく探索結果ページが生成される(ブロック140)。
同様の探索クエリが以前に提出されていた場合、イベント履歴サーバ32は、最終提出時刻について再度照会を受ける(ブロック134)。また、ブロック136に示されるように、イベント履歴サーバ32は、(存在する場合には)現在の探索結果項目のうちユーザに表示されていない(すなわち、インプレッションイベントの対象となったことがない)のはどれかを判定するための照会を受ける。この照会の範囲を、過去の探索の時点またはその直後に発生したインプレッションに、必要に応じて限定してもよい。ブロック138で示されるように、現在の探索結果セットに何らかの新規探索結果項目が存在する場合、これらに対しては、図3に示すようにコメントが付される(項目120)。新規項目の重要性の順位を上昇させ、新規項目が表示される可能性を高めてもよい。
図5に示された方法の1つの変形は、ユーザが(リピート)探索を同様の探索クエリの過去の実行において現れなかった項目に明示的に限定することを可能にすることである。このようなオプションは、例えば、ウェブサイトの探索ページ上のチェックボックスとして設けることができる。
IV.ユーザが以前に所与の要素を閲覧またはアクセスしたか否かを判定するためのブルームフィルタの使用
上記のように、「ユーザXの履歴内にタイプTかつ値Vのイベントが存在するか?」という形式のクエリに応答する際の持続的なデータ検索の必要性を軽減するために、イベント履歴サーバ32によってブルームフィルタが使用されてもよい。ブルームフィルタは、例えば、特定ユーザが特定URLを閲覧または選択したか否かを判定するために用いることができる。
背景として、ブルームフィルタとは、ハッシュ関数のセットによって生成されたビットシーケンスまたはアレイである。ブルームフィルタは、特定の項目が、大きいセットの要素であるか否かを速やかに調べるために用いられる。ブルームフィルタの一般的な応用例の1つは、所与のオブジェクト(オブジェクトのURLとして識別されるような)がウェブページのキャッシュに現在記憶されているか否かをテストすることである。具体的には、オブジェクトがキャッシュに追加されると、オブジェクトのURLにハッシュ関数が適用され、ブルームフィルタのどのビットをONにすべきかが判定される。オブジェクトが要求されると、要求されたオブジェクトのURLにこれらのハッシュ関数が再度適用され、次にブルームフィルタの対応するビットの全てがONになったか否かを判定するテストが行われる。1つ以上のビットがONでなかった場合、オブジェクトはキャッシュに記憶されない。一方、全てのビットがONである場合、要求されたオブジェクトがキャッシュに存在する可能性が非常に高い。したがって「フォールスポジティブ(false positive)」すなわち「偽のヒット」はありうるが、「フォールスネガティブ(false negative)」すなわち「偽のミス」は通常ありえない。
本発明の1つの側面によると、所与のユーザに対し、そのユーザのイベント履歴の何らかの側面またはセグメントを記述するために、1つまたはそれ以上のブルームフィルタが生成される。ブルームフィルタは、持続的記憶層44(図1)によって生成および記憶され、クエリへの応答のためにキャッシュ層40に渡されることが好ましい。異なるタイプのクエリに応答するために、所与のユーザ用に異なるブルームフィルタを生成してもよい。例えば、異なるタイプの活動(例えば、URLアクセス、URLインプレッション、URLアクセスおよびインプレッション、カタログ項目アクセス、マウスオーバーイベント等)用に異なるタイプのブルームフィルタを生成することができる。また、異なる期間用に異なるブルームフィルタを生成してもよい。
図6は、承認されたユーザであるユーザXによるURLアクセスをテストするために、ブルームフィルタが用いられる一般的な処理を示している。同図はURLアクセスに限定されているが、図示される処理フローは、他のタイプのイベント活動にも該当する。図6のステップ1において、記憶層サーバ46は、ユーザX用に、1つ以上のブルームフィルタを生成する。このステップは、例えば、ユーザXに対する関連したクエリまたは更新の受信に応じて行なってもよい。特にURLアクセスに対するブルームフィルタを生成するために、記憶層サービスコード(図2)は、まずユーザXに対するURLアクセスイベントを検索し、アクセスされた各URLにハッシュ関数のセットを適用し、関連したブルームフィルタのビットをセットする。以下に述べるように、ブルームフィルタの大きさは、所望の数のイベントの記憶を可能にしつつフォールスポジティブの確率を所望の閾値未満に維持するように選択することができる。1つの記憶層サーバ46によって生成されたブルームフィルタは、同期サービスにより(1つまたは複数の)別の記憶層サーバに渡されてもよい。ブルームフィルタは、キャッシュ層サーバ42により付加的に、または二者択一的に生成されてもよい。
図6のステップ2において、キャッシュ層サーバは、「ユーザXはURL Yにアクセスしたか?」という形式のクエリを受信する。上述の探索結果コメントの特徴との関連では、1つの探索結果ページを生成する目的で、所与のユーザに関してこのようなクエリを多数受信することができる。ステップ3において、キャッシュ層サーバ42は、ブルームフィルタがキャッシュ43にまだ記憶されていない場合、記憶層サーバ46のうちの1つから該当するブルームフィルタを検索する。
ステップ4において、キャッシュ層サーバ42は、該当するブルームフィルタをテストして、URLに関して、対応するビットがONであるか否かを確かめる。ビットのうち1つ以上がOFFである場合(すなわち、ユーザXの該当イベント履歴においてURL Yへのアクセスが存在しない)場合、キャッシュ層サーバ42は、持続的記憶層にクエリを渡すことなく、NOの回答を返信する(ステップ5)。一方、全てのビットがONである(すなわち、ユーザXのイベント履歴にURLアクセスが存在している可能性が高い)場合、記憶層サーバ46のうちの1つにクエリが渡され(ステップ6)、URLアクセスに対するユーザXの実際のイベントデータがチェックされる。ステップ7において、記憶層サーバ46は、キャッシュ層サーバ42を介してクエリに対する応答を返信する。記憶層サーバに対して照会を行なう代わりに(ステップ6)、キャッシュ層サーバを、ブルームフィルタのテストがポジティブである場合に単にYESの回答を返信するよう構成してもよいが、この手法によると、まれにユーザに対して不正確な結果が提示される場合がある。
URLアクセスを反映した更新がそれ以降ユーザXについて受信されるので、キャッシュ層サーバ42は、関連したブルームフィルタの自身のコピーを更新し、これらの更新を反映させる(しかし、記憶層サーバ46は更新を行なわないことが好ましい)。例えば、ユーザXが図3に示すタイプのウェブ探索結果ページから探索結果項目(URL)を選択する場合、関連したブルームフィルタがキャッシュ43内で更新され、選択されたURLに関連付けられたビットがセットされる。したがって、クエリに応答するためにキャッシュ層によって用いられるブルームフィルタは、該当するユーザの最新のブラウジング活動を反映している。ある時点において、ブルームフィルタを、非アクティブであることを理由にキャッシュ43から放棄してもよく、この時点で、更新されたブルームフィルタがその後の使用のために持続的記憶層に(元のバージョンの代わりに)書き込まれる。
ある時点において、所与のブルームフィルタの容量が満たされる、すなわち、所望の平均フォールスポジティブ確率を超えずにさらなるイベントを記憶することができなくなるかも知れない。この時点で、より大きいイベント容量を提供するために、ブルームフィルタをより大きい(例えば、4キロバイトの代わりに8キロバイトの)ブルームフィルタと交換することができる。
上記した説明においては、承認されたユーザに対するブルームフィルタの生成および使用に焦点をおいたが、ブルームフィルタは、キャッシュ層サーバ42によって、未承認のユーザに関しても生成することができる。例えば、ブラウジングセッションの始めに、割り当てられたキャッシュ層サーバ42は、ユーザに関してフィルタを生成してもよく、また、それ以降、そのユーザに関して、新たなイベントを用いてブルームフィルタを更新してもよい。このような「セッション特有」のブルームフィルタを、上記と同様にクエリに対して応答するために用いることができる。
V.ブラウザベースのイベントデータの報告
図7は、イベント履歴サーバ32が、ブラウザベースのイベント報告コンポーネント160によって報告されたイベントデータを記録する実施形態を示している。イベント報告コンポーネント160は、イベント履歴サーバ32のユーザのコンピュータ36の一部または全てにおいて、ウェブブラウザ162のコンポーネントとして実行される。図示されたように、イベント報告コンポーネント160は、ブラウザツールバーコンポーネント164の一部として実現されることが好ましい。ツールバーコンポーネント164は、例えば、ユーザによってダウンロードおよびインストール可能な任意選択のブラウザプラグインとして設けることができる。あるいは、イベント報告コンポーネント160は、独立型ブラウザプラグインとして、ツールバー以外のプラグインの一部として、またはウェブブラウザ162の固有コードの一部として実現することができる。
ブラウズベースのイベント報告コンポーネント160は、ユーザによってアクセスされた全てのウェブサイトおよびページについてイベントデータを報告することが好ましい。例えば、イベント報告コンポーネント160は、ユーザによってアクセスされた全てのウェブページ上での全てのマウスクリックまたはその他の選択イベントを報告することができる。イベント報告コンポーネント160は、マウスオーバーイベント、インプレッション、ウェブブラウザ162上の「戻る」ボタンの選択等の別のタイプのブラウジングイベントをも報告することができる。
ブラウザベースのイベント報告コンポーネント160は、図1のサーバベースのイベント報告コンポーネント35に代えて用いることができる。あるいは、所与のシステム内で両タイプのイベント報告コンポーネント35、160を用いてもよい。例えば、インストールされたツールバー164を有しないユーザに関しては、イベント履歴サーバ32は、サーバベースのイベント報告コンポーネント35によって報告されたデータのみを取得してもよく、その場合、イベントデータは、1つ以上の特定のウェブサイトのブラウジング中に発生するイベントのみを反映する。自分のコンピュータ36にインストールされたツールバー164を有するユーザに関しては、取得されたイベントデータは、別のウェブサイトにも及んでいてもよい。
ブラウザベースのイベント報告コンポーネント160から収集されたイベントデータは、ユーザに対して様々な異なるパーソナライゼーション・サービスを提供するために用いられることができる。例えば、ユーザが、自分がアクセスした、何らかのユーザ指定の基準を満たす全てのウェブサイトのリストを閲覧することを可能にするサービスを提供することができる。このサービスを用いて、ユーザは、例えば、ウェブ上でそれぞれが行った全ての支払いトランザクションのリストを閲覧したり、アクセスした全ての旅行関連ウェブサイトの履歴を閲覧することができる。このようなサービスを実現するために、イベントオブジェクト内に含まれるデータフィールドを必要に応じて補足することができる。
図7に示されたように、パーソナライズされたツールバーコンテンツは、サーバ側のツールバー・パーソナライゼーション・アプリケーション170によって生成されてもよい。このアプリケーション170は、ユーザに対して表示するためのコンテキスト依存のツールバーメッセージを生成するために、イベント履歴サーバ32から検索されたイベントデータを用いることができる。例えば、ユーザが特定のウェブサイトにアクセスする場合、ツールバー・パーソナライゼーション・アプリケーション170は、そのウェブサイト上でユーザによって実行されたトランザクションの履歴を検索および表示することができる。さらに、ツールバーは、現在のブラウジングセッション中に訪問された全てのウェブサイトまたはページに関するリアルタイムな情報によってパーソナライズされてもよい。
VI.別のパーソナライゼーション・アプリケーション
理解できるように、別の数多くのタイプのパーソナライゼーション・アプリケーションおよび特徴がイベント履歴サーバ32によって可能となる。上述のように、そのようなアプリケーションの1つは、ユーザが自分のイベント履歴を閲覧、編成すること、および場合によってはこれらにコメントを付けることを可能にすることを含む。これは、部分的には、ウェブページのセット等の、ユーザがイベント履歴フォルダを作成し、イベントを選択してこのようなフォルダに追加することができるユーザインタフェイスを提供することにより実現できる。イベントタイプ、イベント値、イベント発生時刻およびその他の様々な基準ごとに、ユーザが自分のイベント履歴を探索することができるイベント探索エンジンを設けてもよい。上述のように、ユーザが特定のイベントを自分のイベント履歴から「削除」することを許可してもよい。
本発明を特定の好適な実施形態に関して説明したが、本明細書に記載した全ての特徴および利点が提供されていない実施形態を含む、当業者に明らかな別の実施形態および応用例もまた本発明の範囲に含まれる。したがって、本発明の範囲は、添付の特許請求の範囲を参照することによってのみ定められる。
図1は、本発明の一実施形態に係るイベント履歴サーバシステムを備えるウェブサイトシステムを示す。 図2は、図1のキャッシュ層サーバおよび記憶層サーバによって実行されうるソフトウェアコンポーネントのセットを示す。 図3は、探索結果に、当該項目に関するユーザの過去のブラウズ履歴を示すコメントが付けられているウェブ探索結果ページの例を示す。 図4は、ユーザによって以前にアクセスされた探索結果項目を識別するための処理を示す。 図5は、ユーザが以前に同様の探索クエリを提出したか否かを判定し、かつ、提出した場合には、現在の探索に新規の探索結果項目が見つかったか否かを判定するための処理を示す。 図6は、ユーザが特定のオブジェクトにアクセスしたか否かを効率的に判定するためのブルームフィルタの使用を示す。 図7は、ブラウザツールバー等のブラウザコンポネントによって報告されたイベントデータを収集するためにイベント履歴サーバがどのように使用されうるかを示す。

Claims (45)

  1. オンラインユーザからの要求に対し、ウェブページを生成および返信することによって応答するウェブサーバシステムであって、承認されたユーザに対するパーソナライズされたコンテンツを該ユーザのブラウズ履歴に基づいて生成する1つ以上のアプリケーションを備えるウェブサーバシステムと、
    前記ウェブサーバシステムの複数のユーザのそれぞれのブラウジングセッション中に発生するイベントを記述したイベントデータを持続的に記憶し、前記1つ以上のアプリケーションが前記イベントデータをリアルタイムに利用できるようにして前記ユーザのウェブページのパーソナライゼーションを促進するイベント履歴サーバとを備え、
    前記イベント履歴サーバが、前記1つ以上のアプリケーションがイベントタイプごとおよびイベント発生時刻ごとに所与のユーザのイベントデータを検索することができるクエリインタフェイスを、実現しているウェブサイトシステム。
  2. 前記イベント履歴サーバが、所与のイベントに関して、前記イベントデータを少なくともイベントタイプ識別子、イベント値、ユーザIDおよびタイムスタンプを含むイベントオブジェクトとして記憶する請求項1に記載のウェブサイトシステム。
  3. 前記イベント履歴サーバが、ユーザIDごとに前記イベントデータを持続的に記憶する少なくとも1つの記憶層サーバを備え、オンラインユーザのイベントデータをキャッシュする少なくとも1つのキャッシュ層サーバをさらに備える請求項1に記載のウェブサイトシステム。
  4. 前記キャッシュ層サーバが、未承認のユーザのイベントデータをブラウジングセッション中に収集し、前記ブラウジングセッション中に前記未承認のユーザが承認された場合に、その収集されたイベントデータを持続的に記憶するために前記少なくとも1つの記憶層サーバに渡すように構成されている請求項2に記載のウェブサイトシステム。
  5. 前記イベント履歴サーバが複数のキャッシュ層サーバを備え、そのそれぞれが、所与のユーザがブラウジングセッションを通じて特定のキャッシュ層サーバに割り当てられた状態に保たれるように、それぞれ異なるブラウズセッションIDのセットに割り当てられている請求項1に記載のウェブサイトシステム。
  6. 前記イベント履歴サーバが、ユーザIDごとに同様なイベントデータを持続的に記憶する複数のミラーリングされた記憶層サーバを備える請求項1に記載のウェブサイトシステム。
  7. 前記イベント履歴サーバの前記クエリインタフェイスが、「ユーザXはURL Yにアクセスしたか?」という形式のクエリをサポートしている請求項1に記載のウェブサイトシステム。
  8. 前記イベント履歴サーバの前記クエリインタフェイスが、「ユーザXがURL Yにアクセスしたのはいつか?」という形式のクエリをサポートしている請求項1に記載のウェブサイトシステム。
  9. 前記イベント履歴サーバが、対応するウェブサイトの全ての承認されたユーザの実質的に全てのマウスクリック動作に関してイベントデータを記録する請求項1に記載のウェブサイトシステム。
  10. 前記イベント履歴サーバが、動的に生成されたウェブページ上でユーザに対して提示された特定の項目を示すインプレッションイベントデータを記録する請求項1に記載のウェブサイトシステム。
  11. 前記1つ以上のアプリケーションが、ウェブページのインデックスを探索するための機能を提供するウェブ探索アプリケーションを備え、前記イベント履歴サーバを用いて、現在の探索を行なっているユーザによって以前にアクセスされたウェブ探索結果項目を識別および強調表示する請求項1に記載のウェブサイトシステム。
  12. 前記1つ以上のアプリケーションが、ユーザに、前記イベント履歴サーバによって記録されたような自分のブラウズ履歴データを対話式に閲覧および編成するための機能を提供するアプリケーションを備える請求項1に記載のウェブサイトシステム。
  13. 前記イベント履歴サーバが、特定ユーザのイベント履歴を反映したユーザ特有のブルームフィルタを生成し、前記ユーザ特有のブルームフィルタを用いて、前記1つ以上のアプリケーションからのクエリに対して応答する請求項1に記載のウェブサイトシステム。
  14. ユーザのウェブブラウズセッション中に発生するブラウジングイベントを記述したイベントデータを持続的に記憶し、かつこれらのブラウジングイベントに対するリアルタイムのアクセスを提供する複数の記憶層サーバであって、前記イベントデータを対応するユーザIDと関連付けてインデックス形式で記憶し、持続的に記憶されたイベントデータに対するクライアント要求が前記記憶層サーバのいずれかによって処理可能となるように、互いのミラーとして実現されている記憶層サーバと、
    前記記憶層サーバと前記イベント履歴サーバのクライアントとの間の中継部として機能する複数のキャッシュ層サーバであって、それぞれが各キャッシュ内にキャッシュされたイベントデータを記憶しかつ前記キャッシュされたイベントデータを用いて前記クライアントからのクエリに応答する複数のキャッシュ層サーバとを備えるイベント履歴サーバ。
  15. 各キャッシュ層サーバが、それぞれ異なるユーザのセットに関してイベントデータをキャッシュするように、ブラウジングセッションが特定のキャッシュ層サーバに一意に割り当てられている請求項14に記載のイベント履歴サーバ。
  16. 前記キャッシュ層サーバが、イベント報告コンポーネントから受信した更新に対して、該更新によって指定されたイベントデータを用いて自分自身のキャッシュを更新すること、および該更新を、そこに指定された前記イベントデータを持続的に記憶するために前記記憶層サーバに転送することにより、応答する請求項14に記載のイベント履歴サーバ。
  17. 前記記憶層サーバが、所与のイベントに関して、前記イベントデータを、少なくともイベントタイプ識別子、イベント値およびタイムスタンプを含むイベントオブジェクトとして記憶する請求項14に記載のイベント履歴サーバ。
  18. 前記記憶層サーバおよび前記キャッシュ層サーバが、前記イベント履歴サーバのクライアントが少なくともユーザID、イベント時刻、イベント日付という基準に基づいてイベントオブジェクトを検索することが可能なクエリインタフェイスを実現している請求項17に記載のイベント履歴サーバ。
  19. 各キャッシュ層サーバが、未承認のユーザのイベントデータをブラウジングセッション中に収集し、前記ブラウジングセッション中に前記未承認のユーザが承認された場合に、その収集されたイベントデータを持続的に記憶するために記憶層サーバに渡すように構成されている請求項14に記載のイベント履歴サーバ。
  20. 前記キャッシュ層サーバが、「ユーザXはURL Yにアクセスしたか?」という形式のクエリをサポートしている請求項14に記載のイベント履歴サーバ。
  21. 前記キャッシュ層サーバが、「ユーザXがURL Yにアクセスしたのはいつか?」という形式のクエリをサポートしている請求項14に記載のイベント履歴サーバ。
  22. 前記記憶層サーバが、対応するウェブサイトの全ての承認されたユーザの実質的に全てのマウスクリック動作に関して、イベントデータを記憶する請求項14に記載のイベント履歴サーバ。
  23. 前記記憶層サーバが、動的に生成されたウェブページ上でユーザに対して提示された特定の項目を示すインプレッションイベントデータを記録する請求項14に記載のイベント履歴サーバ。
  24. ユーザからの探索クエリを処理する方法であって、前記ユーザからリモートであるサーバシステム上において、
    前記探索クエリを実行し、前記探索クエリに応答するウェブページのURLを含むクエリ結果を生成するステップと、
    前記URLのうち少なくとも1つに関して、サーバに照会を行い、前記ユーザに関して記憶されたイベントデータが、前記ユーザが以前に前記URLにアクセスしたことを示しているか否かを判定するステップと、
    前記ユーザが以前に前記URLにアクセスしたことを前記イベントデータが示している場合に、前記URLが以前にアクセスされたことを前記ユーザに示すコメントを探索結果ページ内に含めるステップとを含む方法。
  25. 前記コメントが、前記ユーザに関して記憶された前記イベントデータによって示されるように、前記ユーザが前記URLにアクセスした日付を、さらに示す請求項24に記載の方法。
  26. 前記サーバが、少なくとも部分的に、前記ユーザに関して記憶されたブルームフィルタを用いて、前記ユーザが以前に前記URLにアクセスしたか否かを評価することにより、前記照会に対して応答する請求項24に記載の方法。
  27. 前記方法が、前記サーバに対して照会を行い、前記ユーザが前記URLにアクセスした日付を識別し、前記探索結果ページ内に前記日付を含めるステップをさらに含む請求項24に記載の方法。
  28. 前記方法が、ユーザに関して記憶された前記イベントデータによって示されるように、複数の前記URLのそれぞれに関して、前記サーバに対して個別に照会を行い、前記URLのそれぞれが、前記ユーザによって以前にアクセスされたか否かを判定するステップを含む請求項24に記載の方法。
  29. 請求項24に記載の方法を実施する実行可能なクエリ処理コードを備える探索エンジンシステム。
  30. インターネット探索を行うための機能を提供するシステムであって、
    ユーザからの探索クエリに対し、該探索クエリに対して応答する外部ウェブページの探索結果URLを列記した探索結果ページを生成および返信することによって応答する探索アプリケーションと、
    前記探索結果ページのブラウジング中にユーザによって選択された前記探索結果URLを示すユーザ特有のデータを記録するサーバとを備え、
    前記探索アプリケーションが、前記サーバにアクセスし、特定の探索結果URLが探索を行っているユーザによって以前にアクセスされたか否かを判定し、どの探索結果URLが以前にアクセスされたかを示す表示を前記探索結果ページに組み込み、
    これによりユーザが、自分自身が以前にアクセスした探索結果URLについて通知をうけるシステム。
  31. 前記サーバが、特定の探索結果URLが特定ユーザによってアクセスされた日付を示す情報を付加的に記録し、
    前記探索アプリケーションが、前記情報を用いて、特定の探索結果URLがアクセスされた前記日付を前記探索結果ページ内でさらに示す請求項30に記載のシステム。
  32. 前記サーバが、ユーザによって選択された探索結果URLを反映するユーザ特有のブルームフィルタを生成し、かつ、該ユーザ特有のブルームフィルタを用いて、特定ユーザが以前に特定のURLにアクセスしたか否かを評価するように構成されている請求項30に記載のシステム。
  33. 前記システムが、探索結果URLの選択に応じてユーザを該URLにリダイレクトすることにより、前記ユーザによる前記探索結果URLの選択の追跡を容易にしている請求項30に記載のシステム。
  34. 前記サーバが、特定ユーザによって提出された特定の探索クエリを示すユーザ特有のデータをさらに記録し、
    前記探索アプリケーションが、前記サーバによって記憶された前記データを用いて、現在の探索を行なっているユーザが以前に同様の探索を行なった際に現れなかった探索結果URLを識別し且つ強調表示する請求項30に記載のシステム。
  35. 前記サーバが、複数のイベントタイプのそれぞれに関して持続的にイベントデータを記憶し、ユーザ特有のイベントデータのイベントタイプごとのリアルタイム検索を提供するクエリセットを実現している請求項30に記載のシステム。
  36. ブラウズ履歴ベースの探索結果のパーソナライゼーションを提供する方法であって、
    探索結果ページのブラウジング中にユーザによって選択された探索結果URLを示すイベント履歴データを保持するステップと、
    前記イベント履歴データ内において示されるような前記ユーザによって選択された複数の前記探索結果URLを反映するユーザ特有のブルームフィルタを生成するステップと、
    前記ユーザによって提出された探索クエリの結果内での所与のURLの発生に応じて、少なくとも部分的に、前記ユーザ特有のブルームフィルタを分析することにより、前記ユーザが以前に前記所与のURLにアクセスしたか否かを判定するステップと、
    前記ユーザが前記所与のURLに以前にアクセスしたと判定された場合に、前記ユーザが以前に前記所与のURLにアクセスしたことを表示することにより、前記ユーザに対する探索結果ページをパーソナライズするステップとを含む方法。
  37. 前記探索結果URLのそれぞれが前記ユーザによっていつ選択されたかという記録を保持し、かつ、前記ユーザが前記所与のURLにいつアクセスしたかを表示することにより前記探索結果ページをパーソナライズするステップをさらに含む請求項36に記載の方法。
  38. 前記ユーザ特有のブルームフィルタが、複数の独立したウェブサイトのURLに対する前記ユーザのアクセスを反映する請求項36に記載の方法。
  39. 前記ユーザ特有のブルームフィルタが、複数のブラウズセッションにわたって前記ユーザによって行なわれた動作を反映する請求項36に記載の方法。
  40. 前記ユーザが以前に前記所与のURLにアクセスしたか否かを判定する前記ステップが、
    前記ブルームフィルタが、前記ユーザの前記所与のURLへのアクセスの可能性を示しているか否かを最初に判定するステップと、
    前記ブルームフィルタが前記アクセスの可能性を示している場合に、前記イベント履歴データにアクセスし、前記所与のURLへのアクセスが実際にそこで反映されているか否かを判定するステップとを含む請求項36に記載の方法。
  41. 前記ユーザが以前に前記所与のURLにアクセスしたか否かを判定する前記ステップが、
    前記ブルームフィルタが、前記ユーザの前記所与のURLへのアクセスの可能性を示しているか否かを最初に判定するステップと、
    前記ブルームフィルタが前記アクセスの可能性を示している場合に、前記所与のURLを前記ユーザによって以前にアクセスされたものとして取り扱うステップとを含み、その結果、前記ユーザのイベント履歴データに直接アクセスする必要がなくなる請求項36に記載の方法。
  42. ブラウズ履歴ベースのコンテンツ・パーソナライゼーションを提供する方法であって、
    ウェブサイトとのユーザの対話を記述したブラウズ履歴を保持するステップと、
    前記ユーザのブラウズ履歴内に含まれる複数のイベントを表すユーザ特有のブルームフィルタを生成するステップと、
    少なくとも部分的に、前記ブルームフィルタを分析することにより、前記ユーザの前記ブラウズ履歴内に特定のイベントが存在するか否かを判定するステップと、
    前記特定のイベントが前記ユーザの前記ブラウズ履歴内に存在するか否かを前記ウェブページが反映するように、前記ユーザ用に前記ウェブページをパーソナライズするステップとを含む方法。
  43. 前記ブルームフィルタが、前記ユーザの探索結果URLへのアクセスを反映し、
    特定のイベントが前記ブラウズ履歴内に存在するか否かを判定する前記ステップが、前記ブルームフィルタを用いて、前記ユーザが以前に特定の探索結果URLにアクセスしたか否かを評価するステップを含む請求項42に記載の方法。
  44. 前記ブルームフィルタが、電子カタログから前記ユーザによって選択された複数の項目を反映し、
    特定のイベントが前記ユーザの前記ブラウズ履歴内に存在するか否かを判定する前記ステップが、前記ブルームフィルタを用いて、前記ユーザが以前に前記電子カタログから特定の項目を選択したか否かを評価するステップを含む請求項42に記載の方法。
  45. 前記ブルームフィルタが、項目が前記ユーザに単に表示されただけで選択されなかったイベントを反映し、
    前記ユーザ記のブラウズ履歴内に特定のイベントが存在するか否かを判定する前記ステップが、前記ブルームフィルタを用いて、以前に前記ユーザに対して特定の項目が表示されたか否かを評価するステップ含む請求項42に記載の方法。
JP2006517214A 2003-07-02 2004-06-10 持続的にイベントデータを記憶および提供するためのサーバアーキテクチャおよび方法 Pending JP2007526537A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/612,395 US7565425B2 (en) 2003-07-02 2003-07-02 Server architecture and methods for persistently storing and serving event data
PCT/US2004/018468 WO2005006129A2 (en) 2003-07-02 2004-06-10 Server architecture and methods for persistently storing and serving event data

Publications (1)

Publication Number Publication Date
JP2007526537A true JP2007526537A (ja) 2007-09-13

Family

ID=34062354

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006517214A Pending JP2007526537A (ja) 2003-07-02 2004-06-10 持続的にイベントデータを記憶および提供するためのサーバアーキテクチャおよび方法

Country Status (5)

Country Link
US (4) US7565425B2 (ja)
EP (1) EP1652027A4 (ja)
JP (1) JP2007526537A (ja)
CA (1) CA2530565C (ja)
WO (1) WO2005006129A2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015132927A (ja) * 2014-01-10 2015-07-23 日本電気株式会社 情報処理システム、情報処理装置、監視装置、監視方法、及び、プログラム

Families Citing this family (298)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7801905B1 (en) * 2003-11-25 2010-09-21 Prabhdeep Singh Knowledge archival and recollection systems and methods
US10296919B2 (en) 2002-03-07 2019-05-21 Comscore, Inc. System and method of a click event data collection platform
US20080189408A1 (en) 2002-10-09 2008-08-07 David Cancel Presenting web site analytics
US8095589B2 (en) 2002-03-07 2012-01-10 Compete, Inc. Clickstream analysis methods and systems
US7885974B2 (en) * 2002-11-18 2011-02-08 Aol Inc. Method and apparatus providing omnibus view of online and offline content of various file types and sources
US7567979B2 (en) * 2003-08-15 2009-07-28 Microsoft Corporation Expression-based web logger for usage and navigational behavior tracking
US7756750B2 (en) 2003-09-02 2010-07-13 Vinimaya, Inc. Method and system for providing online procurement between a buyer and suppliers over a network
US7454417B2 (en) 2003-09-12 2008-11-18 Google Inc. Methods and systems for improving a search ranking using population information
US7505964B2 (en) 2003-09-12 2009-03-17 Google Inc. Methods and systems for improving a search ranking using related queries
US7386791B2 (en) * 2003-09-24 2008-06-10 Format Dynamics, Llc Method and systems for creating a digital document altered in response to at least one event
US20050097089A1 (en) * 2003-11-05 2005-05-05 Tom Nielsen Persistent user interface for providing navigational functionality
US8521725B1 (en) 2003-12-03 2013-08-27 Google Inc. Systems and methods for improved searching
US7451131B2 (en) * 2003-12-08 2008-11-11 Iac Search & Media, Inc. Methods and systems for providing a response to a query
US20060230040A1 (en) * 2003-12-08 2006-10-12 Andy Curtis Methods and systems for providing a response to a query
US7181447B2 (en) * 2003-12-08 2007-02-20 Iac Search And Media, Inc. Methods and systems for conceptually organizing and presenting information
US7774604B2 (en) * 2003-12-10 2010-08-10 Mcafee, Inc. Verifying captured objects before presentation
US20050131876A1 (en) * 2003-12-10 2005-06-16 Ahuja Ratinder Paul S. Graphical user interface for capture system
US8656039B2 (en) * 2003-12-10 2014-02-18 Mcafee, Inc. Rule parser
US8548170B2 (en) 2003-12-10 2013-10-01 Mcafee, Inc. Document de-registration
US7899828B2 (en) * 2003-12-10 2011-03-01 Mcafee, Inc. Tag data structure for maintaining relational data over captured objects
US7814327B2 (en) * 2003-12-10 2010-10-12 Mcafee, Inc. Document registration
US7984175B2 (en) 2003-12-10 2011-07-19 Mcafee, Inc. Method and apparatus for data capture and analysis system
US7774721B2 (en) * 2003-12-15 2010-08-10 Microsoft Corporation Intelligent backward resource navigation
US7890526B1 (en) * 2003-12-30 2011-02-15 Microsoft Corporation Incremental query refinement
US8954420B1 (en) 2003-12-31 2015-02-10 Google Inc. Methods and systems for improving a search ranking using article information
US7281008B1 (en) * 2003-12-31 2007-10-09 Google Inc. Systems and methods for constructing a query result set
US20050149498A1 (en) * 2003-12-31 2005-07-07 Stephen Lawrence Methods and systems for improving a search ranking using article information
US7930540B2 (en) * 2004-01-22 2011-04-19 Mcafee, Inc. Cryptographic policy enforcement
KR100905866B1 (ko) 2004-03-15 2009-07-03 야후! 인크. 사용자 주석이 통합된 검색 시스템 및 방법
US7925657B1 (en) 2004-03-17 2011-04-12 Google Inc. Methods and systems for adjusting a scoring measure based on query breadth
US20050223027A1 (en) * 2004-03-31 2005-10-06 Lawrence Stephen R Methods and systems for structuring event data in a database for location and retrieval
US7499958B1 (en) * 2004-03-31 2009-03-03 Google Inc. Systems and methods of replicating all or part of a data store
US8346777B1 (en) * 2004-03-31 2013-01-01 Google Inc. Systems and methods for selectively storing event data
US7680888B1 (en) 2004-03-31 2010-03-16 Google Inc. Methods and systems for processing instant messenger messages
US7725508B2 (en) 2004-03-31 2010-05-25 Google Inc. Methods and systems for information capture and retrieval
US8631076B1 (en) 2004-03-31 2014-01-14 Google Inc. Methods and systems for associating instant messenger events
US20050234929A1 (en) * 2004-03-31 2005-10-20 Ionescu Mihai F Methods and systems for interfacing applications with a search engine
US8161053B1 (en) 2004-03-31 2012-04-17 Google Inc. Methods and systems for eliminating duplicate events
US7333976B1 (en) 2004-03-31 2008-02-19 Google Inc. Methods and systems for processing contact information
US8099407B2 (en) 2004-03-31 2012-01-17 Google Inc. Methods and systems for processing media files
US7941439B1 (en) 2004-03-31 2011-05-10 Google Inc. Methods and systems for information capture
US8275839B2 (en) * 2004-03-31 2012-09-25 Google Inc. Methods and systems for processing email messages
US7412708B1 (en) 2004-03-31 2008-08-12 Google Inc. Methods and systems for capturing information
US8386728B1 (en) 2004-03-31 2013-02-26 Google Inc. Methods and systems for prioritizing a crawl
US7581227B1 (en) * 2004-03-31 2009-08-25 Google Inc. Systems and methods of synchronizing indexes
US8078571B2 (en) * 2004-04-05 2011-12-13 George Eagan Knowledge archival and recollection systems and methods
GB0409582D0 (en) * 2004-04-29 2004-06-02 British Telecomm Event notification network
US7962591B2 (en) * 2004-06-23 2011-06-14 Mcafee, Inc. Object classification in a capture system
US7761439B1 (en) 2004-06-30 2010-07-20 Google Inc. Systems and methods for performing a directory search
US7437364B1 (en) 2004-06-30 2008-10-14 Google Inc. System and method of accessing a document efficiently through multi-tier web caching
US8224964B1 (en) 2004-06-30 2012-07-17 Google Inc. System and method of accessing a document efficiently through multi-tier web caching
US8676922B1 (en) 2004-06-30 2014-03-18 Google Inc. Automatic proxy setting modification
US8620915B1 (en) 2007-03-13 2013-12-31 Google Inc. Systems and methods for promoting personalized search results based on personal information
US8560534B2 (en) * 2004-08-23 2013-10-15 Mcafee, Inc. Database for a capture system
US7483916B2 (en) * 2004-08-23 2009-01-27 Mcafee, Inc. Database for a capture system
US7949849B2 (en) * 2004-08-24 2011-05-24 Mcafee, Inc. File system for a capture system
US7873622B1 (en) 2004-09-02 2011-01-18 A9.Com, Inc. Multi-column search results interface
US8341143B1 (en) 2004-09-02 2012-12-25 A9.Com, Inc. Multi-category searching
US8874570B1 (en) 2004-11-30 2014-10-28 Google Inc. Search boost vector based on co-visitation information
US7440968B1 (en) 2004-11-30 2008-10-21 Google Inc. Query boosting based on classification
US8364670B2 (en) * 2004-12-28 2013-01-29 Dt Labs, Llc System, method and apparatus for electronically searching for an item
US8302011B2 (en) 2005-01-24 2012-10-30 A9.Com, Inc. Technique for modifying presentation of information displayed to end users of a computer system
US7861154B2 (en) * 2005-02-28 2010-12-28 Microsoft Corporation Integration of annotations to dynamic data sets
US8131736B1 (en) * 2005-03-01 2012-03-06 Google Inc. System and method for navigating documents
US8060463B1 (en) 2005-03-30 2011-11-15 Amazon Technologies, Inc. Mining of user event data to identify users with common interests
US7587387B2 (en) 2005-03-31 2009-09-08 Google Inc. User interface for facts query engine with snippets from information sources that include query terms and answer terms
US20060224583A1 (en) * 2005-03-31 2006-10-05 Google, Inc. Systems and methods for analyzing a user's web history
US8239394B1 (en) * 2005-03-31 2012-08-07 Google Inc. Bloom filters for query simulation
US7953720B1 (en) 2005-03-31 2011-05-31 Google Inc. Selecting the best answer to a fact query from among a set of potential answers
US7783631B2 (en) * 2005-03-31 2010-08-24 Google Inc. Systems and methods for managing multiple user accounts
US9256685B2 (en) * 2005-03-31 2016-02-09 Google Inc. Systems and methods for modifying search results based on a user's history
US20060224608A1 (en) * 2005-03-31 2006-10-05 Google, Inc. Systems and methods for combining sets of favorites
US7747632B2 (en) * 2005-03-31 2010-06-29 Google Inc. Systems and methods for providing subscription-based personalization
US7962462B1 (en) 2005-05-31 2011-06-14 Google Inc. Deriving and using document and site quality signals from search query streams
US7492186B2 (en) * 2005-07-15 2009-02-17 Tabula, Inc. Runtime loading of configuration data in a configurable IC
US7831913B2 (en) * 2005-07-29 2010-11-09 Microsoft Corporation Selection-based item tagging
US9105028B2 (en) 2005-08-10 2015-08-11 Compete, Inc. Monitoring clickstream behavior of viewers of online advertisements and search results
US7907608B2 (en) * 2005-08-12 2011-03-15 Mcafee, Inc. High speed packet capture
US8719255B1 (en) 2005-08-23 2014-05-06 Amazon Technologies, Inc. Method and system for determining interest levels of online content based on rates of change of content access
US7818326B2 (en) * 2005-08-31 2010-10-19 Mcafee, Inc. System and method for word indexing in a capture system and querying thereof
US7496557B2 (en) * 2005-09-30 2009-02-24 International Business Machines Corporation Microhubs and its applications
US7730011B1 (en) * 2005-10-19 2010-06-01 Mcafee, Inc. Attributes of captured objects in a capture system
US9697231B2 (en) * 2005-11-09 2017-07-04 Cxense Asa Methods and apparatus for providing virtual media channels based on media search
US7657104B2 (en) * 2005-11-21 2010-02-02 Mcafee, Inc. Identifying image type in a capture system
US7716353B2 (en) * 2005-12-21 2010-05-11 Bmc Software, Inc. Web services availability cache
US9262446B1 (en) 2005-12-29 2016-02-16 Google Inc. Dynamically ranking entries in a personal data book
US7925649B2 (en) * 2005-12-30 2011-04-12 Google Inc. Method, system, and graphical user interface for alerting a computer user to new results for a prior search
US7904759B2 (en) * 2006-01-11 2011-03-08 Amazon Technologies, Inc. System and method for service availability management
US8954426B2 (en) * 2006-02-17 2015-02-10 Google Inc. Query language
US20070185870A1 (en) 2006-01-27 2007-08-09 Hogue Andrew W Data object visualization using graphs
US7925676B2 (en) 2006-01-27 2011-04-12 Google Inc. Data object visualization using maps
US8055674B2 (en) * 2006-02-17 2011-11-08 Google Inc. Annotation framework
US7953730B1 (en) * 2006-03-02 2011-05-31 A9.Com, Inc. System and method for presenting a search history
US8601112B1 (en) 2006-03-14 2013-12-03 Amazon Technologies, Inc. Method and system for collecting and analyzing time-series data
US7979439B1 (en) 2006-03-14 2011-07-12 Amazon Technologies, Inc. Method and system for collecting and analyzing time-series data
US9037698B1 (en) 2006-03-14 2015-05-19 Amazon Technologies, Inc. Method and system for collecting and analyzing time-series data
US8504537B2 (en) 2006-03-24 2013-08-06 Mcafee, Inc. Signature distribution in a document registration system
US8832247B2 (en) * 2006-03-24 2014-09-09 Blue Coat Systems, Inc. Methods and systems for caching content at multiple levels
US20070226504A1 (en) * 2006-03-24 2007-09-27 Reconnex Corporation Signature match processing in a document registration system
US7747749B1 (en) 2006-05-05 2010-06-29 Google Inc. Systems and methods of efficiently preloading documents to client devices
US7689614B2 (en) * 2006-05-22 2010-03-30 Mcafee, Inc. Query generation for a capture system
US8010689B2 (en) * 2006-05-22 2011-08-30 Mcafee, Inc. Locational tagging in a capture system
US7958227B2 (en) * 2006-05-22 2011-06-07 Mcafee, Inc. Attributes of captured objects in a capture system
US9443022B2 (en) 2006-06-05 2016-09-13 Google Inc. Method, system, and graphical user interface for providing personalized recommendations of popular search queries
US7574310B2 (en) * 2006-06-12 2009-08-11 Kennedy Robert A Network-enabled electrical power distribution equipment with improved storage system
US8868533B2 (en) 2006-06-30 2014-10-21 International Business Machines Corporation Method and apparatus for intelligent capture of document object model events
US8949406B2 (en) * 2008-08-14 2015-02-03 International Business Machines Corporation Method and system for communication between a client system and a server system
US8583772B2 (en) 2008-08-14 2013-11-12 International Business Machines Corporation Dynamically configurable session agent
US20080011819A1 (en) * 2006-07-11 2008-01-17 Microsoft Corporation Microsoft Patent Group Verification of hit testing
US20080015878A1 (en) * 2006-07-17 2008-01-17 Yahoo! Inc. Real-time user profile platform for targeted online advertisement and personalization
WO2008091387A2 (en) * 2006-08-07 2008-07-31 Chacha Search, Inc. Electronic previous search results log
US8260909B2 (en) * 2006-09-19 2012-09-04 Oracle America, Inc. Method and apparatus for monitoring a data stream
US8260910B2 (en) * 2006-09-19 2012-09-04 Oracle America, Inc. Method and apparatus for monitoring a data stream to detect a pattern of data elements using bloom filters
US8954412B1 (en) 2006-09-28 2015-02-10 Google Inc. Corroborating facts in electronic documents
US8037060B1 (en) 2006-09-29 2011-10-11 A9.Com, Inc. System and method for displaying columns of search results
US10409849B2 (en) 2006-09-29 2019-09-10 A9.Com, Inc. System and method for displaying columns of search results
KR101266267B1 (ko) 2006-10-05 2013-05-23 스플렁크 인코퍼레이티드 시계열 검색 엔진
US9824107B2 (en) 2006-10-25 2017-11-21 Entit Software Llc Tracking changing state data to assist in computer network security
US8661029B1 (en) 2006-11-02 2014-02-25 Google Inc. Modifying search result ranking based on implicit user feedback
US8255873B2 (en) * 2006-11-20 2012-08-28 Microsoft Corporation Handling external content in web applications
US7937428B2 (en) * 2006-12-21 2011-05-03 International Business Machines Corporation System and method for generating and using a dynamic bloom filter
US7925678B2 (en) * 2007-01-12 2011-04-12 Loglogic, Inc. Customized reporting and mining of event data
US20080209009A1 (en) * 2007-01-18 2008-08-28 Niraj Katwala Methods and systems for synchronizing cached search results
JP2008181189A (ja) * 2007-01-23 2008-08-07 Global Techno:Kk 証跡データ抽出方法
US8271891B1 (en) * 2007-02-02 2012-09-18 Sandia Corporation Computing environment logbook
US9189561B2 (en) 2007-02-10 2015-11-17 Adobe Systems Incorporated Bridge event analytics tools and techniques
US8065275B2 (en) * 2007-02-15 2011-11-22 Google Inc. Systems and methods for cache optimization
US8812651B1 (en) 2007-02-15 2014-08-19 Google Inc. Systems and methods for client cache awareness
US8938463B1 (en) 2007-03-12 2015-01-20 Google Inc. Modifying search result ranking based on implicit user feedback and a model of presentation bias
US8347202B1 (en) 2007-03-14 2013-01-01 Google Inc. Determining geographic locations for place names in a fact repository
US8694374B1 (en) 2007-03-14 2014-04-08 Google Inc. Detecting click spam
US20080244442A1 (en) * 2007-03-30 2008-10-02 Microsoft Corporation Techniques to share information between application programs
US7974888B2 (en) 2007-03-30 2011-07-05 Amazon Technologies, Inc. Services for providing item association data
US7881984B2 (en) * 2007-03-30 2011-02-01 Amazon Technologies, Inc. Service for providing item recommendations
US20080244428A1 (en) * 2007-03-30 2008-10-02 Yahoo! Inc. Visually Emphasizing Query Results Based on Relevance Feedback
US7921073B2 (en) * 2007-04-05 2011-04-05 Yahoo! Inc. System and method for determining impression volumes of content items in a taxonomy hierarchy
US9092510B1 (en) 2007-04-30 2015-07-28 Google Inc. Modifying search result ranking based on a temporal element of user feedback
US20080270761A1 (en) * 2007-04-30 2008-10-30 Microsoft Corporation Techniques to generate event contexts for recurring events
US7899815B2 (en) * 2007-05-02 2011-03-01 Yahoo! Inc. Apparatus and methods for providing search benchmarks
US8239751B1 (en) 2007-05-16 2012-08-07 Google Inc. Data from web documents in a spreadsheet
US20090006322A1 (en) * 2007-06-27 2009-01-01 Chang Shannon H Method for Handling Web Search Results to Be Displayed on a Browser
US8122360B2 (en) 2007-06-27 2012-02-21 Kosmix Corporation Automatic selection of user-oriented web content
WO2009003514A1 (en) * 2007-06-29 2009-01-08 Telefonaktiebolaget Lm Ericsson (Publ) Method of processing event notifications and event subscriptions
US8694511B1 (en) 2007-08-20 2014-04-08 Google Inc. Modifying search result ranking based on populations
US20090063590A1 (en) * 2007-08-30 2009-03-05 Microsoft Corporation Operating System Support of Graceful Degradation for Web Applications
US8042055B2 (en) 2007-08-31 2011-10-18 Tealeaf Technology, Inc. Replaying captured network interactions
US8191081B2 (en) * 2007-09-06 2012-05-29 Sap Ag Condition-based event filtering
US7428522B1 (en) 2007-09-27 2008-09-23 Yahoo! Inc. Real-time search term popularity determination, by search origin geographic location
US8909655B1 (en) 2007-10-11 2014-12-09 Google Inc. Time based ranking
US8090740B2 (en) * 2007-10-16 2012-01-03 Microsoft Corp. Search-centric hierarchichal browser history
US8954430B1 (en) * 2007-12-13 2015-02-10 Amazon Technologies, Inc. Persistent searches
US20090171754A1 (en) * 2007-12-28 2009-07-02 Kane Francis J Widget-assisted detection and exposure of cross-site behavioral associations
US20090171968A1 (en) * 2007-12-28 2009-07-02 Kane Francis J Widget-assisted content personalization based on user behaviors tracked across multiple web sites
US20090172021A1 (en) * 2007-12-28 2009-07-02 Kane Francis J Recommendations based on actions performed on multiple remote servers
US7984056B1 (en) 2007-12-28 2011-07-19 Amazon Technologies, Inc. System for facilitating discovery and management of feeds
US20090171755A1 (en) * 2007-12-28 2009-07-02 Kane Francis J Behavior-based generation of site-to-site referrals
US8271878B2 (en) * 2007-12-28 2012-09-18 Amazon Technologies, Inc. Behavior-based selection of items to present on affiliate sites
US8250080B1 (en) 2008-01-11 2012-08-21 Google Inc. Filtering in search engines
US8849838B2 (en) * 2008-01-15 2014-09-30 Google Inc. Bloom filter for storing file access history
US20090248612A1 (en) * 2008-03-31 2009-10-01 Morris Robert P Methods, Systems, And Computer Program Products For Providing Prior Values Of A Tuple Element In A Publish/Subscribe System
US9128945B1 (en) 2008-05-16 2015-09-08 Google Inc. Query augmentation
JP2010008601A (ja) * 2008-06-25 2010-01-14 Fujitsu Ltd 案内情報表示装置、案内情報表示方法及びプログラム
US8205242B2 (en) 2008-07-10 2012-06-19 Mcafee, Inc. System and method for data mining and security policy management
US8745018B1 (en) 2008-07-10 2014-06-03 Google Inc. Search application and web browser interaction
US8180771B2 (en) * 2008-07-18 2012-05-15 Iac Search & Media, Inc. Search activity eraser
US9276747B2 (en) 2008-08-04 2016-03-01 Technology Policy Associates, Llc Remote profile security system
US9253154B2 (en) 2008-08-12 2016-02-02 Mcafee, Inc. Configuration management for a capture/registration system
US8452769B2 (en) * 2008-09-19 2013-05-28 International Business Machines Corporation Context aware search document
US8396865B1 (en) 2008-12-10 2013-03-12 Google Inc. Sharing search engine relevance data between corpora
US8214350B1 (en) * 2009-01-02 2012-07-03 Google Inc. Pre-computed impression lists
US8850591B2 (en) 2009-01-13 2014-09-30 Mcafee, Inc. System and method for concept building
US8706709B2 (en) 2009-01-15 2014-04-22 Mcafee, Inc. System and method for intelligent term grouping
US20100185644A1 (en) * 2009-01-21 2010-07-22 Microsoft Corporatoin Automatic search suggestions from client-side, browser, history cache
US10007729B1 (en) 2009-01-23 2018-06-26 Zakta, LLC Collaboratively finding, organizing and/or accessing information
US9607324B1 (en) 2009-01-23 2017-03-28 Zakta, LLC Topical trust network
US10191982B1 (en) 2009-01-23 2019-01-29 Zakata, LLC Topical search portal
US8473442B1 (en) 2009-02-25 2013-06-25 Mcafee, Inc. System and method for intelligent state management
US9477763B2 (en) * 2009-03-02 2016-10-25 Excalibur IP, LC Personalized search results utilizing previously navigated web sites
US20100229100A1 (en) * 2009-03-03 2010-09-09 Sprint Spectrum L.P. Methods and Systems for Storing and Accessing Application History
US20100227682A1 (en) * 2009-03-04 2010-09-09 Microsoft Corporation Awarding of avatar items in video game environment
US20100228701A1 (en) * 2009-03-06 2010-09-09 Microsoft Corporation Updating bloom filters
US8667121B2 (en) 2009-03-25 2014-03-04 Mcafee, Inc. System and method for managing data and policies
US8447722B1 (en) 2009-03-25 2013-05-21 Mcafee, Inc. System and method for data mining and security policy management
KR20100107801A (ko) * 2009-03-26 2010-10-06 삼성전자주식회사 무선 통신 시스템에서 안테나 선택을 위한 장치 및 방법
US8930818B2 (en) * 2009-03-31 2015-01-06 International Business Machines Corporation Visualization of website analytics
US9934320B2 (en) 2009-03-31 2018-04-03 International Business Machines Corporation Method and apparatus for using proxy objects on webpage overlays to provide alternative webpage actions
US20100257403A1 (en) * 2009-04-03 2010-10-07 Microsoft Corporation Restoration of a system from a set of full and partial delta system snapshots across a distributed system
US8261126B2 (en) * 2009-04-03 2012-09-04 Microsoft Corporation Bare metal machine recovery from the cloud
US9009146B1 (en) 2009-04-08 2015-04-14 Google Inc. Ranking search results based on similar queries
US8862574B2 (en) * 2009-04-30 2014-10-14 Microsoft Corporation Providing a search-result filters toolbar
US8447760B1 (en) 2009-07-20 2013-05-21 Google Inc. Generating a related set of documents for an initial set of documents
US9135277B2 (en) 2009-08-07 2015-09-15 Google Inc. Architecture for responding to a visual query
US20110035367A1 (en) * 2009-08-07 2011-02-10 Gupta Ankur K Methods And System For Efficient Crawling Of Advertiser Landing Page URLs
US9087059B2 (en) * 2009-08-07 2015-07-21 Google Inc. User interface for presenting search results for multiple regions of a visual query
US8498974B1 (en) 2009-08-31 2013-07-30 Google Inc. Refining search results
US8478725B2 (en) * 2009-09-14 2013-07-02 Vmware, Inc. Method and system for performing live migration of persistent data of a virtual machine
US8414390B1 (en) 2009-09-30 2013-04-09 Amazon Technologies, Inc. Systems and methods for the electronic distribution of games
US9770654B1 (en) 2009-09-30 2017-09-26 Amazon Technologies, Inc. Cross device operation of games
US8972391B1 (en) 2009-10-02 2015-03-03 Google Inc. Recent interest based relevance scoring
US8874555B1 (en) 2009-11-20 2014-10-28 Google Inc. Modifying scoring data based on historical changes
US8615514B1 (en) 2010-02-03 2013-12-24 Google Inc. Evaluating website properties by partitioning user feedback
US20110208840A1 (en) * 2010-02-22 2011-08-25 Lee Blackman Cookie alert
US8924379B1 (en) 2010-03-05 2014-12-30 Google Inc. Temporal-based score adjustments
US8959093B1 (en) 2010-03-15 2015-02-17 Google Inc. Ranking search results based on anchors
US20110231482A1 (en) * 2010-03-22 2011-09-22 Strangeloop Networks Inc. Automated Optimization Based On Determination Of Website Usage Scenario
US8347021B1 (en) 2010-04-09 2013-01-01 Google Inc. Storing application messages
US8589228B2 (en) * 2010-06-07 2013-11-19 Microsoft Corporation Click modeling for URL placements in query response pages
US8533532B2 (en) * 2010-06-23 2013-09-10 International Business Machines Corporation System identifying and inferring web session events
US9623119B1 (en) 2010-06-29 2017-04-18 Google Inc. Accentuating search results
US8832083B1 (en) 2010-07-23 2014-09-09 Google Inc. Combining user feedback
US8578049B2 (en) * 2010-10-04 2013-11-05 Futurewei Technologies, Inc. Content router forwarding plane architecture
US8806615B2 (en) 2010-11-04 2014-08-12 Mcafee, Inc. System and method for protecting specified data combinations
US8346792B1 (en) 2010-11-09 2013-01-01 Google Inc. Query generation using structural similarity between documents
US20120143725A1 (en) * 2010-12-02 2012-06-07 Vinimaya Inc. Methods and systems for influencing search and shopping decisions in electronic procurement
US10068266B2 (en) 2010-12-02 2018-09-04 Vinimaya Inc. Methods and systems to maintain, check, report, and audit contract and historical pricing in electronic procurement
US9697050B2 (en) * 2010-12-22 2017-07-04 Sap Se System and method for scaling for a large number of concurrent users
US9002867B1 (en) 2010-12-30 2015-04-07 Google Inc. Modifying ranking data based on document changes
GB2503595A (en) 2011-02-22 2014-01-01 Ibm On-page manipulation and real-time replacement of content
US20120240019A1 (en) * 2011-03-17 2012-09-20 Ebay Inc. Method and system for tracking web link usage
US9667713B2 (en) * 2011-03-21 2017-05-30 Apple Inc. Apparatus and method for managing peer-to-peer connections between different service providers
US8498995B1 (en) * 2011-03-24 2013-07-30 Emc Corporation Optimizing data retrieval during event data query processing
US9760414B2 (en) 2011-05-18 2017-09-12 International Business Machines Corporation Preserving event data for lazily-loaded macro components in a publish/subscribe system
US10268656B1 (en) * 2011-05-19 2019-04-23 Palo Alto Networks, Inc. Using cache and bloom filters for URL lookups
US8725730B2 (en) * 2011-05-23 2014-05-13 Hewlett-Packard Development Company, L.P. Responding to a query in a data processing system
US20130024431A1 (en) * 2011-07-22 2013-01-24 Microsoft Corporation Event database for event search and ticket retrieval
US9037696B2 (en) * 2011-08-16 2015-05-19 Amazon Technologies, Inc. Managing information associated with network resources
US8832028B2 (en) * 2011-08-25 2014-09-09 Oracle International Corporation Database cloning
US8504906B1 (en) * 2011-09-08 2013-08-06 Amazon Technologies, Inc. Sending selected text and corresponding media content
US8949371B1 (en) * 2011-09-29 2015-02-03 Symantec Corporation Time and space efficient method and system for detecting structured data in free text
US9836178B2 (en) * 2011-11-03 2017-12-05 Excalibur Ip, Llc Social web browsing
US9313100B1 (en) 2011-11-14 2016-04-12 Amazon Technologies, Inc. Remote browsing session management
US9330188B1 (en) 2011-12-22 2016-05-03 Amazon Technologies, Inc. Shared browsing sessions
US20130246334A1 (en) 2011-12-27 2013-09-19 Mcafee, Inc. System and method for providing data protection workflows in a network environment
US9336321B1 (en) 2012-01-26 2016-05-10 Amazon Technologies, Inc. Remote browsing and searching
US8839087B1 (en) 2012-01-26 2014-09-16 Amazon Technologies, Inc. Remote browsing and searching
US8954580B2 (en) 2012-01-27 2015-02-10 Compete, Inc. Hybrid internet traffic measurement using site-centric and panel data
US9900395B2 (en) 2012-01-27 2018-02-20 Comscore, Inc. Dynamic normalization of internet traffic
US10185822B2 (en) * 2012-03-14 2019-01-22 Carbon Black, Inc. Systems and methods for tracking and recording events in a network of computing systems
KR20130106519A (ko) * 2012-03-20 2013-09-30 삼성전자주식회사 웹 브라우저의 히스토리 관리 방법 및 장치
US20130262445A1 (en) * 2012-04-02 2013-10-03 Pomian & Corella, Llc Browsing real-time search results reliably on a mobile computing device
US8510287B1 (en) 2012-04-08 2013-08-13 Microsoft Corporation Annotating personalized recommendations
US10210480B2 (en) * 2012-05-31 2019-02-19 Apple Inc. Avoiding a redundant display of a notification on multiple user devices
US8977626B2 (en) * 2012-07-20 2015-03-10 Apple Inc. Indexing and searching a data collection
US9348936B2 (en) * 2012-07-25 2016-05-24 Oracle International Corporation Heuristic caching to personalize applications
US8631034B1 (en) * 2012-08-13 2014-01-14 Aria Solutions Inc. High performance real-time relational database system and methods for using same
US8943197B1 (en) 2012-08-16 2015-01-27 Amazon Technologies, Inc. Automated content update notification
US10261938B1 (en) 2012-08-31 2019-04-16 Amazon Technologies, Inc. Content preloading using predictive models
US9349123B1 (en) * 2012-10-04 2016-05-24 Amazon Technologies, Inc. Hybrid native networked application
US9635094B2 (en) 2012-10-15 2017-04-25 International Business Machines Corporation Capturing and replaying application sessions using resource files
US9536108B2 (en) 2012-10-23 2017-01-03 International Business Machines Corporation Method and apparatus for generating privacy profiles
US9535720B2 (en) 2012-11-13 2017-01-03 International Business Machines Corporation System for capturing and replaying screen gestures
US10474735B2 (en) 2012-11-19 2019-11-12 Acoustic, L.P. Dynamic zooming of content with overlays
US20140149392A1 (en) * 2012-11-28 2014-05-29 Microsoft Corporation Unified search result service and cache update
US9965339B2 (en) 2013-03-15 2018-05-08 One Source Virtual Hr, Inc. System and method for service provision in a multi-tenant environment
US9183499B1 (en) 2013-04-19 2015-11-10 Google Inc. Evaluating quality based on neighbor features
US10225136B2 (en) 2013-04-30 2019-03-05 Splunk Inc. Processing of log data and performance data obtained via an application programming interface (API)
US10019496B2 (en) 2013-04-30 2018-07-10 Splunk Inc. Processing of performance data and log data from an information technology environment by using diverse data stores
US10346357B2 (en) 2013-04-30 2019-07-09 Splunk Inc. Processing of performance data and structure data from an information technology environment
US10997191B2 (en) 2013-04-30 2021-05-04 Splunk Inc. Query-triggered processing of performance data and log data from an information technology environment
US10614132B2 (en) 2013-04-30 2020-04-07 Splunk Inc. GUI-triggered processing of performance data and log data from an information technology environment
US10318541B2 (en) 2013-04-30 2019-06-11 Splunk Inc. Correlating log data with performance measurements having a specified relationship to a threshold value
US10353957B2 (en) 2013-04-30 2019-07-16 Splunk Inc. Processing of performance data and raw log data from an information technology environment
US9860143B2 (en) * 2013-06-26 2018-01-02 Nicolas Bissantz System for providing information on the traffic on a group of websites
RU2608668C2 (ru) * 2014-07-30 2017-01-23 Общество С Ограниченной Ответственностью "Яндекс" Система и способ управления и организации кэша веб-браузера для обеспечения автономного просмотра
US9075812B1 (en) * 2014-09-05 2015-07-07 WhisperText, Inc. System and method for automatically selecting images to accompany text
US10002361B2 (en) 2015-02-27 2018-06-19 Esquify, Inc. Remote supervision of client device activity
US9634992B1 (en) 2015-02-28 2017-04-25 Palo Alto Networks, Inc. Probabilistic duplicate detection
US10785310B1 (en) * 2015-09-30 2020-09-22 Open Text Corporation Method and system implementing dynamic and/or adaptive user interfaces
US10304082B1 (en) 2015-11-12 2019-05-28 Amazon Technologies, Inc. Personalized network content generation and redirection according to repeat behavior
US9672487B1 (en) 2016-01-15 2017-06-06 FinLocker LLC Systems and/or methods for providing enhanced control over and visibility into workflows where potentially sensitive data is processed by different operators, regardless of current workflow task owner
US9904957B2 (en) * 2016-01-15 2018-02-27 FinLocker LLC Systems and/or methods for maintaining control over, and access to, sensitive data inclusive digital vaults and hierarchically-arranged information elements thereof
US10019588B2 (en) 2016-01-15 2018-07-10 FinLocker LLC Systems and/or methods for enabling cooperatively-completed rules-based data analytics of potentially sensitive data
US20170352034A1 (en) * 2016-06-02 2017-12-07 Samsung Electronics Company, Ltd. Transaction-Record Verification for Mobile-Payment System
WO2017222617A1 (en) 2016-06-21 2017-12-28 Oracle International Corporation Internet cloud-hosted natural language interactive messaging system server collaboration
JP6952060B2 (ja) 2016-06-21 2021-10-20 オラクル・インターナショナル・コーポレイション インターネットクラウドでホストされる自然言語による対話型メッセージングシステムユーザリゾルバ
EP3472978B1 (en) 2016-06-21 2021-12-15 Oracle International Corporation Internet cloud-hosted natural language interactive messaging system sessionizer
US11477302B2 (en) 2016-07-06 2022-10-18 Palo Alto Research Center Incorporated Computer-implemented system and method for distributed activity detection
US10552728B2 (en) 2016-07-29 2020-02-04 Splunk Inc. Automated anomaly detection for event-based system
US10956481B2 (en) 2016-07-29 2021-03-23 Splunk Inc. Event-based correlation of non-text machine data
US11227208B2 (en) 2016-07-29 2022-01-18 Splunk Inc. Automated data-generation for event-based system
US11314799B2 (en) 2016-07-29 2022-04-26 Splunk Inc. Event-based data intake and query system employing non-text machine data
US10832279B2 (en) 2016-08-17 2020-11-10 International Business Machines Corporation Aggregation of unique user invocations in an online environment
JP7441650B2 (ja) 2016-09-16 2024-03-01 オラクル・インターナショナル・コーポレイション エンティティベースの通信を有する、インターネットクラウドによってホストされた自然言語インタラクティブメッセージングシステム
US10536550B2 (en) * 2016-11-30 2020-01-14 Facebook, Inc. Storage of events for a dynamic audience platform
US10740803B2 (en) 2016-11-30 2020-08-11 Facebook, Inc. Scheduling events for a dynamic audience platform
US10970629B1 (en) * 2017-02-24 2021-04-06 Amazon Technologies, Inc. Encodings for reversible sparse dimensionality reduction
US11657407B1 (en) * 2017-03-13 2023-05-23 Amazon Technologies, Inc. Filtering data with probabilistic filters for content selection
US10825064B1 (en) 2017-03-13 2020-11-03 Amazon Technologies, Inc. Preventing duplicate content selection for digital presentation
US20180262404A1 (en) * 2017-03-13 2018-09-13 Microsoft Technology Licensing, Llc Hypermedia-driven record and playback test framework
US10891678B1 (en) 2017-04-18 2021-01-12 Amazon Technologies, Inc. Personalized network content generation and redirection according to time intervals between repeated instances of behavior based on entity size
US10643178B1 (en) 2017-06-16 2020-05-05 Coupa Software Incorporated Asynchronous real-time procurement system
CN109542339B (zh) * 2018-10-23 2021-09-03 拉扎斯网络科技(上海)有限公司 数据分层访问方法、装置、多层存储设备和存储介质
CN109361778A (zh) * 2018-12-18 2019-02-19 厦门商集网络科技有限责任公司 一种管理会话的方法及终端
US10477287B1 (en) 2019-06-18 2019-11-12 Neal C. Fairbanks Method for providing additional information associated with an object visually present in media content
US11956518B2 (en) 2020-11-23 2024-04-09 Clicktivated Video, Inc. System and method for creating interactive elements for objects contemporaneously displayed in live video
US11418571B1 (en) 2021-07-29 2022-08-16 Servicenow, Inc. Server-side workflow improvement based on client-side data mining
US11809378B2 (en) 2021-10-15 2023-11-07 Morgan Stanley Services Group Inc. Network file deduplication using decaying bloom filters
CN116389444B (zh) * 2023-04-10 2023-09-15 北京智享嘉网络信息技术有限公司 一种基于用户web应用的流量调度方法以及系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020010625A1 (en) * 1998-09-18 2002-01-24 Smith Brent R. Content personalization based on actions performed during a current browsing session
US20020143925A1 (en) * 2000-12-29 2002-10-03 Ncr Corporation Identifying web-log data representing a single user session

Family Cites Families (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5774123A (en) 1995-12-15 1998-06-30 Ncr Corporation Apparatus and method for enhancing navigation of an on-line multiple-resource information service
US6310630B1 (en) * 1997-12-12 2001-10-30 International Business Machines Corporation Data processing system and method for internet browser history generation
US20020013834A1 (en) * 1998-04-20 2002-01-31 Jeffrey Esakov Tracking and graphical display of user activity on an information network
US6448980B1 (en) * 1998-10-09 2002-09-10 International Business Machines Corporation Personalizing rich media presentations based on user response to the presentation
US6751777B2 (en) * 1998-10-19 2004-06-15 International Business Machines Corporation Multi-target links for navigating between hypertext documents and the like
US6453342B1 (en) * 1998-12-03 2002-09-17 International Business Machines Corporation Method and apparatus for selective caching and cleaning of history pages for web browsers
US6513046B1 (en) * 1999-12-15 2003-01-28 Tangis Corporation Storing and recalling information to augment human memories
US6460060B1 (en) * 1999-01-26 2002-10-01 International Business Machines Corporation Method and system for searching web browser history
US6466970B1 (en) 1999-01-27 2002-10-15 International Business Machines Corporation System and method for collecting and analyzing information about content requested in a network (World Wide Web) environment
US7197547B1 (en) * 1999-05-11 2007-03-27 Andrew Karl Miller Load balancing technique implemented in a data network device utilizing a data cache
US7216115B1 (en) * 1999-11-10 2007-05-08 Fastcase.Com, Inc. Apparatus and method for displaying records responsive to a database query
US6785671B1 (en) 1999-12-08 2004-08-31 Amazon.Com, Inc. System and method for locating web-based product offerings
US8775197B2 (en) * 2000-02-24 2014-07-08 Webmd, Llc Personalized health history system with accommodation for consumer health terminology
US6859909B1 (en) * 2000-03-07 2005-02-22 Microsoft Corporation System and method for annotating web-based documents
US8352331B2 (en) * 2000-05-03 2013-01-08 Yahoo! Inc. Relationship discovery engine
US6667751B1 (en) 2000-07-13 2003-12-23 International Business Machines Corporation Linear web browser history viewer
US6571259B1 (en) * 2000-09-26 2003-05-27 Emc Corporation Preallocation of file system cache blocks in a data storage system
KR100401209B1 (ko) * 2000-11-21 2003-10-10 삼성전자주식회사 모바일 아이피를 사용하는 이동 통신 시스템에서 지역적터널 관리방법
US20020069407A1 (en) 2000-11-28 2002-06-06 Navic Systems, Incorporated System and method for reporting counted impressions
US6957390B2 (en) * 2000-11-30 2005-10-18 Mediacom.Net, Llc Method and apparatus for providing dynamic information to a user via a visual display
US7089237B2 (en) 2001-01-26 2006-08-08 Google, Inc. Interface and system for providing persistent contextual relevance for commerce activities in a networked environment
US6768994B1 (en) * 2001-02-23 2004-07-27 Trimble Navigation Limited Web based data mining and location data reporting and system
US20020198882A1 (en) * 2001-03-29 2002-12-26 Linden Gregory D. Content personalization based on actions performed during a current browsing session
US7003565B2 (en) 2001-04-03 2006-02-21 International Business Machines Corporation Clickstream data collection technique
US7707149B2 (en) * 2001-04-04 2010-04-27 Alorica, Inc Method, system, and program for customer service and support management
WO2002084590A1 (en) * 2001-04-11 2002-10-24 Applied Minds, Inc. Knowledge web
US6741990B2 (en) 2001-05-23 2004-05-25 Intel Corporation System and method for efficient and adaptive web accesses filtering
US6917922B1 (en) * 2001-07-06 2005-07-12 Amazon.Com, Inc. Contextual presentation of information about related orders during browsing of an electronic catalog
US6877007B1 (en) * 2001-10-16 2005-04-05 Anna M. Hentzel Method and apparatus for tracking a user's interaction with a resource supplied by a server computer
US7295996B2 (en) * 2001-11-30 2007-11-13 Skinner Christopher J Automated web ranking bid management account system
US6877077B2 (en) * 2001-12-07 2005-04-05 Sun Microsystems, Inc. Memory controller and method using read and write queues and an ordering queue for dispatching read and write memory requests out of order to reduce memory latency
US7370120B2 (en) * 2001-12-07 2008-05-06 Propel Software Corporation Method and system for reducing network latency in data communication
US20050128304A1 (en) * 2002-02-06 2005-06-16 Manasseh Frederick M. System and method for traveler interactions management
US7383248B2 (en) * 2002-12-12 2008-06-03 Jay Chieh Chen Hyperlink park and search
US7765206B2 (en) * 2002-12-13 2010-07-27 Metaweb Technologies, Inc. Meta-Web
US20080177994A1 (en) * 2003-01-12 2008-07-24 Yaron Mayer System and method for improving the efficiency, comfort, and/or reliability in Operating Systems, such as for example Windows
US7162473B2 (en) * 2003-06-26 2007-01-09 Microsoft Corporation Method and system for usage analyzer that determines user accessed sources, indexes data subsets, and associated metadata, processing implicit queries based on potential interest to users

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020010625A1 (en) * 1998-09-18 2002-01-24 Smith Brent R. Content personalization based on actions performed during a current browsing session
US20020143925A1 (en) * 2000-12-29 2002-10-03 Ncr Corporation Identifying web-log data representing a single user session

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015132927A (ja) * 2014-01-10 2015-07-23 日本電気株式会社 情報処理システム、情報処理装置、監視装置、監視方法、及び、プログラム
US10282239B2 (en) 2014-01-10 2019-05-07 Nec Corporation Monitoring method

Also Published As

Publication number Publication date
CA2530565A1 (en) 2005-01-20
EP1652027A2 (en) 2006-05-03
US20050033803A1 (en) 2005-02-10
US20060112178A1 (en) 2006-05-25
US7945637B2 (en) 2011-05-17
US20090276407A1 (en) 2009-11-05
CA2530565C (en) 2012-07-31
US20110208711A1 (en) 2011-08-25
US7565425B2 (en) 2009-07-21
WO2005006129A3 (en) 2006-12-21
EP1652027A4 (en) 2008-06-04
WO2005006129A2 (en) 2005-01-20
US7895325B2 (en) 2011-02-22

Similar Documents

Publication Publication Date Title
US7565425B2 (en) Server architecture and methods for persistently storing and serving event data
US11809504B2 (en) Auto-refinement of search results based on monitored search activities of users
US9443022B2 (en) Method, system, and graphical user interface for providing personalized recommendations of popular search queries
US8645390B1 (en) Reordering search query results in accordance with search context specific predicted performance functions
US9323846B2 (en) Method, system, and graphical user interface for alerting a computer user to new results for a prior search
US7499940B1 (en) Method and system for URL autocompletion using ranked results
US7487145B1 (en) Method and system for autocompletion using ranked results
US7747632B2 (en) Systems and methods for providing subscription-based personalization
CA2603087C (en) Systems and methods for analyzing a user's web history
US8166028B1 (en) Method, system, and graphical user interface for improved searching via user-specified annotations
US20080228695A1 (en) Techniques for analyzing and presenting information in an event-based data aggregation system
US9529861B2 (en) Method, system, and graphical user interface for improved search result displays via user-specified annotations
US20060059225A1 (en) Methods and apparatus for automatic generation of recommended links
US20060224608A1 (en) Systems and methods for combining sets of favorites
US20060224624A1 (en) Systems and methods for managing multiple user accounts
US20060224587A1 (en) Systems and methods for modifying search results based on a user's history
US8589391B1 (en) Method and system for generating web site ratings for a user
US20130290369A1 (en) Contextual application recommendations
TW201207640A (en) Method of recording and searching WebPage
Sathiyamoorthi et al. Data Pre-Processing Techniques for Pre-Fetching and Caching of Web Data through Proxy Server
JP2004070957A (ja) 検索システム
Patel et al. Web Crawler: An Intelligent Agent Through Intellect Webbot

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090902

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091125

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20100602