(57)【特許請求の範囲】
【請求項１】
サーバが、ネットワークによってユーザ装置から受信した、一つ又は複数のキーワードを含むクエリの第１要求に応答し、前記サーバがホスティングする検索エンジンによって前記クエリに対応した検索トランザクションを識別するための検索識別子（ＩＤ）を生成するステップと、
前記検索エンジンが、前記一つ又は複数のキーワードに基づいてコンテンツデータベースで検索を実行して、一つ又は複数のコンテンツアイテムの集合を生成するステップと、
前記コンテンツアイテムの少なくとも一つに対して、
前記検索エンジンが、エンコーダによって所定の符号化アルゴリズムを利用して前記検索ＩＤと前記コンテンツアイテムを識別するためのコンテンツＩＤとを機械可読コードに符号化し、
前記検索エンジンが、前記検索ＩＤと、対応したコンテンツＩＤとが符号化された前記機械可読コードを対応したコンテンツアイテムに付加するステップと、
前記検索エンジンが、前記コンテンツアイテムを合併することによって検索結果ページを生成するステップと、
前記検索エンジンが、前記ネットワークによって前記ユーザ装置に前記検索結果ページを送信するステップであって、前記検索結果ページにおけるコンテンツアイテムの少なくとも一つにおいて対応した機械可読コードが付加されるステップと、
前記サーバが、前記ネットワークによってプロキシのプロキシ装置から第２要求を受信するステップであって、前記第２要求は、前記検索結果ページにおけるコンテンツアイテムのうちの第１コンテンツアイテムに関連付けられた第１機械可読コードを識別するための識別情報を含む、ステップと、
前記サーバが、前記第２要求に応答し、前記第２要求に基づいてプロキシ対話イベント情報を記憶するプロキシ対話データベースを更新するステップであって、前記プロキシ対話データベースは、複数のプロキシ対話ＩＤによってインデックスする複数のプロキシ対話イベントエントリーを含み、各プロキシ対話イベントエントリーは、プロキシと特定コンテンツアイテムとの対話を示すプロキシ対話イベントに対応する、ステップと、
前記サーバが、前記第２要求に応答し、対話記録モジュールによって前記識別情報から前記検索ＩＤと第１コンテンツＩＤを抽出するステップと、
前記対話記録モジュールが、前記検索ＩＤと前記第１コンテンツＩＤに基づき、前記第１要求を開始する前記ユーザ装置のユーザを識別するためのユーザＩＤを確定するステップと、
ユーザプロファイルコンパイラが、前記ユーザＩＤに基づいてユーザ情報データベースから取得する情報に基づき、前記ユーザのユーザ情報をコンパイルするステップと、
前記サーバが、前記プロキシ装置に前記ユーザのユーザ情報を送信し、それにより前記プロキシ装置が前記ユーザ情報に基づいて前記ユーザと通信できるようにするステップと、を含む
ことを特徴とするユーザとコンテンツの対話に基づいてデータをルーティングしてユーザを接続するコンピュータ実装方法。
【請求項２】
前記プロキシ装置は、前記ユーザ装置に表示された、前記検索結果ページの一部とする第１機械可読コードを走査することによって、前記第１機械可読コードを識別するための識別情報を取得する
ことを特徴とする請求項１に記載の方法。
【請求項３】
前記第１機械可読コードの識別情報は前記第１機械可読コード全体を含み、
前記方法はさらに、デコーダが前記第１機械可読コードを復号化して前記検索ＩＤと前記第１コンテンツＩＤを取得するステップを含む
ことを特徴とする請求項１に記載の方法。
【請求項４】
前記エンコーダが前記検索ＩＤと対応したコンテンツＩＤとを機械可読コードに符号化するステップにおいては、
前記検索ＩＤを前記第１機械可読コードに符号化するステップと、
前記第１コンテンツＩＤを前記第１機械可読コードに符号化するステップと、
前記サーバに関連付けられた宛先アドレスを前記第１機械可読コードに符号化するステップと、を含み、
ここで、前記第２要求は前記プロキシ装置が、前記第１機械可読コードを走査することに応答して、前記宛先アドレスに基づいて前記プロキシ装置から受信される
ことを特徴とする請求項１に記載の方法。
【請求項５】
前記第２要求に基づいてプロキシ対話イベント情報を記憶するプロキシ対話データベースを更新するステップにおいては、
前記第２要求に応答し、前記第１機械可読コードの走査に関連付けられた第１プロキシ対話イベントを示す第１プロキシ対話イベントＩＤを生成するステップと、
前記プロキシ対話データベースにおいて第１プロキシ対話イベントエントリーを作成するステップと、を含み、
ここで、前記第１プロキシ対話イベントエントリーは、前記第１プロキシ対話イベントＩＤによって識別され、前記検索ＩＤ、前記第１コンテンツＩＤおよび前記第１機械可読コードの走査に関連付けられた時間を示す第１タイムスタンプを含む
ことを特徴とする請求項１に記載の方法。
【請求項６】
前記サーバがユーザ対話データベースを保存して、ユーザ対話イベント情報を記憶するステップをさらに含み、
ここで、前記ユーザ対話データベースは、複数のユーザ対話ＩＤによってインデックスされる複数のユーザ対話イベントエントリーを含み、それぞれのユーザ対話イベントエントリーがユーザと特定コンテンツアイテムとの対話を示すユーザ対話イベントに対応した  ことを特徴とする請求項１に記載の方法。
【請求項７】
前記サーバが、前記ユーザが前記ユーザ装置から前記第１コンテンツアイテムにアクセスすることを指示する、前記第１コンテンツＩＤを含む信号を受信するステップと、
前記サーバが、前記信号に応答し、前記第１コンテンツアイテムのアクセスに関連付けられた第１ユーザ対話イベントを示す第１ユーザ対話イベントＩＤを生成するステップと、
前記サーバが、前記ユーザ対話データベースにおいて第１ユーザ対話イベントエントリーを作成するステップと、をさらに含み、
ここで、前記第１ユーザ対話イベントエントリーが前記第１ユーザ対話イベントＩＤによって識別され、前記検索ＩＤ、前記第１コンテンツＩＤおよび前記第１コンテンツアイテムのアクセスに関連付けられた時間を示す第２タイムスタンプを含む
ことを特徴とする請求項６に記載の方法。
【請求項８】
前記サーバが検索イベントデータベースを維持して検索イベント情報を記憶するステップをさらに含み、
ここで、前記検索イベントデータベースは複数の検索ＩＤによってインデックスされる複数の検索イベントエントリーを含み、それぞれの検索イベントエントリーが前記検索エンジンによって実行する検索イベントに対応した
ことを特徴とする請求項１に記載の方法。
【請求項９】
前記サーバが、前記第１要求に応答し、前記第１要求に基づいて、前記ユーザ装置の、前記ユーザ装置を識別する装置ＩＤを含むユーザ装置情報を取得するステップと、
前記サーバが、前記ユーザ装置情報に基づいて前記ユーザ装置のユーザを示すユーザＩＤを生成するステップと、
前記サーバが、前記検索ＩＤに基づいて前記検索イベントデータベースにおいて検索イベントエントリーを作成して前記ユーザＩＤ、各コンテンツアイテムのコンテンツＩＤおよび一つ又は複数のキーワードを示すキーワードＩＤを記憶するステップと、をさらに含む
ことを特徴とする請求項８に記載の方法。
【請求項１０】
前記検索イベントデータベースにおいて検索イベントエントリーを作成するステップにおいては、
前記コンテンツアイテムのそれぞれに対して、前記検索ＩＤに基づいて前記検索イベントデータベースにおいて検索イベントエントリーを作成するステップを含み、
ここで、前記検索イベントエントリーはさらに前記検索エンジンが前記第１要求に基づいて実行する検索の時間を示す第三タイムスタンプを記憶する
ことを特徴とする請求項９に記載の方法。
【請求項１１】
実行可能な命令が記憶された非一時的機械可読媒体であって、前記命令がプロセッサにより実行される場合に、ユーザとコンテンツとの対話に基づいてデータをルーティングしユーザを接続する操作を、前記プロセッサに実行させ、
前記操作は、
サーバが、ネットワークによってユーザ装置から受信した、一つ又は複数のキーワードを含むクエリの第１要求に応答し、前記サーバがホスティングする検索エンジンによって前記クエリに対応した検索トランザクションを識別するための検索識別子（ＩＤ）を生成するステップと、
前記検索エンジンが、前記一つ又は複数のキーワードに基づいてコンテンツデータベースで検索を実行して、一つ又は複数のコンテンツアイテムの集合を生成するステップと、
前記コンテンツアイテムの少なくとも一つに対して、
前記検索エンジンが、エンコーダによって所定の符号化アルゴリズムを利用して前記検索ＩＤと前記コンテンツアイテムを識別するためのコンテンツＩＤとを機械可読コードに符号化し、
前記検索エンジンが、前記検索ＩＤと、対応したコンテンツＩＤとが符号化された前記機械可読コードを対応したコンテンツアイテムに付加するステップと、
前記検索エンジンが、前記コンテンツアイテムを合併することによって検索結果ページを生成するステップと、
前記検索エンジンが、前記ネットワークによって前記ユーザ装置に前記検索結果ページを送信するステップであって、前記検索結果ページにおけるコンテンツアイテムの少なくとも一つにおいて対応した機械可読コードが付加されるステップと、
前記サーバが、前記ネットワークによってプロキシのプロキシ装置から第２要求を受信するステップであって、前記第２要求は、前記検索結果ページにおけるコンテンツアイテムのうちの第１コンテンツアイテムに関連付けられた第１機械可読コードを識別するための識別情報を含む、ステップと、
前記サーバが、前記第２要求に応答し、前記第２要求に基づいてプロキシ対話イベント情報を記憶するプロキシ対話データベースを更新するステップであって、前記プロキシ対話データベースは、複数のプロキシ対話ＩＤによってインデックスする複数のプロキシ対話イベントエントリーを含み、各プロキシ対話イベントエントリーは、プロキシと特定コンテンツアイテムとの対話を示すプロキシ対話イベントに対応する、ステップと、
前記サーバが、前記第２要求に応答し、対話記録モジュールによって前記識別情報から前記検索ＩＤと第１コンテンツＩＤを抽出するステップと、
前記対話記録モジュールが、前記検索ＩＤと前記第１コンテンツＩＤに基づき、前記第１要求を開始するユーザ装置のユーザを識別するためのユーザＩＤを確定するステップと、
ユーザプロファイルコンパイラが、前記ユーザＩＤに基づいてユーザ情報データベースから取得する情報に基づき、前記ユーザのユーザ情報をコンパイルするステップと、
前記サーバが、前記プロキシ装置に前記ユーザのユーザ情報を送信し、それにより前記プロキシ装置が前記ユーザ情報に基づいて前記ユーザと通信できるようにするステップと、を含む
ことを特徴とする実行可能な命令が記憶された非一時的機械可読媒体。
【請求項１２】
前記第１機械可読コードを識別するための識別情報は、前記プロキシ装置が前記ユーザ装置に表示された、前記検索結果ページの一部とする第１機械可読コードを走査することによって取得される
ことを特徴とする請求項１１に記載の非一時的機械可読媒体。
【請求項１３】
前記第１機械可読コードの識別情報は前記第１機械可読コード全体を含み、
前記操作はさらに、デコーダが前記第１機械可読コードを復号化して前記検索ＩＤと前記第１コンテンツＩＤを取得するステップを含む
ことを特徴とする請求項１１に記載の非一時的機械可読媒体。
【請求項１４】
前記エンコーダが前記検索ＩＤと対応したコンテンツＩＤとを機械可読コードに符号化するステップにおいては、
前記検索ＩＤを前記第１機械可読コードに符号化するステップと、
前記第１コンテンツＩＤを前記第１機械可読コードに符号化するステップと、
前記サーバに関連付けられた宛先アドレスを前記第１機械可読コードに符号化するステップと、を含み、
ここで、前記第２要求は前記プロキシ装置が、前記第１機械可読コードを走査することに応答して、前記宛先アドレスに基づいて前記プロキシ装置から受信される
ことを特徴とする請求項１１に記載の非一時的機械可読媒体。
【請求項１５】
プロセッサと、
前記プロセッサに接続されるメモリと、
前記メモリにローディングされ且つ前記プロセッサによって実行され、それによりユーザとコンテンツとの対話に基づいてデータをルーティングしユーザを接続する操作を実行する検索エンジンと、を備え、
前記操作は、
サーバが、ネットワークによってユーザ装置から受信した、一つ又は複数のキーワードを含むクエリの第１要求に応答し、前記サーバがホスティングする検索エンジンによって前記クエリに対応した検索トランザクションを識別するための検索識別子（ＩＤ）を生成するステップと、
前記検索エンジンが、前記一つ又は複数のキーワードに基づいてコンテンツデータベースで検索を実行して、一つ又は複数のコンテンツアイテムの集合を生成するステップと、
前記コンテンツアイテムの少なくとも一つに対して、
前記検索エンジンが、エンコーダによって所定の符号化アルゴリズムを利用して前記検索ＩＤと前記コンテンツアイテムを識別するためのコンテンツＩＤとを機械可読コードに符号化し、
前記検索エンジンが、前記検索ＩＤと、対応したコンテンツＩＤとが符号化された前記機械可読コードを対応したコンテンツアイテムに付加するステップと、
前記検索エンジンが、前記コンテンツアイテムを合併することによって検索結果ページを生成するステップと、
前記検索エンジンが、前記ネットワークによって前記ユーザ装置に前記検索結果ページを送信するステップであって、前記検索結果ページにおけるコンテンツアイテムの少なくとも一つにおいて対応した機械可読コードが付加されるステップと、を含むサーバとして動作するデータ処理システムであって、
前記データ処理システムは、
対話記録モジュールをさらに備え、
前記対話記録モジュールは、
前記ネットワークによってプロキシのプロキシ装置から第２要求を受信し、ここで、前記第２要求は、前記検索結果ページにおけるコンテンツアイテムのうちの第１コンテンツアイテムに関連付けられた第１機械可読コードを識別するための識別情報を含み、
前記第２要求に応答し、前記第２要求に基づいてプロキシ対話イベント情報を記憶するプロキシ対話データベースを更新し、前記プロキシ対話データベースは、複数のプロキシ対話ＩＤによってインデックスする複数のプロキシ対話イベントエントリーを含み、各プロキシ対話イベントエントリーは、プロキシと特定コンテンツアイテムとの対話を示すプロキシ対話イベントに対応し、
前記対話記録モジュールは前記第２要求に応答して前記識別情報から前記検索ＩＤと第１コンテンツＩＤとを抽出し、且つ前記検索ＩＤと前記第１コンテンツＩＤに基づいて前記第１要求を開始する前記ユーザ装置のユーザを識別するユーザＩＤを確定することに用いられ、
前記データ処理システムは、さらにユーザプロファイルコンパイラを含み、
前記ユーザプロファイルコンパイラは、前記ユーザＩＤがユーザ情報データベースから取得する情報に基づき、前記ユーザのユーザ情報をコンパイルし、
前記サーバから前記プロキシ装置に前記ユーザのユーザ情報を送信し、それにより前記プロキシ装置が前記ユーザ情報に基づいて前記ユーザと通信できるようにすることに用いられる
ことを特徴とするデータ処理システム。
【請求項１６】
前記第１機械可読コードを識別するための識別情報は、前記プロキシ装置が前記ユーザ装置に表示された、前記検索結果ページの一部とする第１機械可読コードを走査することによって取得される
ことを特徴とする請求項１５に記載のデータ処理システム。
【請求項１７】
前記第１機械可読コードの識別情報は前記第１機械可読コード全体を含み、
前記操作はさらに、デコーダが前記第１機械可読コードを復号化して前記検索ＩＤと前記第１コンテンツＩＤを取得するステップを含む
ことを特徴とする請求項１５に記載のデータ処理システム。
【請求項１８】
前記エンコーダが前記検索ＩＤと対応したコンテンツＩＤとを機械可読コードに符号化するステップにおいては、
前記検索ＩＤを前記第１機械可読コードに符号化するステップと、
前記第１コンテンツＩＤを前記第１機械可読コードに符号化するステップと、
前記サーバに関連付けられた宛先アドレスを前記第１機械可読コードに符号化するステップと、を含み、
ここで、前記第２要求は前記プロキシ装置が、前記第１機械可読コードを走査することに応答して、前記宛先アドレスに基づいて前記プロキシ装置から受信される
請求項１５に記載のデータ処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は概して複数のユーザ間でデータをルーティングすることに関する。さらに具体的には、本発明の実施形態はユーザとコンテンツデータの機械可読コードとの対話に基づいてデータをルーティングしてユーザを接続することに関する。
【背景技術】
【０００２】
ほとんどの検索エンジンはその操作期間に一般的にクライアント装置で実行されるブラウザによってウェブ（Ｗｅｂ）検索を実行する。検索エンジンはユーザにより入力された検索ワードを受信して、且つ検索ワードに関連するウェブページ検索結果リストを検索する。検索エンジンはある標準に基づいて検索結果を検索リストの一連のサブセットとして表示する。検索操作中に使用される一般的な標準は、検索ワードは完全に又は一部に所定のウェブページに出現するか、検索文字列が検索結果に現した回数、アルファベット順などである。なお、ユーザはマウスボタンをクリックすることでリンクの開きを決めて、これによりウェブページを開いてブラウズする。検索エンジンはユーザと検索結果のあるインタラクティブおよび／又はユーザ情報を監視および収集することによって、それからより良い検索を提供する。
【０００３】
ある場合に、第１ユーザの送信する検索要求の応答として、検索結果を第２ユーザに転送したり、第２ユーザと共有したりすることができる。第２ユーザは検索結果のコンテンツと対話できる。第２ユーザからユーザ対話を追跡して第１ユーザと第２ユーザを接続する効果的な追跡メカニズム又は監視メカニズムが欠如している。
【発明の概要】
【課題を解決するための手段】
【０００４】
一つの様態において、ユーザとコンテンツの対話に基づいてデータをルーティングしてユーザを接続するコンピュータ実装方法を提供し、この方法は、ワークによってユーザ装置から受信した、一つ又は複数のキーワードを含むクエリの第１要求に応答し、前記サーバがホスティングする検索エンジンによって前記クエリに対応した検索トランザクションを識別するための検索識別子（ＩＤ）を生成するステップと、前記検索エンジンによって前記一つ又は複数のキーワードに基づいてコンテンツデータベースで検索を実行して、一つ又は複数のコンテンツアイテムの集合を生成するステップと、前記コンテンツアイテムの少なくとも一つに対して、エンコーダによって所定の符号化アルゴリズムを利用して前記検索ＩＤと前記コンテンツアイテムを識別するためのコンテンツＩＤとを機械可読コードに符号化し、前記検索ＩＤと、対応したコンテンツＩＤとが符号化された前記機械可読コードを対応したコンテンツアイテムに付加するステップと、前記コンテンツアイテムを合併することによって検索結果ページを生成するステップと、前記ネットワークによって前記ユーザ装置に前記検索結果ページを送信するステップと、を含み、ここで、前記検索結果ページにおけるコンテンツアイテムの少なくとも一つにおいて対応した機械可読コードが付加される。
【０００５】
もう一つの様態において、実行可能な命令が記憶された非一時的機械可読媒体を提供し、前記命令がプロセッサにより実行される場合に、ユーザとコンテンツとの対話に基づいてデータをルーティングしユーザを接続する操作を、前記プロセッサに実行させ、前記操作は、サーバでネットワークによってユーザ装置から受信した、一つ又は複数のキーワードを含むクエリの第１要求に応答し、前記サーバがホスティングする検索エンジンによって前記クエリに対応した検索トランザクションを識別するための検索識別子（ＩＤ）を生成するステップと、前記検索エンジンによって前記一つ又は複数のキーワードに基づいてコンテンツデータベースで検索を実行して、一つ又は複数のコンテンツアイテムの集合を生成するステップと、前記コンテンツアイテムの少なくとも一つに対して、エンコーダによって所定の符号化アルゴリズムを利用して前記検索ＩＤと前記コンテンツアイテムを識別するためのコンテンツＩＤとを機械可読コードに符号化し、前記検索ＩＤと、対応したコンテンツＩＤとが符号化された前記機械可読コードを対応したコンテンツアイテムに付加するステップと、前記コンテンツアイテムを合併することによって検索結果ページを生成するステップと、前記ネットワークによって前記ユーザ装置に前記検索結果ページを送信するステップと、を含み、ここで、前記検索結果ページにおけるコンテンツアイテムの少なくとも一つにおいて対応した機械可読コードが付加される。
【０００６】
さらに、もう一つの様態において、サーバとして操作するデータ処理システムを提供し、このシステムは、プロセッサと、前記プロセッサに接続されるメモリと、前記メモリにローディングされ且つ前記プロセッサによって実行され、それによりユーザとコンテンツとの対話に基づいてデータをルーティングしユーザを接続する操作を実行する検索エンジンと、を備え、前記操作は、サーバでネットワークによってユーザ装置から受信した、一つ又は複数のキーワードを含むクエリの第１要求に応答し、前記サーバがホスティングする検索エンジンによって前記クエリに対応した検索トランザクションを識別するための検索識別子（ＩＤ）を生成するステップと、前記検索エンジンによって前記一つ又は複数のキーワードに基づいてコンテンツデータベースで検索を実行して、一つ又は複数のコンテンツアイテムの集合を生成するステップと、前記コンテンツアイテムの少なくとも一つに対して、エンコーダによって所定の符号化アルゴリズムを利用して前記検索ＩＤと前記コンテンツアイテムを識別するためのコンテンツＩＤとを機械可読コードに符号化し、前記検索ＩＤと、対応したコンテンツＩＤとが符号化された前記機械可読コードを対応したコンテンツアイテムに付加するステップと、前記コンテンツアイテムを合併することによって検索結果ページを生成するステップと、前記ネットワークによって前記ユーザ装置に前記検索結果ページを送信するステップと、を含み、ここで、前記検索結果ページにおけるコンテンツアイテムの少なくとも一つにおいて対応した機械可読コードが付加される。
【図面の簡単な説明】
【０００７】
本発明の実施形態は、図面の各図に例として非限定的に示され、図面における同一符号は、類似の構成要素を示す。
【０００８】
【図１】本発明の一実施形態に係るネットワーク化システムを示すブロック図である。
【図２】本発明の一実施形態に係るユーザ装置とサーバとの間のトランザクションを示すトランザクション処理図である。
【図３】本発明の一実施形態に係るサーバを示すブロック図である。
【図４Ａ】本発明のある実施形態に係る異なる構成要素間のある対話を示すブロック図である。
【図４Ｂ】本発明のある実施形態に係る異なる構成要素間のある対話を示すブロック図である。
【図５Ａ】本発明のいくつかの実施形態に係る検索結果ページの例を示すブロック図である。
【図５Ｂ】本発明のいくつかの実施形態に係る検索結果ページの例を示すブロック図である。
【図６】本発明の一実施形態に係る機械可読コードの例を示すブロック図である。
【図７Ａ】本発明のいくつかの実施形態に係る各種のデータ構造を示すブロック図である。
【図７Ｂ】本発明のいくつかの実施形態に係る各種のデータ構造を示すブロック図である。
【図７Ｃ】本発明のいくつかの実施形態に係る各種のデータ構造を示すブロック図である。
【図７Ｄ】本発明のいくつかの実施形態に係る各種のデータ構造を示すブロック図である。
【図８Ａ】本発明のいくつかの実施形態に係る検索を実行して検索結果を生成するプロセスを示すフローチャートである。
【図８Ｂ】本発明のいくつかの実施形態に係る検索を実行して検索結果を生成するプロセスを示すフローチャートである。
【図９】本発明の一実施形態に係るプロキシとコンテンツとの対話を追跡するプロセスを示すフローチャートである。
【図１０】本発明の一実施形態に係るユーザと検索結果との対話を追跡するプロセスを示すフローチャート図である。
【図１１】一実施形態に係るデータ処理システムを示すブロック図である。
【発明を実施するための形態】
【０００９】
以下、説明の詳細を参照しながら、本発明の様々な実施形態および態様を説明し、図面は、様々な実施形態を示す。以下の説明および図面は、本発明を説明するためのものであり、本発明を限定するものではない。本発明の様々な実施形態を完全に把握するために、多数の特定の詳細を説明する。なお、いくつかの例では、本発明の実施形態に対する簡単な説明を提供するために、周知または従来技術の詳細について説明していない。
【００１０】
本明細書では「１つの実施形態」または「実施形態」とは、当該実施形態について組み合わせて説明した特定特徴、構造または特性が、本発明の少なくとも１つの実施形態に含まれる。語句「１つの実施形態では」は、本明細書全体において同一実施形態を指すとは限らない。
【００１１】
いくつかの実施形態によれば、サーバで第１ユーザの第１ユーザ装置から受信した検索クエリに応答し、サーバに関連付けられた検索エンジンはコンテンツデータベースで検索してコンテンツアイテムリストを生成する。コンテンツアイテムの少なくとも一部に対して、機械可読コード（ＭＲＣ）を生成して特定検索情報、ユーザ情報および／又は前記コンテンツアイテムにおける対応したコンテンツアイテムのコンテンツ情報を符号化する。次に、機械可読コードを対応したコンテンツアイテムに付加したり関連付けたりする。次に、検索結果をサーバから第１ユーザ装置に送信する。第１ユーザはコンテンツアイテムにアクセスする又はそれと対話する際に、対応した機械可読コードおよびコンテンツアイテムの詳細な情報を表示することができる。
【００１２】
サーバ１０４は任意のタイプのサーバ又はサーバクラスター、例えばネットワーク又はクラウドサーバ、アプリケーションサーバ、バックエンドサーバ又はそれらの組合せであってもよい。一実施形態において、サーバ１０４は検索エンジン１２０、エンコーダ／デコーダ１２１、対話記録モジュール１２２および選択可能なユーザプロファイルコンパイラ１２３を含むが、それらに限定されない。サーバ１０４はクライアント装置１０１〜１０２のようなクライアントがサーバ１０４に提供されるリソース又はサービスにアクセスすることを可能にするインターフェース（図示せず）をさらに含む。インターフェースはネットワークインターフェース、アプリケーション・プログラミング・インターフェース（ＡＰＩ）および／又はコマンドラインインターフェース（ＣＬＩ）を含んでもよい。
【００１３】
機械可読コードから取得する情報に基づき、サーバは第１ユーザに関連付けられた検索イベントによって第１ユーザをさらに関連付け、識別する。検索を実行する際に、検索行動情報を検索イベントデータベース（検索イベントデータベースとも称される）に記録してもよい。或いは、サーバはユーザ情報データベースおよび／又は検索イベントデータベースから第１ユーザのユーザ情報を検出してもよい。サーバは第１ユーザのユーザ情報の少なくとも一部を第２ユーザの第２ユーザ装置に送信することにより、第２ユーザが第１ユーザと接続して通信できるようにさせる。また、ユーザと第１ユーザおよび／又は第２ユーザからの対応したコンテンツアイテムおよび／又は機械可読コードとの対話をキャプチャしてサーバに関連付けられた対話データベースに記憶してもよく、例えば、後続解析に用いられる。
【００１４】
図１は本発明の一実施形態に係るネットワーク化システムを示すブロック図である。図１を参照し、システム１００はネットワーク１０３によってサーバ１０４に通信接続される一つ又は複数のクライアント装置１０１〜１０２を含むが、それらに限定されない。クライアント装置１０１〜１０２（ユーザ装置とも称される）は任意のタイプのクライアント装置、例えば、パーソナルコンピュータ（例えば、デスクトップコンピュータ、ラップトップコンピュータやタブレットコンピュータ）、「薄型」クライアント、パーソナルデジタルアシスタント（ＰＤＡ）、ウェブページをサポートする装置、スマート腕時計や携帯電話（例えば、スマートフォン）等であってもよい。ネットワーク１０３は任意のタイプの有線や無線ネットワーク、例えばローカルエリアネットワーク（ＬＡＮ）、ワイドエリアネットワーク（ＷＡＮ）（例えば、インターネット）又はそれらの組合せであってもよい。
【００１５】
サーバ１０４は任意のタイプのサーバ又はサーバクラスター、例えばネットワーク又はクラウドサーバ、アプリケーションサーバ、バックエンドサーバ又はそれらの組合せであってもよい。一実施形態において、サーバ１０４は検索エンジン１２０、エンコーダ／デコータ１２１、対話記録モジュール１２２および選択可能なユーザプロファイルコンパイラ１２３を含むが、それらに限定されない。サーバ１０４はクライアント装置１０１〜１０２のようなクライアントがサーバ１０４に提供されるリソース又はサービスにアクセスすることを可能にするインターフェース（図示せず）をさらに含む。インターフェースはネットワークインターフェース、アプリケーション・プログラミング・インターフェース（ＡＰＩ）および／又はコマンドラインインターフェース（ＣＬＩ）を含んでもよい。
【００１６】
例えば、クライアント（当該例では、ユーザ装置１０１のユーザアプリケーション１１１である）はサーバ１０４に検索クエリを送信し、検索エンジン１２０がネットワーク１０３によってインターフェースを介して当該検索クエリを受信することができる。検索クエリに応答し、検索エンジン１２０は検索クエリから一つ又は複数のキーワードを抽出する。検索エンジンはコンテンツデータベース１３３で検索を実行してキーワードに関連するコンテンツアイテムリストを識別し、コンテンツデータベース１３３は主要コンテンツデータベース１３０および／又は補助コンテンツデータベース１３１を含んでもよい。検索エンジン１２０はリストの少なくとも一部のコンテンツアイテムを有する検索結果ページをユーザ装置１０１に返送し、それによりユーザアプリケーション１１１に表示する。ユーザアプリケーション１１１はブラウザアプリケーションであってもよく、ユーザ装置がモバイル装置である場合に、モバイルアプリケーションであってもよい。検索エンジン１２０は百度会社（Ｂａｉｄｕ  Ｉｎｃ）から取得されるＢａｉｄｕ（登録商標）検索エンジンであってもよく、Ｇｏｏｇｌｅ（登録商標）検索エンジン、Ｍｉｃｒｏｓｏｆｔ  ＢｉｎｇTM検索エンジン、Ｙａｈｏｏ（登録商標）検索エンジン又はほかの検索エンジンであってもよい。
【００１７】
検索エンジン、例えばウェブページ検索エンジンは、ワールドワイドウェブ上で情報を検索するソフトウェアシステムとして設計される。検索結果は、通常、一連の結果に表示され、この一連の結果は、通常、検索エンジン結果ページと呼ばれる。情報は、ウェブページ、画像、およびほかのタイプのファイルの組合せであってもよい。いくつかの検索エンジンは、さらにデータベースまたはオープンディレクトリ中の利用可能なデータをマイニングする。ヒューマンエディタのみにより維持されるウェブディレクトリと異なり、検索エンジンは、さらにウェブクローラ（ｗｅｂ  ｃｒａｗｌｅｒ）においてアルゴリズムを実行することにより、リアルタイム情報を維持する。
【００１８】
ウェブページ検索エンジンは、ページのハイパーテキストマークアップ言語（ＨＴＭＬ）マークアップから検索される多数のウェブページに関連する情報を記憶することにより動作される。これらのページは、ウェブサイト上の各リンクに従う自動ウェブクローラであるウェブクローラにより検索される。次に、検索エンジンは、各ページのコンテンツを解析して如何にインデックスされるかを決定する（例えば、タイトル、ページコンテンツ、ヘッダーまたはメタタグと呼ばれる特殊フィールドによりワードを抽出する）。ウェブページに関連するデータをインデックスデータベースに記憶し、後続のクエリに使用する。インデックスは、クエリに関連する情報をできるだけ速めに見つけることに役立つ。
【００１９】
ユーザが検索エンジンに（一般的に、キーワードを使用することにより）クエリを入力する場合に、前記エンジンは、クエリのインデックスを検査し、通常ドキュメントタイトルを含み且つ必要に応じて一部のテキストを含む短い概要を有する基準に従ってベストマッチングのウェブページのリストを提供する。インデックスは、データとともに記憶された情報、および情報のインデックス方法からなる。検索エンジンは、入力時に完全に一致する語（ワード）または語句（フレーズ）をサーチする。いくつかの検索エンジンは、近接検索と呼ばれる高度な特徴を提供し、ユーザがキーワード間の距離を定義することを可能にする。概念に基づく検索もあり、その中でも前記検索は検索された語または語句を含むページ上で統計解析を使用する。また、自然言語クエリは、ユーザが人間に質問するような形と同様に問題を入力することを可能にする。
【００２０】
検索エンジンの有用性は、返送された結果セットの関連性により決められる。特定の語または語句を含むウェブページが数百万も存在する可能性があるが、その一部のページは、他のページに比べるとさらに関連性が高く、人気があり、または信頼性が高い可能性がある。ほとんどの検索エンジンは、複数種の方法を用いて結果をランキングすることにより、「ベスト」結果を優先的に提供する。検索エンジンが如何にどのページをベストマッチングのページに決定するか、およびどんな順序で結果を表示するかについて、エンジンにより大きく異なている。
【００２１】
図１を参照し、一実施形態によれば、サーバ１０４で第１ユーザの第１ユーザ装置１０１から受信した検索クエリに応答し、検索エンジン１２０はコンテンツデータベース１３３で検索を実行してコンテンツアイテムリストを生成し、前記コンテンツデータベース１３３は例えば主要コンテンツデータベース１３０および／又は補助コンテンツデータベース１３１（二次コンテンツデータベースとも称される）である。コンテンツアイテムのそれぞれはユニフォームリソースリンク（ＵＲＬ）および／又はユニフォームリソース識別子（ＵＲＩ）によって特定コンテンツプロバイダーの特定ウェブサイトの特定ウェブページに関連付けられる。一実施形態において、主要コンテンツデータベース１３０はネットワーククローラが収集する一般的なコンテンツアイテム（例えば、スポンサー無しコンテンツ）を記憶する。補助コンテンツデータベース１３１において、特定、既知又は所定のコンテンツプロバイダーに関連付けられた特定又は特殊のコンテンツアイテム（例えば、スポンサー付きコンテンツ）が記憶される。或いは、主要コンテンツデータベース１３０と補助コンテンツデータベース１３１を区別せずに、コンテンツデータベース１３３を単一データベースとしてもよい。
【００２２】
ネットワーククローラ又はウェブクローラはネットワークのハイパーテキスト構造を自動的にトラバースするプログラムである。実際に、ネットワーククローラは、ＵＲＬからドキュメントをダウンロードする１つ又は複数のプロセス又はスレッドを実行するように構成される個別のコンピュータ又はサーバで実行できる。ネットワーククローラは割り当てられたＵＲＬを受信し、それらのＵＲＬでドキュメントをダウンロードする。ネットワーククローラはさらに検索されたドキュメントに引用されるドキュメントを検索して、コンテンツ処理システム（図示せず）および／又は検索エンジン１２０に処理させるようにしてもよい。ネットワーククローラは例えばハイパーテキスト転送プロトコル（ＨＴＴＰ）やファイル転送プロトコル（ＦＴＰ）のような様々なプロトコルを使用して、ＵＲＬに関連付けられたページをダウンロードすることができる。
【００２３】
一実施形態によれば、コンテンツアイテムの少なくとも一部に対し、エンコーダ１２１によって機械可読コードを生成して、検索した特定検索情報、第１ユーザ装置１０１に関連付けられた第１ユーザのユーザ情報および／又は前記コンテンツアイテムにおける対応したコンテンツアイテムのコンテンツ情報を符号化する。機械可読コードはクイック読み取り（ＱＲ）コード又はバーコードであってもよい。次に、機械可読コードを対応したコンテンツアイテムに付加したりそれに関連付けたりする。次に検索結果をサーバ１０４から第１ユーザ装置１０１に送信する。第１ユーザはコンテンツアイテムにアクセスする又はそれと対話する際に、対応した機械可読コードおよびコンテンツアイテムの詳細な情報を表示することができる。
【００２４】
次に、検索結果におけるコンテンツアイテムリスト中のコンテンツアイテムが第１ユーザ装置１０１から第２ユーザの第２ユーザ装置１０２（当該例では、ユーザ装置１０２のユーザアプリケーション１１２である）に送信される場合に、第２ユーザの第２ユーザ装置１０２はコンテンツアイテムの対応した機械可読コードを表示し、走査して、選択的に復号化する。機械可読コードを走査することの応答として、第２ユーザ装置１０２からサーバ１０４に信号又は要求を送信する。なお、サーバ１０４の検索エンジン１２０は最初に第１ユーザ装置１０１からの検索クエリに応答して検索を実行し且つ機械可読コードを生成する。信号又は要求は機械可読コードから取得する特定情報（例えば、検索を開始するユーザのユーザ情報、検索情報および／又はユーザ装置情報など）又はちょうど機械可読コードの全内容を含んでもよい。
【００２５】
機械可読コードから取得する情報に基づき、サーバ１０４は対話データベース１３５からの、第１ユーザに関連付けられた検索イベントに基づいてさらに第１ユーザと関連付けて識別する。検索を実行する際に、対話記録モジュール１２２は検索イベント情報をキャプチャして対話データベース１３５に記録することができる。サーバ１０４はユーザ情報データベース１４０および／又は対話データベース１３５から第１ユーザのユーザ情報を検索する。サーバ１０４は第１ユーザのユーザ情報中の、プロファイルコンパイラ１２３によってユーザプロファイルにコンパイルできる少なくとも一部の情報を第２ユーザの第２ユーザ装置１０２に送信するようにしてもよい。従って、第２ユーザは第１ユーザのユーザ情報に基づいてさらにフレンドリーかつ効果的な方式で第１ユーザと接続して通信できる。また、対話記録モジュール１２２はユーザと第１ユーザおよび／又は第２ユーザからの対応したコンテンツアイテムおよび／又は機械可読コードとの対話をキャプチャしてサーバ１０４に関連付けられた対話データベース１３５に記録し、例えばより優れた検索結果を提供するための後続の解析に用いる。
【００２６】
図２は本発明の一実施形態に係るユーザ装置とサーバとの間のトランザクションを示すトランザクション処理図である。図２を参照し、最初、ユーザ装置１０１は経路２０１によってサーバ１０４に一つ又は複数のキーワードを有する検索クエリを送信する。ユーザ装置１０１のユーザはユーザアプリケーション（例えば、ブラウザ、モバイルアプリケーション）によってサーバ１０４の検索インターフェースにアクセスして一つ又は複数のキーワードを入力することができる。前記検索クエリに応答し、ブロック２０２では、サーバ１０４はキーワードに基づいてコンテンツデータベースで検索してコンテンツアイテムリストを生成する。それらのコンテンツアイテムの一部に対して、サーバ１０４は特定検索情報、ユーザ情報および／又は対応したコンテンツアイテムのコンテンツ情報を符号化することによって機械可読コードを生成する。次に、機械可読コードを関連付けられたコンテンツアイテムに付加して検索結果ページを生成する。次に経路２０３によって検索結果ページをサーバ１０４からユーザ装置１０１へ返送する。
【００２７】
ユーザ装置１０１のユーザはコンテンツアイテムにアクセスする際に、経路２０４によってユーザ対話イベントを示す信号をサーバ１０４に送信する。例えば、ユーザ装置１０１に検索結果ページを表示し且つユーザがコンテンツアイテムのうちの一つをクリックする際に、コンテンツアイテムの詳細な情報および対応した機械可読コードを表示する。それと同時に、経路２０４によってユーザ装置１０１からサーバ１０４へ信号又はメッセージを送信する。信号又はメッセージはユーザ、コンテンツアイテムおよび関連検索に関連する情報を含んでもよい。ブロック２０５では、サーバ１０４の対話記録モジュール１２２はユーザ対話情報をキャプチャし且つ対話データベース１３５に記憶する。
【００２８】
次に、経路２０６によって特定コンテンツアイテムの機械可読コードをユーザ装置１０１からユーザ装置１０２に送信する。例えば、機械可読コードは電子メールを送信し、テキストを送信し又はユーザ装置１０１からユーザ装置１０２に物理的に表示することによって共有可能である。ブロック２０７では、ユーザ装置１０２はユーザ装置１０１のディスプレイ、もう一つの装置又はいくつかの他の媒体（例えば、プリント媒体）に表示される機械可読コードを走査することによって機械可読コードを取得することができる。ユーザ装置１０２は機械可読コードから走査した情報を復号化し且つ経路２０８によってそれをサーバ１０４に送信することができる。或いは、ユーザ装置１０２は走査した機械可読コードの全内容を簡単にサーバ１０４に送信することができる。走査した情報又は機械可読コードに基づいて、ブロック２０９では、サーバ１０４はコンテンツアイテムおよび関連する機械可読コードに対するユーザ装置１０２のユーザ対話に関連する適切な対話データベースを更新する。また、サーバ１０４はユーザ装置１０２から受信する情報に基づいてユーザ装置１０１に関連付けられた第１ユーザのユーザ情報をコンパイルする。それから、サーバ１０４は経路２１０によってユーザ装置１０１の第１ユーザのユーザ情報をユーザ装置１０２に送信してもよく、それによりユーザ装置１０２の第２ユーザはユーザ装置１０１の第１ユーザと接続して通信できる。
【００２９】
一実施形態によれば、ユーザ装置１０１は端末ユーザに関連付けられてもよく、ユーザ装置１０１はモバイル装置（例えば、タブレットコンピュータ）、スマートフォン、スマート腕時計又はネットワークによって他の装置と通信できる装置であってもよい。ユーザ装置１０２は特定エンティティ又は組織に関連付けられたプロキシ、個人又はパートナーのプロキシ装置であってもよく、プロキシ装置１０２はモバイル装置（例えば、タブレットコンピュータ）、スマートフォン、スマート腕時計又はネットワークによって他の装置と通信できる装置であってもよい。例えば、プロキシは特定コンテンツアイテムのコンテンツプロバイダーに関連付けられてもよく、当該例では、特定の補助コンテンツアイテム（例えば、スポンサー付きコンテンツアイテム）を提供する補助コンテンツプロバイダーである。説明するために、本願にわたって、ユーザ装置、プロキシ装置およびサーバの間の通信を説明することによって、ユーザおよびプロキシとコンテンツアイテムとの対話を追跡する技術、ユーザ装置、プロキシ装置およびサーバの間でデータをルーティングする技術、およびユーザ装置のユーザとプロキシ装置のプロキシを接続する技術を説明する。しかしながら、本願にわたって説明する技術はさらに他の場面にも応用できると理解できる。
【００３０】
図３は本発明の一実施形態に係るサーバを示すブロック図である。システム３００は図１のサーバ１０４のアーキテクチャを示すことができる。説明するために、上記説明した同一又は類似機能を有する構成要素は同一符号を有する。図３を参照し、システム３００は前記検索エンジン１２０、エンコーダ１２１、対話記録モジュール１２２およびユーザプロファイルコンパイラ１２３を含む。検索エンジン１２０、エンコーダ１２１、対話記録モジュール１２２およびユーザプロファイルコンパイラ１２３はメモリ３０２にローディングされ且つ一つ又は複数のプロセッサ３０１によって実行される。これらの構成要素１２０〜１２３は不揮発性記憶装置３０３からインストール又はローディングされてもよい。プロセッサ３０１は任意の種類のプロセッサ、例えば汎用プロセッサ（例えば、中央処理ユニット又はＣＰＵ）又は専用プロセッサであってもよい。メモリ３０２は任意の種類の揮発性メモリ、例えばランダムアクセスメモリ（ＲＡＭ）であってもよい。
【００３１】
不揮発性記憶装置３０３は任意の種類の非揮発性記憶装置、例えばハードディスク又はフラッシュメモリ記憶装置であってもよい。なお、不揮発性記憶装置３０３はローカル記憶装置、記憶ネットワークによって実現されるメモリデバイス装置、又は広域ネットワークによって実現される遠隔記憶サーバ（例えば、クラウドストレージ装置）であってもよい。不揮発性記憶装置３０３はコンテンツデータベース１３３、対話データベース１３５およびユーザ情報データベース１４０を維持し、コンテンツデータベース１３３は主要コンテンツデータベース１３０および／又は補助コンテンツデータベース１３１を含んでもよい。上記のように、主要コンテンツデータベース１３０はネットワーククローラによって発見されて収集され且つコンテンツ処理システムによって処理された主要コンテンツアイテムを記憶する。補助コンテンツデータベース１３１は一組の特定、既知又は所定のコンテンツプロバイダーが提供する補助コンテンツアイテム、例えばスポンサー付きコンテンツアイテム又は広告（Ａｄ）を記憶する。対話データベース１３５は検索結果、検索結果にリストされるコンテンツアイテムおよび／又は補助コンテンツアイテムに組み込まれた機械可読コードについてのいかなるユーザ対話又はプロキシ対話を記憶することに用いられる。ユーザ情報データベース１４０はこの前にシステム３００が提供するリソース又はサービスにアクセスした又はアクセスしていなかった複数ユーザのいかなるユーザ情報を記憶する。
【００３２】
また、一実施形態によれば、システム３００はメモリ３０２にローディングされ且つプロセッサ３０１によって実行されるユーザ装置インターフェース（ＩＦ）モジュール３１１、プロキシ装置ＩＦモジュール３１２および選択可能な認証モジュール３１３を含む。ユーザ装置ＩＦモジュール３１１はユーザ装置と通信し、プロキシ装置ＩＦモジュール３１２はプロキシ装置と通信する。認証モジュール３１３はプロキシ装置の特定プロキシを認証してプロキシが論議されている補助コンテンツアイテムのコンテンツプロバイダーのメンバーであるかどうかを検証し、それにより当該プロキシ装置にユーザのユーザ情報を送信するように配置される。一実施形態において、特定コンテンツアイテムを提供するコンテンツプロバイダーと関連付けられた、認証されたおよび／又は認可されたプロキシのみが当該特定コンテンツアイテムにアクセスする特定ユーザのユーザ情報を受信することを許可する。認証モジュール３１３は遠隔認証、認可および課金（ＡＡＡ）装置又はサーバを呼び出してプロキシを認証および／又は認可することができる。
【００３３】
一実施形態において、ユーザ装置から受信した検索クエリに応答し、検索エンジン１２０は検索クエリに指定した一つ又は複数のキーワードに基づいてコンテンツデータベース１３３で検索を実行し、前記コンテンツデータベース１３３は主要コンテンツデータベース１３０および／又は補助コンテンツデータベース１３１を含んでもよい。それにより、コンテンツアイテムリストを生成する。コンテンツアイテムの少なくとも一部に対して、エンコーダ１２１は特定検索情報、関連付けられたコンテンツアイテムのコンテンツ情報および／又はユーザの選択可能なユーザ情報を機械可読コードに符号化する。次に、機械可読コードを対応したコンテンツアイテムに付加する。検索エンジン１２０はそれからユーザ装置に機械可読コードが組み込まれた検索結果ページを送信する。
【００３４】
次に、一実施形態によれば、ユーザ装置のユーザが検索結果ページのコンテンツアイテムにアクセスする（例えば、ユーザ装置に表示するコンテンツアイテムをクリックする）際に、ユーザ装置からサーバ３００に第１信号又はメッセージを送信し、ここで、メッセージはユーザ装置ＩＦモジュール３１１によって受信される。次に第１メッセージの情報を対話記録モジュール１２２に送信し、対話記録３２０のユーザ対話記録３２１に記録する。同様に、プロキシ装置のプロキシはユーザ装置のユーザの共有するコンテンツアイテムにアクセスする（例えば補助コンテンツアイテムの機械可読コードを走査する）際に、プロキシ装置からサーバ３００に第２信号又はメッセージを送信し、ここで、前記第２信号又はメッセージはプロキシ装置ＩＦモジュール３１２によって受信される。次に対話記録モジュール１２２は第２メッセージの情報を対話記録３２０のプロキシ対話記録３２２に記録する。第２メッセージに応答し、ユーザプロファイルコンパイラは対話データベース１３５とユーザ情報データベース１４０に記憶される情報に基づいてユーザのユーザ情報をコンパイルする。或いは、プロキシ装置ＩＦモジュール３１２はそれから当該ユーザ情報をプロキシ装置に送信する。一実施形態において、ユーザ装置から受信する検索要求に応答し、検索イベント記録３２３を使用して検索エンジン１２０によって実行される検索イベントを記録する。対話記録３２０に記憶される情報は対話データベース１３５に記録されてもよい。
【００３５】
図４Ａと図４Ｂは本発明の特定実施形態に係る異なる構成要素の間の特定対話を示すブロック図である。図４Ａを参照し、一実施形態によれば、サーバ３００でネットワークインターフェース装置３０５を介してネットワークによってユーザのユーザ装置から受信した検索クエリ４０１に応答し、検索識別子（ＩＤ）を生成して当該特定検索行動又はイベントの追跡に用いられる。また、対話データベース１３５の一部である検索イベントデータベース４１１で検索イベントエントリーを作成し、新規作成した検索イベントエントリーは新規作成した検索ＩＤによって識別される。また、検索クエリ４０１から特定のユーザ情報および／又はユーザ装置情報を取得してユーザ識別子に基づいてインデックスするユーザ情報データベース１４０のユーザアカウント又はエントリーに記憶する。当該ユーザは新規ユーザであれば、ユーザ識別子を生成して新規ユーザを表し且つユーザ情報データベース１４０でユーザアカウントを作成する。
【００３６】
一実施形態において、検索エンジン１２０は検索クエリ４０１から取得する一つ又は複数のキーワードに基づいて主要コンテンツデータベース１３０で第１検索を実行して第１組の主要コンテンツアイテムを生成する。検索エンジン１２０は一つ又は複数のキーワードに基づいて補助コンテンツデータベース１３１で第２検索を実行して第２組の補助コンテンツアイテムを生成する。主要コンテンツアイテムはキーワードと関連する一般的なコンテンツであってもよく、補助コンテンツアイテムは所定又は既知のコンテンツプロバイダーの提供するキーワードと関連する特定タイプコンテンツ又は特殊コンテンツ（例えば、スポンサー付きコンテンツ又はＡｄ）であってもよい。主要コンテンツアイテムと補助コンテンツアイテムのそれぞれは特定コンテンツ識別子によって識別されてもよい。
【００３７】
補助コンテンツアイテムのうちの少なくとも一つに対して、エンコーダ１２１は所定の符号化方法４０２を使用して少なくとも検索ＩＤ、対応したコンテンツＩＤおよび／又は第１ユーザのいくつかの選択可能なユーザ情報を機械可読コード４０３に符号化する。次に、機械可読コード４０３を対応したコンテンツアイテムに付加したりそれと合併したりする。第１組の主要コンテンツアイテムと第２組の補助コンテンツアイテムが合併された検索結果ページ４０４を生成し、対応した機械可読コードが補助コンテンツアイテムの少なくとも一部に組み込まれた。次に、ユーザ装置ＩＦモジュール３１１はネットワークによって検索結果ページ４０４をユーザ装置１０１に送信する。
【００３８】
図５Ａは本発明の一実施形態に係る検索結果ページの例を示すブロック図である。図５Ａを参照し、検索結果ページ５００は第１組の主要コンテンツアイテム５０１Ａ〜５０１Ｎおよび第２組の補助コンテンツアイテム５０２Ａ〜５０２Ｎを含む。主要コンテンツアイテム５０１Ａ〜５０１Ｎは一つ又は複数のキーワードに基づいて主要コンテンツデータベース１３０を検索することによって取得されてもよい。補助コンテンツアイテム５０２Ａ〜５０２Ｎは一つ又は複数のキーワードに基づいて補助コンテンツデータベース１３１を検索することによって取得されてもよい。主要コンテンツアイテム５０１Ａ〜５０１Ｎのそれぞれは簡単な記述（例えば、記述５１１Ａ〜５１１Ｎ）およびリンク（例えば、リンク５１２Ａ〜５１２Ｎ）を含む。リンク（例えば、ＵＲＬおよび／又はＵＲＩ）はアクティベーション又はクリックされると、リンクに基づいて確定されたウェブサイトのリソース位置からログイン（ｌａｎｄｉｎｇ）ページを検索し且つ当該ログインページを表示する。
【００３９】
同様に、補助コンテンツアイテム５０２Ａ〜５０２Ｎのそれぞれは簡潔な記述（例えば、記述５２１Ａ〜５２１Ｎ）およびリンク（例えば、リンク５２２Ａ〜５２２Ｎ）を含む。リンク（例えば、ＵＲＬおよび／又はＵＲＩ）はアクティベーション又はクリックされると、特定コンテンツプロバイダー（例えば、コンテンツスポンサー又はＡｄプロバイダー）に関連付けられたウェブサイトのリソース位置からログインページを検索し且つ当該ログインページを表示する。また、一実施形態によれば、補助コンテンツアイテム５０２Ａ〜５０２Ｎのうちの少なくとも一つが機械可読コード（例えば、機械可読コード５２３Ａ〜５２３Ｎ）に関連付けられ又は当該機械可読コードが付加され、前記機械可読コードは検索結果ページ５００に見えてもよく見えなくてもよい。
【００４０】
ユーザは例えば補助コンテンツアイテム５０２Ａのリンク５２２Ａをクリックすることによって補助コンテンツアイテムにアクセスしたりそれと対話したりする際に、遠隔ウェブサイトのリンク５２２Ａが指定するリソース位置から拡大された又は完全なコンテンツページを検索してログインページとする。表示する際に、ログインページは対応した機械可読コード５２３Ａを含み、前記機械可読コード５２３Ａはもう一つのユーザ（例えば、プロキシ）と共有されてもよくもう一つの装置（例えば、プロキシ装置）によって走査されてもよい。また、ユーザによりアクティベーション又はクリックされる際に、リンク５２２は検索結果ページ５００を生成するサーバ（例えば、サーバ１０４）の所定アドレスにメッセージを送信する。メッセージは特定検索情報、コンテンツ情報および／又はユーザのユーザ情報を含む。当該情報は対話記録モジュール１２２によってキャプチャして記録されてもよく、且つ図４Ａのユーザ対話データベース４１２の一部として記憶され、前記ユーザ対話データベース４１２はクリックイベントデータベースとも称されてもよい。
【００４１】
次に、コンテンツアイテム４２１を機械可読コード４２２と共にプロキシ用のプロキシ装置１０２に送信する又はそれと共有することができる。コンテンツアイテム４２１を（例えば、電子メールを送信し、テキストを送信し、ソーシャルグループによって共有する又は物理的に表示する）プロキシ装置１０２に送信する。プロキシ装置１０２のプロキシはコンテンツアイテム４２１のコンテンツプロバイダーに関連付けられてもよい。一実施形態において、スキャナ又はリーダー４３１は機械可読コード４２２を走査する又は読み取り、それによりそれを機械可読コード４３２に変える。デコーダ４３３は機械可読コード４２２を復号化して当該機械可読コード４２２に符号化された情報４３４を明かす。プロキシ装置１０２は次にサーバ１０４に復号化情報４３４の少なくとも一部を含むメッセージを送信し、且つ当該メッセージはプロキシ装置ＩＦモジュール３１２によって受信される。或いは、復号化せずにメッセージと共に機械可読コード４３２全体を送信する。メッセージは対応した検索、コンテンツアイテムおよび／又はユーザ装置１０１のユーザに関連付けられたプロキシ対話情報を含む。次にプロキシ対話情報は対話記録モジュール１２２によってキャプチャされ記録されて、且つ対話データベース１３５の一部であるプロキシ対話データベース４１３に記憶される。
【００４２】
図６は本発明の一実施形態に係る機械可読コードの例を示すブロック図である。図６を参照し、エンコーダ１２１は特定検索情報（例えば検索ＩＤ  ６０２）、コンテンツ情報（例えばコンテンツＩＤ  ６０３）および選択可能なユーザ情報（例えばユーザＩＤ  ６０４）を符号化することによって機械可読コード６００を生成することができる。機械可読コード６００はさらにそれに符号化された宛先アドレス６０１を含み、前記宛先アドレス６０１はサーバ１０４のアドレスを示す。検索ＩＤ  ６０２はユーザＩＤ  ６０４によって識別されるユーザのユーザ装置から受信した検索クエリに応答して検索エンジン１２０によって実行される検索イベント又は検索セッションを識別することができる。コンテンツＩＤ  ６０３は検索結果ページにリストアップされた、検索ＩＤ  ６０２によって識別される検索イベント又は検索セッションに対応した特定補助コンテンツアイテムを識別する。
【００４３】
図４Ｂを参照し、ユーザ装置１０１から開始する検索クエリに応答し、ユーザ装置１０１でサーバ１０４から検索結果４０４を受信する。検索結果４０４は図５Ａと５Ｂに示す検索結果ページにより表示されてもよい。ユーザとコンテンツアイテム（例えばコンテンツアイテムの対応リンク）が対話する又はコンテンツアイテムをクリックする際に、対応したコンテンツプロバイダーに関連付けられたサーバのリソース位置からコンテンツアイテム又はログインページ４２１の詳細な情報を検索する。ログインページ４２１は関連付けられた機械可読コード４２２と共にユーザ装置１０１に表示される。また、ユーザ装置１０１からサーバ１０４に第１メッセージを送信し且つユーザ装置ＩＦモジュール３１１によって当該第１メッセージを受信する。第１メッセージは検索ＩＤ、コンテンツＩＤ、ユーザ装置１０１の特定ユーザ装置情報、およびユーザとコンテンツアイテムが対話する、又は当該コンテンツアイテムをクリックする時間を示すタイムスタンプを含んでもよい。当該情報は対話記録モジュール１２２によってキャプチャされ記録されてもよく、且つ対話データベース１３５の一部であるユーザ対話データベース４１２に記憶される。
【００４４】
次に、コンテンツアイテム４２１を機械可読コード４２２と共にプロキシ用のプロキシ装置１０２に送信する又はそれと共有することができる。コンテンツアイテム４２１を（例えば、電子メールを送信し、テキストを送信し、ソーシャルグループによって共有する又は物理的に表示する）プロキシ装置１０２に送信する。プロキシ装置１０２のプロキシはコンテンツアイテム４２１のコンテンツプロバイダーに関連付けられてもよい。一実施形態において、スキャナ又はリーダー４３１は機械可読コード４３２を走査する又は読み取り、それによりそれを機械可読コード４３２に変える。デコータ４３３は機械可読コード４２２を復号化して当該機械可読コード４２２に符号化された情報４３４を明かす。プロキシ装置１０２は次にサーバ１０４に復号化情報４３４の少なくとも一部を含むメッセージを送信し、且つ当該メッセージはプロキシ装置ＩＦモジュール３１２によって受信される。或いは、復号化せずにメッセージと共に機械可読コード４３２全体を送信する。メッセージは対応した検索、コンテンツアイテムおよび／又はユーザ装置１０１のユーザに関連付けられたプロキシ対話情報を含む。次にプロキシ対話情報は対話記録モジュール１２２によってキャプチャされ記録されて、且つ対話データベース１３５の一部であるプロキシ対話データベース４１３に記憶される。
【００４５】
一実施形態において、ユーザ装置１０１から受信するユーザ対話情報とプロキシ装置から受信するプロキシ対話情報に基づき、ユーザプロファイルコンパイラ１２３は対話データベース１３５を検索してユーザ装置１０１に関連付けられたユーザを識別し、且つ対話データベース１３５とユーザ情報データベース１４０から取得する情報に基づいてユーザのユーザプロファイルをコンパイルする。次に、ユーザのユーザプロファイル又はユーザ情報をプロキシ装置１０２に送信し、それによりプロキシ装置のプロキシはユーザ装置１０１のユーザのユーザ情報を調べたり使用したりすることによってユーザと接続して通信することができる。
【００４６】
ユーザのユーザ情報は様々なユーザ情報、例えば氏名、電子メールアドレス、電話番号、地理位置、個人的興味、以前の検索、以前のコンテンツ対話、性別、年齢およびユーザ装置情報（例えば、オペレーティングシステム、装置のタイプ又は商標、ＩＰアドレス又はＭＡＣアドレス）を含んでもよい。ユーザ情報の一部はネットワーククローラ、第三者情報プロバイダー（例えば、ソーシャルネットワーク、顧客関係管理システム）によって収集されてもよい。情報の一部は検索エンジン１２０によってユーザから開始する検索に基づいて導出されてもよいおよび／又は対話記録モジュール１２２によってユーザと各種のコンテンツの対話に基づいて導出されてもよい。
【００４７】
上記したように、現在の検索イベント又はトランザクションと関連する検索情報又はトランザクションが検索イベントデータベース４１１に記録して記憶される。図７Ａは本発明の一実施形態に係る検索イベントデータベースの例を示すブロック図である。検索イベントデータベース７００は図４Ａの検索イベントデータベース４１１の少なくとも一部を示してもよい。図７Ａを参照し、検索イベントデータベース７００（検索イベント記録とも称される）は複数の検索イベントエントリーを含み、各検索イベントエントリーは検索イベント又は検索トランザクションに対応した。各検索イベントエントリーは検索ＩＤ  ７０１、ユーザＩＤ  ７０２、コンテンツＩＤ  ７０３、タイムスタンプ７０４、ユーザ装置情報７０５および検索イベントに関連付けられた一つ又は複数のキーワード７０６を含むが、これらに限らない。
【００４８】
一実施形態において、検索ＩＤ  ７０１は対応した検索イベントを唯一的に識別する。検索エンジン１２０は検索クエリを受信すると、新規検索イベントを示す検索ＩＤを作成し且つ検索イベントデータベース７００で新規検索イベントエントリーを作成する。また、検索要求からユーザ装置情報７０５を取得し且つユーザを唯一的に識別するためのユーザＩＤ  ７０２を作成することができる。或いは、ユーザ装置情報７０５は従来のユーザを識別し且つ前記ユーザのユーザＩＤを取得することに用いられてもよい。ユーザ又はユーザ装置に関連付けられたｃｏｏｋｉｅからユーザ装置情報７０５を取得することができる。
【００４９】
Ｃｏｏｋｉｅは一般的に要求者のコンピュータに記憶されるファイルとして実現され、前記ファイルは多くのウェブサイトに必要な要求者の身分又は他の情報を指示する。専門用語「ｃｏｏｋｉｅ」と「ｃｏｏｋｉｅファイル」は交換可能に使用できる。Ｃｏｏｋｉｅは例えばログイン又は登録識別子、ユーザ嗜好、又はウェブサイトホストによってユーザのネットワークブラウザに送信されてネットワークブラウザによってウェブサイトホストに返送される任意の他の情報を含んでもよい。
【００５０】
ユーザ装置情報７０５はユーザ装置のタイプ、ユーザ装置のオペレーティングシステム、検索を開始するアプリケーションのタイプ、ユーザ装置のＩＰアドレスなどを含んでもよい。コンテンツＩＤ  ７０３は検索期間に検索したコンテンツアイテムを識別することができる。タイムスタンプ７０４は検索を開始したり実行したりする時間を示す。キーワード７０６は検索クエリから抽出するキーワードを含む。他の情報も検索イベントデータベース７００に記憶されてもよい。
【００５１】
図７Ｂは本発明の一実施形態に係るユーザ対話データベースの例を示すブロック図である。ユーザ対話データベース又はテーブル７２０は図４Ａのユーザ対話データベース４１２の少なくとも一部を示してもよい。図７Ｂを参照し、ユーザ対話イベントデータベース７２０は複数のユーザ対話イベントエントリーを含み、各ユーザ対話イベントエントリーはユーザ対話イベントに対応した。各ユーザ対話イベントエントリーはユーザ対話ＩＤ  ７２１、検索ＩＤ  ７２２、コンテンツＩＤ  ７２３、タイムスタンプ７２４、選択可能なユーザ装置情報７２５および対応したユーザ対話イベントに関連付けられた他の情報７２６を含むが、これらに限らない。
【００５２】
ユーザ対話データベース７２０（クリックイベント記録とも称される）を使用してユーザと検索要求に応答して検索結果ページに表示されるコンテンツアイテム（例えば、スポンサー付きコンテンツアイテム又はＡｄ）との対話を追跡したり記録したりする。ユーザはユーザ装置に表示される検索結果ページのコンテンツアイテムと対話する又は前記コンテンツアイテムをクリックする際に、ユーザ装置からサーバ１０４にメッセージを送信する。当該メッセージに応答し、ユーザ対話ＩＤ（クリックＩＤとも称される）を生成し且つユーザ対話ＩＤによって識別されるユーザ対話イベントエントリーを作成する。検索ＩＤフィールド７２２はユーザがそれによって対話を行う検索又は検索結果ページの検索ＩＤを記憶して識別する。コンテンツＩＤフィールド７２３はユーザと対話するコンテンツアイテムを識別するコンテンツＩＤを記憶する。コンテンツＩＤ  ７２３はさらに対応コンテンツアイテムを提供するコンテンツプロバイダー（例えば、Ａｄプロバイダー）を識別することができる。タイムスタンプ７２４はユーザとコンテンツアイテムとの対話時間を記憶する。或いは、ユーザのメッセージ又はｃｏｏｋｉｅからユーザ装置情報を取得し且つそれをフィールド７２５に記録することができる。
【００５３】
図７Ｃは本発明の一実施形態に係るプロキシ対話データベースの例を示すブロック図である。プロキシ対話データベース又はテーブル７５０は図４Ａのプロキシ対話データベース４１３の少なくとも一部を示してもよい。図７Ｃを参照し、プロキシ対話イベントデータベース７５０は複数のプロキシ対話イベントエントリーを含み、各プロキシ対話イベントエントリーはプロキシ対話イベントに対応した。各プロキシ対話イベントエントリーはプロキシ対話ＩＤ  ７５１、検索ＩＤ  ７５２、コンテンツＩＤ  ７５３、タイムスタンプ７５４、選択可能なプロキシ装置情報７５５および対応したプロキシ対話イベントに関連付けられた他の情報７５６を含むが、これらに限らない。
【００５４】
プロキシ対話データベース７５０（変換イベント記録とも称される）を使用してプロキシと検索要求に応答して検索結果ページに表示されるコンテンツアイテム（例えば、スポンサー付きコンテンツアイテム又はＡｄ）との対話を追跡又は記録する。具体的に、プロキシ対話データベース７５０を利用して一つのユーザからもう一つのユーザ又はプロキシへのコンテンツアイテムの送信又は変換を追跡する。プロキシは例えば検索要求に応答して取得する検索結果ページにおけるコンテンツアイテムの機械可読コードを走査することによってもう一つのユーザからコンテンツアイテムを受信し且つそれと対話する際に、プロキシ装置からサーバ１０４にメッセージを送信する。当該メッセージに応答し、プロキシ対話ＩＤ（変換ＩＤとも称される）を生成し且つプロキシ対話ＩＤによって識別されるプロキシ対話イベントエントリーを作成する。検索ＩＤフィールド７５２は検索又は検索結果ページを識別する検索ＩＤを記憶し、ここで、プロキシが当該検索又は検索結果ページから対話を行う。コンテンツＩＤフィールド７５３はプロキシと対話を行うコンテンツアイテムを識別するコンテンツＩＤを記憶する。コンテンツＩＤ  ７５３はさらに対応したコンテンツアイテムを提供するコンテンツプロバイダー（例えば、Ａｄプロバイダー）を識別することができる。タイムスタンプ７５４はコンテンツアイテムとプロキシが対話する時間を記憶する。或いは、ユーザのメッセージ又はｃｏｏｋｉｅからプロキシ装置情報を取得し且つそれをフィールド７５５に記憶することができる。
【００５５】
図７Ｄは本発明の一実施形態に係るコンテンツデータベースを示すブロック図である。コンテンツデータベース７８０は図１のコンテンツデータベース１３３の少なくとも一部を示してもよい。或いは、コンテンツデータベース７８０は補助コンテンツデータベース１３１の少なくとも一部を示してもよい。図７Ｄを参照し、コンテンツデータベース又はテーブル７８０は複数のエントリーを含み、各エントリーはコンテンツＩＤ（例えばコンテンツＩＤ  ７８１）によって識別されるコンテンツアイテムに対応した。各コンテンツエントリーは検索のために、一つ又は複数のキーワード７８２に関連付けられる。各コンテンツエントリーはさらにログインページが参照する記述７８３とリンク７８４を含んでもよい。各コンテンツエントリーはさらにプロキシ情報７８５（例えば、プロキシログイン証拠、例えばユーザ名又は暗号）を含んでプロキシを認証する。各コンテンツエントリーはさらに他の情報７８６、例えば対応したコンテンツアイテムを提供するコンテンツプロバイダー（例えば、スポンサー、Ａｄプロバイダー）を識別するコンテンツプロバイダーＩＤを含んでもよい。コンテンツプロバイダーは複数のコンテンツアイテム（例えば、複数のＡｄ）を提供することができる。キーワードを有する検索クエリに基づいて検索し、これらのキーワードを、関連付けられたキーワード７８２とマッチングさせることによって、コンテンツデータベース７８０からコンテンツアイテム又はコンテンツエントリーを識別し、検索することができる。
【００５６】
図８Ａは本発明の一実施形態に係る検索を実行して検索結果を生成するプロセスを示すフローチャートである。プロセス８００は処理論理によって実行可能であり、前記処理論理はハードウェア（例えば、回路、専用論理など）、ソフトウェア（例えば、非一時的なコンピュータ可読媒体で実施される）又はその組み合わせを含む。例えば、プロセス８００は図３のシステム３００によって実行可能である。図８Ａを参照し、ブロック８０１では、処理論理はネットワークによって第１ユーザ装置から一つ又は複数のキーワードを有する検索クエリを受信する。当該検索クエリに応答し、ブロック８０２では、現在の検索イベント又はトランザクションを識別する検索ＩＤを生成する。また、新規作成した検索ＩＤによってインデックスされ識別される検索イベントデータベースで検索イベントエントリーを作成し、それにより現在の検索イベントの検索情報を記録する。
【００５７】
ブロック８０３では、処理論理は検索クエリから取得する一つ又は複数のキーワードに基づいて主要コンテンツデータベースで第１検索を実行し、それにより第１組の一つ又は複数の主要コンテンツアイテムを生成する。主要コンテンツアイテムはネットワーククローラが一定の時間においてネットワークによって多くのウェブサイトから発見する一般的なコンテンツアイテムであってもよい。ブロック８０４では、処理論理は前記キーワードに基づいて補助コンテンツデータベースで第２検索を実行し、それにより第２組の一つ又は複数の補助コンテンツアイテムを生成する。補助コンテンツアイテムは一組の所定又は既知のコンテンツプロバイダーが提供する事前に設定されるコンテンツ（例えば、スポンサー付きコンテンツ、Ａｄ）であってもよい。
【００５８】
ブロック８０５では、補助コンテンツアイテムの少なくとも一つに対して、処理論理は検索ＩＤ、コンテンツＩＤおよびユーザ装置の選択可能なユーザ情報を機械可読コードに符号化する。次に、機械可読コードをコンテンツアイテムに付加する。ブロック８０６では、検索結果ページを生成し、前記検索結果ページはここでの第１組の主要コンテンツアイテムと第２組の補助コンテンツアイテムの少なくとも一部を含む。或いは、検索結果ページは一組の補助コンテンツアイテムのみを含んでもよい。補助コンテンツアイテムの少なくとも一つに機械可読コードが組み込まれた。次に検索結果ページをユーザ装置に送信して当該ユーザ装置に表示する。また、検索に関連付けられた情報（例えば、図７Ａの検索イベントデータベース７００に示す情報）を利用して検索ＩＤによって識別される検索イベントエントリーを更新する。
【００５９】
次に、ユーザは補助コンテンツアイテムにアクセスする又はそれをクリックする際に、ユーザ装置からサーバに、特定のユーザ対話情報と対話されるコンテンツアイテムのコンテンツ識別情報を含むメッセージを送信する。当該メッセージに応答し、現在のユーザ対話イベントを示すためのユーザ対話ＩＤを生成し、且つ図４Ａのユーザ対話データベース又はクリックイベント記録４１２にユーザ対話イベントエントリーを作成し、ユーザ対話イベントエントリーは新規作成したユーザ対話ＩＤによって識別されインデックスされる。新規作成するユーザ対話エントリー（例えば、図７Ｂのユーザ対話データベース７２０に示す複数のエントリー）におけるユーザ対話情報を更新する。
【００６０】
図８Ｂは本発明の他の一実施形態に係る検索を実行して検索結果を生成するプロセスを示すフローチャートである。プロセス８５０は処理論理によって実行可能であり、前記処理論理はハードウェア（例えば、回路、専用論理など）、ソフトウェア（例えば、非一時的なコンピュータ可読媒体で実施される）又はその組み合わせを含む。例えば、プロセス８５０は図３のシステム３００によって実行可能である。図８Ｂを参照し、ブロック８５１では、処理論理はネットワークによって第１ユーザ装置から一つ又は複数のキーワードを有する検索クエリを受信する。当該検索クエリに応答し、ブロック８５２では、現在の検索イベント又はトランザクションを識別する検索ＩＤを生成する。また、新規作成した検索ＩＤによってインデックスされ識別される検索イベントデータベースで検索イベントエントリーを作成し、それにより現在の検索イベントの検索情報を記憶する。
【００６１】
ブロック８５３では、処理論理は検索クエリから取得する一つ又は複数のキーワードに基づいてコンテンツデータベースに検索を実行し、一組の一つ又は複数のコンテンツアイテムを生成する。ブロック８５４では、コンテンツアイテムの少なくとも一つに対して、処理論理は検索ＩＤ、コンテンツＩＤおよびユーザ装置の選択可能なユーザ情報を機械可読コードに符号化する。次に、機械可読コードをコンテンツアイテムに付加する。ブロック８５５では、検索結果ページを生成し、前記検索結果ページはここでのコンテンツアイテムの少なくとも一部を含む。コンテンツアイテムの少なくとも一つに機械可読コードが組み込まれた。次に検索結果ページをユーザ装置に送信して当該ユーザ装置に表示する。また、検索に関連付けられた情報（例えば、図７Ａの検索イベントデータベース７００に示す情報）を利用して検索ＩＤによって識別される検索イベントエントリーを更新する。
【００６２】
次に、ユーザは検索結果からのコンテンツアイテムにアクセスする又はそれをクリックする際に、ユーザ装置からサーバに、特定のユーザ対話情報および対話されるコンテンツアイテムを含むコンテンツ識別情報を含むメッセージを送信する。当該メッセージに応答し、ブロック８５６では、現在のユーザ対話イベントを示すためのユーザ対話ＩＤを生成し、且つ図４Ａのユーザ対話データベース又はクリックイベント記録４１２でユーザ対話イベントエントリーを作成し、前記ユーザ対話イベントエントリーは新規作成したユーザ対話ＩＤによって識別されインデックスされる。新規作成したユーザ対話エントリー（例えば、図７Ｂのユーザ対話データベース７２０に示す複数のエントリー）におけるユーザ対話情報を更新する。
【００６３】
図９は本発明の一実施形態に係るプロキシとコンテンツの対話を追跡するプロセスを示すフローチャートである。プロセス９００は処理論理によって実行可能であり、前記処理論理はハードウェア（例えば、回路、専用論理など）、ソフトウェア（例えば、非一時的なコンピュータ可読媒体で実施される）又はその組み合わせを含む。例えば、プロセス９００は図３のシステム３００によって実行可能である。図９を参照し、ブロック９０１では、処理論理はプロキシ装置からの要求又はメッセージを受信し、前記メッセージは機械可読コードを識別する情報を含む。機械可読コードは検索クエリに応答して検索結果ページに表示されるコンテンツアイテムに関連付けられた。識別情報はプロキシ装置が例えば検索結果ページを受信するもう一つのユーザ装置から受信する機械可読コードを走査することにより機械可読コードを復号化した情報であってもよい。
【００６４】
或いは、メッセージはプロキシ装置による復号化が不要な実際の機械可読コード全体を含む。この場合に、サーバで機械可読コードに組み込まれた情報を復号化する。このような構成の利点は安全性が高く、プロキシ装置は復号化する必要がなく且つ機械可読コードから開示する情報のセキュリティを脅かさない。一方、サーバは検索期間に情報を機械可読コードに符号化し、且つサーバは自体で前記情報を復号化する。対応したコンテンツアイテムの送信又は変換期間に情報を紛失することがない。
【００６５】
前記メッセージに応答し、ブロック９０２では、現在のプロキシ対話を識別するためのプロキシ対話ＩＤを生成する。図４Ａのプロキシ対話データベース又は変換記録４１３にプロキシ対話イベントエントリーを作成し、プロキシ対話イベントエントリーは新規作成したプロキシ対話ＩＤによって識別されインデックスされる。次に、プロキシ対話情報を新規作成したプロキシ対話エントリー（例えば、図７Ｃのプロキシ対話データベース７５０に示す複数のエントリー）に記憶する。
【００６６】
ブロック９０３では、点線ブロックに示すように、処理論理はメッセージおよび／又は機械可読コードから取得する検索ＩＤに基づいて検索イベントデータベース（例えば、図７Ａの検索イベントデータベース７００）で検索し、それにより検索イベントエントリーを特定するようにしてもよい。ブロック９０４では、検索イベントエントリーからユーザ情報、例えばユーザＩＤを取得し、ここで、ユーザは検索ＩＤによって識別される最初検索を開始する。ブロック９０５では、ユーザ情報データベースから他のユーザ情報を取得し、且つ次にブロック９０６では、例えばユーザプロファイルの形式で前記ユーザ情報をサーバからプロキシ装置に送信する。
【００６７】
図１０は本発明の一実施形態に係るユーザと検索結果との対話を追跡するプロセスを示すフローチャートである。プロセス１０００は処理論理によって実行可能であり、前記処理論理はハードウェア（例えば、回路、専用論理など）、ソフトウェア（例えば、非一時的なコンピュータ可読媒体で実施される）又はその組み合わせを含む。例えば、プロセス１０００はプロキシ装置（例えば、図４Ｂのプロキシ装置１０２）で実行可能である。図１０を参照し、ブロック１００１では、処理論理は第１装置（例えば、プロキシ装置）のスキャナを利用して第２装置（例えば、ユーザ装置）に表示されるコンテンツアイテムと関連付けられた、検索結果ページの一部である機械可読コードを走査する。ブロック１００２では、処理論理は前記機械可読コードを復号化して検索ＩＤと識別コンテンツアイテムのコンテンツＩＤを回復する。
【００６８】
ブロック１００３では、機械可読コードから取得する宛先アドレスに基づき、遠隔サーバ（例えば、検索装置）に復号化された情報（例えば、検索ＩＤとコンテンツＩＤ）および特定プロキシ情報を送信する。或いは、復号化せずに遠隔サーバに機械可読コード全体を送信する。遠隔サーバは検索を開始するユーザを識別し且つユーザのユーザ情報をコンパイルする。ブロック１００４では、遠隔サーバからユーザのユーザ情報を受信し、ブロック１００５では、第１装置のディスプレイに当該ユーザ情報を表示する。
【００６９】
本願にわたって説明する技術はコンテンツ検索イベント、ユーザとコンテンツとの対話（端末のユーザ対話とプロキシ対話を含む）、およびコンテンツの送信又は変換を追跡することができる。機械可読コードをコンテンツアイテムに符号化することによって、ユーザがいつ、どのように検索クエリに応答して検索結果におけるコンテンツと対話するかをさらに効果的にキャプチャして記録することができる。次に後続の検索を改良してユーザにさらに良いコンテンツを提供するために、データベースにキャプチャされ記録される情報（図７Ａ〜７Ｃに示すように）を解析することができる。
【００７０】
一実施形態において、上記技術はさらにオンライン広告又はＡｄ対話およびＡｄ変換（例えば、オフライン変換）を追跡することに用いられてもよい。典型的な広告を検索の場合に、広告主（Ａｄプロバイダーとも称される）は広告会社の検索エンジンを利用してキーワードを購入し且つこれらのキーワードを目標とする広告を作成する。ユーザの検索クエリは購入したキーワードのうちの一つ又は複数とマッチングする際に、結果ページに対応した広告および有機的な検索結果を表示することができる。広告主はその広告が表示又はクリックされる回数に基づいて費用を計算してもよい。或いは、広告主は広告の結果として発生する変換回数に基づいて費用を計算してもよい。変換はオンライン（例えばユーザが広告主のウェブサイトにアクセスし且つ注文書を出す）又はオフライン（例えばユーザが広告主の実店舗に行く）であってもよい。
【００７１】
変換率は広告の有効性を評価する主要指標であり、従って、広告主は一般的にどの広告が変換を引き起こすことに興味がある。従来のオンラインからオフラインへの変換の追跡は実店舗において手動でオフライン変換データを入力し、次に当該データをオンライン広告記録にリンクしてどの変換がどの広告表示／クリックによる結果であるかを確定する必要がある。手動入力は単調で間違いやすく、実際にこの方式を選択する広告主は非常に少ない。
【００７２】
一実施形態において、ＱＲコード（登録商標）又はバーコードのような機械可読コードをユーザがオフライン変換するようにガイドする可能性がある各広告に付加する。興味があれば、ユーザはコードを記憶し且つその後にオフライン商店（例えば小売店）に到達する際にコードを販売員（例えば、プロキシ）に展示する。販売員は次にインターネットに接続されるスキャナ（例えば、モバイル装置を使用するモバイルアプリケーション）を利用してコードを走査し、スキャナはイベント（例えば、復号化された情報又はコード全体と共に）を検索広告会社に送信し、例えば図１のサーバ１０４に表示される。このようにして、オフライン変換を広告にリンクし変換を記録し、報告することができる。
【００７３】
一実施形態において、特定Ａｄに関連付けられた機械可読コードは検索ＩＤ、タイムスタンプ、広告主又はＡｄプロバイダーＩＤ、ＡｄユニットＩＤなどを符号化し、そのため機械可読コードを走査する際に、当該機械可読コードを関連する検索と広告にリンクすることができる。各機械可読コードスキャナは認証される必要があり、それにより同一広告主（例えば、特定の小売店又は小売位置）のみに対する広告が公布するコードを走査する。これにより、潜在的変換フィッシングを防止する。一実施例によれば、各スキャナは広告主がその検索広告資格を利用してログインするアプリケーションを実行しなければならず、前記検索広告証拠は図３の認証モジュール３１３によって認証されてもよい。他の一実施例によれば、広告主は各スキャナに対して検索広告会社から信頼できるトークンを取得する。
【００７４】
また、ユーザが機械可読コード特徴を使用することを推奨するために、検索会社又は広告主は奨励措置を取ることができ、例えば、機械可読コードはクーポンとしてもよい。サーバで検査を実行することによって、個体がコードを一回又は複数回使用することを許可し且つ締め切り日を実行する。ユーザはこのような機械可読コードを使用することを推奨するもう一つの奨励措置はユーザの個人情報（例えば、氏名と住所）をコードに符号化し、それによりプロキシである販売員は機械可読コードを走査する際に、これらのフィールドが自動的に充填されることができ、例えば潜在的購入に用いることである。それにより販売過程を速める。一例として、病院で受診する場合に、ユーザ（患者）は一般的に長い表を記入する必要がある。ユーザが検索エンジン会社のアカウントを有し且つ検索クエリを行う際に既にログインした必要があり、この場合に、広告システムはユーザの個人データを機械可読コードに符号化することができる。最後に、ユーザは経済的利益を取得する一方、広告主も詳細な変換データを取得してＲＯＩ（投資収益）を向上させることができ、且つ検索会社は詳細な変換データを取得してさらに良い広告モデルをトレーニングすることができる。
【００７５】
次に、図３を参照し、システム３００は検索クエリに応答して一般的なユーザに検索サービスを提供する検索装置を示す。また、システム３００はさらに広告主又はＡｄプロバイダーが提供するＡｄを検索する。この例では、主要コンテンツデータベース１３０はネットワーククローラによって発見および／又は収集される一般的なコンテンツを記憶し、前記ネットワーククローラは多くの処理ノード又はコンピュータに配置されてもよい。補助コンテンツデータベース１３１は各種のＡｄプロバイダーが提供するＡｄを記録するＡｄデータベース又はＡｄ記憶ベースを示す。或いは、コンテンツデータベース１３３はＡｄデータベース１３１のみを含んでもよく、ここで、サーバ３００はＡｄサーバ、Ａｄリストサーバ又はＡｄネットワークを示す。
【００７６】
Ａｄデータベース１３１は各種タイプのデータを記憶する一つ又は複数のデータベースシステムを含んでもよく、前記データは広告、クリックイベント、価格パラメータ情報および広告主情報（広告主と関連する登録情報、広告主のアカウント、支払情報などを含む）を含むが、これらに限らない。Ａｄデータベース１３１に記憶されるＡｄは周期的にＡｄプロバイダー、ＡｄプロバイダーのＡｄリストプロバイダーおよび／又は一つ又は複数のＡｄリストプロバイダーのＡｄネットワークから受信されてキャッシュされる。Ａｄデータベース１３１は製品と関連する広告および／又はコンテンツの副本を記録し、それにより広告の形式でサービスを行う。Ａｄデータベース１３１に記憶される広告は各種の広告主、例えば商家、メーカー、小売業者、卸売業者、レストラン、サービスプロバイダー、社会組織、教会、個人又は広告又は他のコンテンツを提供したい任意の他のエンティティから受信されてもよい。広告に加えて、又は広告のかわりに、Ａｄデータベース１３１においてさらに他の販売促進コンテンツ、例えばクーポン、割引およびイベント通知が記憶されてもよい。
【００７７】
Ａｄデータベース１３１においてさらに各広告および／又は広告を提供するための標準的広告変換情報が記憶される。対応した広告主から広告を提供するための標準を受信することができる。前記標準は検索クエリの各点、一連の検索クエリ、ユーザ人口統計情報、ユーザ位置情報、広告価格見積情報、広告性能情報、広告要求に含まれる情報および／又は広告を選択する際において好適ないかなる他の標準に基づくものであってもよい。広告主から前記標準を受信することができ、それにより広告主はその広告受信者の選択を制御することができる。
【００７８】
各広告に対して、広告変換情報は広告がユーザに表示される回数、広告が表示された後に選択された回数、および広告が表示された後に一つ又は複数の特定動作を採用する回数を含むが、これらに限らない。例えば、特定動作は広告の影響を受ける製品がショッピングカートに追加されるか、オンライン購入されるかおよび／又は広告の受信者が広告の影響を受ける製品を提供する広告主又は商家の位置にアクセスするかであってもよい。Ａｄデータベース１３１は一つ又は複数の動作についての情報を含んでもよく、それにより各動作を記録し且つ当該動作を利用して動作の広告変換率又は百分率を計算する。広告変換百分率の一例は広告を受信した後に広告に関連付けられた位置にアクセスする顧客の百分率である。広告変換百分率の他の例は対応した端末ユーザ装置を利用して広告を選択した後に広告に関連付けられた位置にアクセスする顧客の百分率である。さらに他の例は広告に関連付けられた位置にアクセスし且つ関連付けられる機械可読コードを走査する顧客の百分率である。
【００７９】
図３を参照し、ユーザ対話記録３２１は検索結果ページに表示されるＡｄのクリックイベントを追跡するクリックイベント記録である。プロキシ対話記録３２２は検索結果ページに表示されるＡｄの変換を追跡するＡｄ変換記録であり、上記のＡｄ変換情報を記憶することを含む。クリックイベント記録３２１に記録されるクリックイベントが図４Ａのユーザ対話データベース４１２によって示されるＡｄクリックイベントデータベースに記憶されてもよい。Ａｄ変換記録３２２に記録される変換イベントは図４Ａのプロキシ対話データベース４１３によって示されるＡｄ変換データベースに記憶されてもよい。
【００８０】
図４Ａを参照し、ユーザ装置１０１のユーザはサーバ１０４に検索クエリを送信する時に、現在の検索イベント又は変換を示す検索ＩＤを生成する。検索エンジン１２０は一つ又は複数のキーワードに基づいて主要コンテンツデータベース１３０で第１検索を実行し、それにより第１組の主要コンテンツアイテムを生成する。検索エンジン１２０はさらに前記キーワードに基づいてＡｄデータベース１３１で第２検索を実行し、前記キーワードの少なくとも一つに基づいて価格見積として構成されるＡｄリストを識別する。主要コンテンツデータベース１３０とＡｄデータベース１３１の検索結果に基づき、検索イベントエントリーを作成し、且つ特定検索情報、コンテンツ情報およびユーザ情報を前記エントリーに記憶し、図７Ａに示すとおりである。また、Ａｄの少なくとも一つに対して、エンコーダ１２１は検索情報、コンテンツ情報およびユーザ情報のいくつかを機械可読コード４０３に符号化して検索結果４０４に合併する。次に、検索結果４０４をユーザ装置１０１に送信する。
【００８１】
或いは、システム３００はＡｄサーバを示す場合に、コンテンツデータベース１３３はＡｄデータベースを示す。この例では、もう一つのサーバ（例えば、ネットワークサーバ又はコンテンツサーバ）からＡｄリストへの検索クエリを受信し、前記Ａｄリストは検索クエリに指定した一つ又は複数のキーワードと関連する。クライアントに一般的なコンテンツ検索サービス（例えば、バイドゥ、グーグル、マイクロソフトビング（Ｂｉｎｇ）など）を提供するネットワークサーバから要求を受信する。或いは、クーポン又は他の販売促進情報を検索する任意のクライアントから要求を受信することができる。前記検索クエリに応答し、検索エンジン１２０はコンテンツデータベース１３３で検索を実行する。この後、上記プロセスと類似するプロセスを実行することができる。
【００８２】
図４Ｂを参照し、ユーザは検索結果４０４にアクセスし且つ例えばＡｄ  ４２１のリンクをクリックしてＡｄ  ４２１の一つをクリックする際に、Ａｄ  ４２１の拡大版又はフルビューを表示し、前記拡大版又はフルビューは対応したＡｄプロバイダーのウェブサイトから検索した対応したログインページであってもよい。ユーザは商家の小売場所又は他のオンライン小売サイトに登録した場合に、ログインページは顧客が引き換え可能なクーポン、割引又はほかのプロモーションの特典（ｐｒｏｍｏｔｉｏｎａｌ  ｏｆｆｅｒ）を含んでもよい。ログインページは広告に関連付けられた製品又はサービスの情報を含んでもよい。ログインページはさらに製品又はサービスを提供する小売場所又は他のエンティティの位置を識別するガイド又は情報を含んでもよい。例えば、ログインページは小売場所の住所又はユーザの現在位置から小売場所へのガイドを有する地図を含んでもよい。
【００８３】
ログインページはさらにプロモーション特典およびプロモーション特典を引き換えるためのガイドを含んでもよい。小売業者のプロキシ又は従業員は対応した機械可読コードを利用して登録する際にプロモーション特典を提供することができる。ログインページはさらに選択された広告又は選択された広告の影響を受ける製品又はサービスを提供する広告主に関連付けられた任意の他の情報を含んでもよい。プロモーション特典はクーポン、割引、報酬ポイント、無料項目などの形式であってもよい。
【００８４】
また、図４Ｂを参照し、クリックイベントはサーバ１０４に送信され、且つユーザ装置ＩＦモジュール３１１によって受信され且つ対話記録モジュール１２２（例えば、記録モジュールをクリックする）によってクリックイベント記録又はデータベース（例えば図７Ｂのクリックイベント記録７２０）に記録する。次に、ユーザは例えばＡｄ  ４２１をプロキシ装置１０２のプロキシ（例えば、小売店の販売員）に展示してＡｄ  ４２１を使用する際に、プロキシ装置は機械可読コード４２２を走査する。例えば、ユーザはＡｄ  ４２１をクリックしてそのモバイル装置１０１に機械可読コード４２２を表示し且つそれをプロキシに展示する。プロキシはモバイル装置１０２で実行されているモバイルアプリケーションによって機械可読コード４２２を走査する。このような走査はＡｄ変換としてみなされ、且つ変換イベントがサーバ１０４に送信され且つプロキシ装置ＩＦモジュール３１２によって受信される。次にＡｄ変換の情報をキャプチャして図７Ｃに示すＡｄ変換データベースに記憶する。
【００８５】
Ａｄ変換イベントに応答し、Ａｄをクリックして表示したユーザの特定ユーザ情報を取得し且つ当該ユーザ情報をプロキシ装置１０２に送信してプロキシ装置１０２に表示する。そのため、プロキシは当該特定顧客のさらに多くの情報を有し、例えばさらに多くの割引を提供したり、ユーザに興味がある可能性があるもう一つの製品などを推薦したりすることによって顧客にさらいに良いサービスを提供する。顧客の満足感を向上させることができる。Ａｄ変換を追跡しさらに多くのユーザ情報を提供することによって、オンラインＡｄのオフライン変換を容易に追跡し且つ販売トランザクションを完成する可能性を向上させる。さらに多くのＡｄプロバイダーはサーバ１０４によって提供するＡｄシステムを応用する意欲がある。
【００８６】
上記示したおよび説明した構成要素（例えば、検索エンジン１２０、エンコーダ／デコーダ１２１、対話記録モジュール１２２など）の一部又は全部はソフトウェア、ハードウェア又はその組み合わせで実現されてもよい。例えば、当該構成要素は不揮発性記憶装置にインストールされ記憶されるソフトウェアとして実現されてもよく、前記ソフトウェアはメモリにローディングされ且つプロセッサ（図示せず）によって実行されてもよく、それにより本願にわたって記載のプロセス又は操作を実施する。或いは、当該構成要素は例えば集積回路（例えば、専用集積回路又はＡＳＩＣ）、デジタル信号プロセッサ（ＤＳＰ）又はフィールドプログラマブルゲートアレイ（ＦＰＧＡ）の専用ハードウェアにプログラミングされる又は組み込まれる実行可能なコードとして実現されてもよく、前記実行可能なコードはアプリケーションからの対応したドライバーおよび／又はオペレーティングシステムによってアクセスされてもよい。また、当該構成要素はプロセッサ又はプロセッサコアにおける特定ハードウェア論理として実現されてもよく、ソフトウェア構成要素が一つ又は複数の特定命令によってアクセスできるコマンドセットの一部とする。
【００８７】
図７Ｂを参照し、クリックイベントデータベース７２０はＡｄクリックイベントを記録し、ここで、各クリックイベントエントリーはクリックＩＤによって識別される。ユーザ対話ＩＤ  ７２１はクリックイベントを識別するクリックＩＤを示す。コンテンツＩＤ  ７２３はＡｄ又はＡｄプロバイダーを識別するＡｄ  ＩＤを示す。各クリックイベントエントリーはさらにクリックイベントのコスト単位を含んでもよい。図７Ｃを参照し、変換イベントデータベース７５０はＡｄ変換イベントを記録し、各変換イベントは変換ＩＤによって識別される。プロキシ対話ＩＤ  ７５１は変換イベントを識別する変換ＩＤを示す。コンテンツＩＤ  ７５３はＡｄ又はＡｄプロバイダーを識別するＡｄ  ＩＤを示す。変換イベントデータベース７５０はさらに各Ａｄの変換タイプと変換値を記録することができる。変換イベントデータベース７５０はさらに上記Ａｄ変換情報を記憶することができる。次に遠隔システムにクリックイベントデータベース７２０および／又は変換イベントデータベース７５０に記憶される情報を送信して解析に供する。
【００８８】
いくつかの実施形態によれば、サーバ１０４は顧客にコンテンツ検索サービスを提供し、各ＡｄプロバイダーにＡｄリストサービスを提供するＡｄリストプロバイダーとして又はそれを代表して操作し、且つＡｄ対話と変換の追跡サービスを提供する。当該システムでは、広告プロバイダーは登録して支払情報、一つ又は複数の価格パラメータ（例えば、広告主が毎回のクリックに対して支払いたい金額、価格見積金額、価格情報、価格の他の指標など）および価格パラメータに関連付けられた関連広告（クリエイティブとも称される）を提供する。例えば、Ａｄプロバイダーは検索エンジンシステムに使用するキーワードに関連付けられた価格パラメータを提供する。Ａｄプロバイダーはユーザがある性能パラメータ（例えば、クリックスルー（ｃｌｉｃｋ−ｔｈｒｏｕｇｈ）ＡｄがＡｄに関連付けられたＡｄプロバイダーの提供するログインページ目標に達し、クーポンをアクティブにし、登録ユーザになり、プロジェクトを購入するなど）を満たす場合のみに支払う義務がある。また、特定性能パラメータ（例えば、クリックスルー又は変換が発生し、この例では機械可読コードを走査する）を実現する場合のみにＡｄリストプロバイダーに支払う。
【００８９】
上記示したおよび説明した構成要素（例えば、検索エンジン１２０、エンコーダ／デコータ１２１、対話記録モジュール１２２など）の一部又は全部はソフトウェア、ハードウェア又はその組み合わせで実現されてもよい。例えば、当該構成要素は不揮発性記憶装置にインストールされ記憶されるソフトウェアとして実現されてもよく、前記ソフトウェアはメモリにローディングされ且つプロセッサ（図示せず）によって実行されてもよく、それにより本願にわたって記載のプロセス又は操作を実施する。或いは、当該構成要素は例えば集積回路（例えば、専用集積回路又はＡＳＩＣ）、デジタル信号プロセッサ（ＤＳＰ）又はフィールドプログラマブルゲートアレイ（ＦＰＧＡ）の専用ハードウェアにプログラミングされる又は組み込まれる実行可能なコードとして実現されてもよく、前記実行可能なコードはアプリケーションからの対応したドライバーおよび／又はオペレーティングシステムによってアクセスされてもよい。また、当該構成要素はプロセッサ又はプロセッサコアにおける特定ハードウェア論理として実現されてもよく、ソフトウェア構成要素が一つ又は複数の特定命令によってアクセスできるコマンドセットの一部とする。
【００９０】
図１１は、本発明の一実施形態と組み合わせて使用されてもよいデータ処理システムを例示的に示すブロック図である。例えば、システム１５００は、上記プロセスまたは方法のいずれかを実行する上記任意のデータ処理システムを示してもよい。システム１５００は、多数の異なる構成要素を含んでもよい。これらの構成要素は、集積回路（ＩＣ）、集積回路の一部、分散型電子装置または回路基板に適用された他のモジュール（例えばコンピュータシステムのマザーボードまたはアドインカード）、または他の方式でコンピュータシステムのシャシーに組み込まれた構成要素として実現できる。
【００９１】
さらに、システム１５００は、コンピュータシステムの多数の構成要素の詳細ビューを示すことを目的とする。しかしながら、いくつかの実現形態では、付加的構成を要してもよいことを理解すべきである。また、他の実現形態において示される構成要素が異なる配置を有してもよい。システム１５００は、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、サーバ、携帯電話、メディアプレーヤー、パーソナルディジタルアシスタント（ＰＤＡ）、スマート腕時計、パーソナルコミュニケーター、ゲーム装置、ネットワークルータまたはハブ、無線アクセスポイント（ＡＰ）またはリピーター、セットトップボックス、またはそれらの組合せを示してもよい。また、単一の機器またはシステムのみを示したが、用語「機器」または「システム」は、さらに、独立または共同で１つ（または複数）の命令セットを実行することにより本明細書に説明される任意の１種または複数種の方法を実行する機器またはシステムの任意のセットを含むことを理解すべきである。
【００９２】
一実施形態において、システム１５００は、バスまたは相互接続部材１５１０によって接続されたプロセッサ１５０１、メモリ１５０３および装置１５０５〜１５０８を備える。プロセッサ１５０１は、単一のプロセッサコアまたは複数のプロセッサコアを含む単一のプロセッサまたは複数のプロセッサを備えてもよい。プロセッサ１５０１は、マイクロプロセッサ、中央処理装置（ＣＰＵ）等のような１つまたは複数の汎用プロセッサであってもよい。より具体的には、プロセッサ１５０１は、複雑命令セット計算（ＣＩＳＣ）マイクロプロセッサ、縮小命令セットコンピュータ（ＲＩＳＣ）マイクロプロセッサ、超長命令語（ＶＬＩＷ）マイクロプロセッサ、または他の命令セットを実現するプロセッサ、または命令セットの組合せを実現するプロセッサであってもよい。プロセッサ１５０１は、さらに、専用集積回路（ＡＳＩＣ）、セルラまたはベースバンドプロセッサ、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、デジタル信号プロセッサ（ＤＳＰ）、ネットワークプロセッサ、グラフィックプロセッサ、通信プロセッサ、暗号プロセッサ、コプロセッサ、組み込みプロセッサのような１つまたは複数の専用プロセッサ、或いは命令処理可能な任意の他のタイプのロジックであってもよい。
【００９３】
プロセッサ１５０１（超低電圧プロセッサのような低電力マルチコアプロセッサソケットであってもよい）は、前記システムの各種構成要素と通信するための主処理ユニットおよび中央ハブとして機能できる。このようなプロセッサは、システムオンチップ（ＳｏＣ）として実現できる。プロセッサ１５０１は、命令を実行することにより本明細書に説明される操作およびステップを実行するための命令を実行するように構成される。また、システム１５００は、選択可能なグラフィックサブシステム（表示コントローラおよび／または表示装置）１５０４と通信するグラフィックインターフェースをさらに含み、グラフィックサブシステム（表示コントローラおよび／または表示装置）１５０４は、表示コントローラ、グラフィックプロセッサおよび/または表示装置をさらに備えてもよい。
【００９４】
プロセッサ１５０１は、メモリ１５０３と通信してもよく、メモリ１５０３は、一実施形態において複数のメモリによって所定量のシステムメモリを提供する。メモリ１５０３は、ランダムアクセスメモリ（ＲＡＭ）、動的ＲＡＭ（ＤＲＡＭ）、シンクロナスＤＲＡＭ（ＳＤＲＡＭ）、静的ＲＡＭ（ＳＲＡＭ）または他のタイプの記憶装置のような１つまたは複数の揮発性記憶（またはメモリ）装置を備えてもよい。メモリ１５０３は、プロセッサ１５０１または任意の他の装置により実行される命令列を含む情報を記憶できる。例えば、複数種のオペレーティングシステム、装置ドライバー、ファームウェア（例えば、入力出力基本システムまたはＢＩＯＳ）および/またはアプリケーションの実行可能なコードおよび/またはデータはメモリ１５０３にロードされてもよく、プロセッサ１５０１により実行される。オペレーティングシステムは、Ｍｉｃｒｏｓｏｆｔ（登録商標）会社からのＷｉｎｄｏｗｓ（登録商標）オペレーティングシステム、アップル会社からのＭａｃ  ＯＳ（登録商標）/ｉＯＳ（登録商標）、Ｇｏｏｇｌｅ（登録商標）会社からのＡｎｄｒｏｉｄ（登録商標）、Ｌｉｎｕｘ（登録商標）、Ｕｎｉｘ（登録商標）または他のリアルタイムまたは組み込みオペレーティングシステム（例えばＶｘＷｏｒｋｓ）のような任意のタイプのオペレーティングシステムであってもよい。
【００９５】
システム１５００は、Ｉ/Ｏ装置、例えば装置１５０５〜１５０８をさらに備えてもよく、ネットワークインターフェース装置１５０５、選択可能な入力装置１５０６および他の選択可能なＩ/Ｏ装置１５０７を備える。ネットワークインターフェース装置１５０５は、無線送受信機および/またはネットワークインターフェースカード（ＮＩＣ）を備えてもよい。前記無線送受信機は、ＷｉＦｉ送受信機、赤外送受信機、ブルートゥース（登録商標）送受信機、ＷｉＭａｘ送受信機、無線セルラーホン送受信機、衛星送受信機（例えば、全地球測位システム（ＧＰＳ）送受信機）または他の無線周波数（ＲＦ）送受信機またはそれらの組合せであってもよい。ＮＩＣはイーサネット（登録商標）カードであってもよい。
【００９６】
入力装置１５０６は、マウス、タッチパッド、タッチスクリーン（それは表示装置１５０４と一体化されてもよい）、ポインタデバイス（例えばスタイラス）および/またはキーボード（例えば、物理キーボードまたはタッチスクリーンの一部として表示された仮想キーボード）を備えてもよい。例えば、入力装置１５０６は、タッチスクリーンに接続されるタッチスクリーンコントローラを含んでもよい。タッチスクリーンおよびタッチスクリーンコントローラは、例えば複数種のタッチ感度技術（容量、抵抗、赤外および表面音波の技術を含むが、それらに限定されない）のいずれか、およびタッチスクリーンの１つまたは複数の接触点を決定するための他の近接センサアレイまたは他の素子を用いてそのタッチ点および移動または断続を検出できる。
【００９７】
Ｉ/Ｏ装置１５０７は音声装置を備えてもよい。音声装置は、スピーカおよび/またはマイクロホンを含んでもよく、それにより音声認識、音声コピー、デジタル記録および/または電話機能のような音声サポートの機能を促進する。他のＩ/Ｏ装置１５０７は、汎用シリアルバス（ＵＳＢ）ポート、パラレルポート、シリアルポート、印刷機、ネットワークインターフェース、バスブリッジ（例えば、ＰＣＩ−ＰＣＩブリッジ）、センサ（例えば、加速度計、ジャイロスコープ、磁力計、光センサ、コンパス、近接センサ等のような動きセンサ）またはそれらの組合せをさらに備えてもよい。装置１５０７は、結像処理サブシステム（例えば、カメラ）をさらに備えてもよく、前記結像処理サブシステムは、カメラ機能（例えば、写真およびビデオ断片の記録）を促進するための電荷カップリング装置（ＣＣＤ）または相補型金属酸化物半導体（ＣＭＯＳ）光学センサのような光学センサを備えてもよい。あるセンサは、センサハブ（図示せず）によって相互接続部材１５１０に接続されてもよく、キーボードまたは熱センサのような他の装置は、組み込みコントローラ（図示せず）により制御されてもよく、これはシステム１５００の特定配置または設計により決められる。
【００９８】
データ、アプリケーション、１つまたは複数のオペレーティングシステム等のような情報の永久記憶を提供するために、大容量記憶装置（図示せず）は、プロセッサ１５０１に接続されてもよい。様々な実施形態において、薄型化と軽量化のシステム設計を実現し且つシステムの応答能力を向上させるために、このような大容量記憶装置は、ソリッドステート装置（ＳＳＤ）によって実現できる。なお、他の実施形態において、大容量記憶装置は、主にハードディスクドライブ（ＨＤＤ）で実現されてもよく、少量のＳＳＤ記憶量は、ＳＳＤキャッシュとして停電イベント期間にコンテキスト状態および他のこのような情報の不揮発性記憶を実現し、それによりシステム動作が再開する時に通電を速く実現できる。さらに、フラッシュデバイスは、例えばシリアルペリフェラルインターフェース（ＳＰＩ）によってプロセッサ１５０１に接続されてもよい。このようなフラッシュデバイスは、システムソフトウェアの不揮発性記憶に用いられてもよく、前記システムソフトウェアは、前記システムの基本入力/出力ソフトウェア（ＢＩＯＳ）および他のファームウェアを備える。
【００９９】
記憶装置１５０８は、任意の１種または複数種の本明細書に記載の方法または機能を体現する１つまたは複数の命令セットまたはソフトウェア（例えば、モジュール、ユニットおよび/またはロジック１５２８）が記憶されるコンピュータアクセス可能な記憶媒体１５０９（機械可読記憶媒体またはコンピュータ可読媒体とも呼ばれる）を備えてもよい。モジュール/ユニット/ロジック１５２８は、上記した検索エンジン、エンコーダ、対話ログ記録モジュール、画像選択モジュールのような上記構成要素のいずれかを示してもよい。モジュール/ユニット/ロジック１５２８は、さらにデータ処理システム１５００により実行される期間にメモリ１５０３内および/またはプロセッサ１５０１内に完全または少なくとも部分的に存在してもよく、ここで、メモリ１５０３およびプロセッサ１５０１も、機器アクセス可能な記憶媒体を構成する。モジュール/ユニット/ロジック１５２８は、さらにネットワークによってネットワークインターフェース装置１５０５を経由して送受信されてもよい。
【０１００】
コンピュータ可読記憶媒体１５０９は、以上に説明されたいくつかのソフトウェア機能を永続的に記憶してもよい。コンピュータ可読記憶媒体１５０９は、例示的な実施形態において単一の媒体として示されたが、用語「コンピュータ可読記憶媒体」は、前記１つまたは複数の命令セットが記憶される単一の媒体または複数の媒体（例えば、集中型または分散型データベース、および/または関連するキャッシュおよびサーバ）を備えることを理解すべきである。用語「コンピュータ可読記憶媒体」は、さらに命令セットを記憶またはコーディング可能な任意の媒体を備えることを理解すべきであり、前記命令セットは、機器により実行され且つ前記機器に本出願の任意の１種または複数種の方法を実行させる。従って、用語「コンピュータ可読記憶媒体」は、ソリッドステートメモリおよび光学媒体と磁気媒体または任意の他の非一時的機械可読媒体を備えるが、それらに限定されないことを理解すべきである。
【０１０１】
本明細書に記載のモジュール/ユニット/ロジック１５２８、構成要素および他の特徴は、ディスクリートハードウェアコンポーネントとして実現されてもよく、またはハードウェアコンポーネント（例えばＡＳＩＣＳ、ＦＰＧＡ、ＤＳＰまたは類似装置）の機能に統合されてもよい。さらに、モジュール/ユニット/ロジック１５２８は、ハードウェア装置内のファームウェアまたは機能回路として実現されてもよい。また、モジュール/ユニット/ロジック１５２８は、ハードウェア装置およびソフトウェアコンポーネントの任意の組合せで実現されてもよい。
【０１０２】
なお、システム１５００は、データ処理システムの各種の構成要素を有するように示されているが、任意の具体的な構造または構成要素の相互接続方式を限定するものではないことに注意すべき、それは、このような詳細が本出願の実施形態に密接な関係がないためである。また、より少ない構成要素またはより多くの構成要素を有するネットワークコンピュータ、ハンドヘルドコンピュータ、携帯電話、サーバおよび/または他のデータ処理システムは、本出願の実施形態と共に使用されてもよい。
【０１０３】
上記詳細な説明の一部は、コンピュータメモリにおけるデータビットに対する演算のアルゴリズムおよび記号表現で示される。これらのアルゴリズムの説明および表現は、データ処理分野における当業者によって使用される、それらの作業実質を所属分野の他の当業者に最も効果的に伝達する方法である。ここで、アルゴリズムは、通常、所望の結果につながる首尾一貫した操作列（sequence of operations）と考えられる。これらの操作とは、物理量に対して物理的操作を行う必要となるステップを指す。
【０１０４】
ただし、これらの全ておよび類似の用語は、いずれも適切な物理量に関連付けられ、且つただこれらの量に適用される適切なラベルであることに注意すべきである。特に断らない限り、本明細書の全体にわたって用語（例えば、添付している特許請求の範囲に説明された用語）による説明とは、コンピュータシステムまたは類似の電子計算装置の動作および処理であり、前記コンピュータシステムまたは電子計算装置は、コンピュータシステムのレジスタおよびメモリに物理（例えば、電子）量として示されるデータを取り扱い、且つ前記データをコンピュータシステムメモリまたはレジスタまたは他のこのような情報メモリ、送信装置または表示装置内において類似に物理量として示される他のデータに変換する。
【０１０５】
本発明の実施形態は、さらに本明細書における操作を実行するための装置に関する。このようなコンピュータプログラムは、非一時的コンピュータ可読媒体に記憶される。機械可読媒体は、機器（例えば、コンピュータ）可読な形態で情報を記憶する任意の機構を備える。例えば、機械可読（例えば、コンピュータ可読）媒体は、機械（例えば、コンピュータ）可読記憶媒体（例えば、読み出し専用メモリ（「ＲＯＭ」）、ランダムアクセスメモリ（「ＲＡＭ」）、磁気ディスク記憶媒体、光記憶媒体、フラッシュメモリメモリ）を備える。
【０１０６】
上記図面に示されるプロセスまたは方法は、ハードウェア（例えば、回路、専用ロジック等）、ソフトウェア（例えば、非一時的コンピュータ可読媒体に実施される）、または両方の組合せを含む処理ロジックにより実行されてもよい。前記プロセスまたは方法は、本明細書において特定の順序に応じて説明されたが、説明された操作の一部は、異なる順序に応じて実行されてもよい。また、いくつかの操作は、順番ではなく並行に実行されてもよい。
【０１０７】
本発明の実施形態は、いずれかの特定のプログラミング言語を参照して説明されていないが、複数種のプログラミング言語で本明細書に記載されている本発明の実施形態の教示を実現できることを理解すべきである。
【０１０８】
以上の明細書では、本発明の具体的な例示的な実施形態を参照してその実施形態を説明した。明らかなように、付いている特許請求の範囲に記載されている本発明のより広い趣旨および範囲を逸脱せずに、様々な変形が可能である。従って、限定的なものではなく例示的なものとして本明細書および図面を理解すべきである。
【図１】
0006518700.tif 000002
【図２】
0006518700.tif 000003
【図３】
0006518700.tif 000004
【図４Ａ】
0006518700.tif 000005
【図４Ｂ】
0006518700.tif 000006
【図５Ａ】
0006518700.tif 000007
【図５Ｂ】
0006518700.tif 000008
【図６】
0006518700.tif 000009
【図７Ａ】
0006518700.tif 000010
【図７Ｂ】
0006518700.tif 000011
【図７Ｃ】
0006518700.tif 000012
【図７Ｄ】
0006518700.tif 000013
【図８Ａ】
0006518700.tif 000014
【図８Ｂ】
0006518700.tif 000015
【図９】
0006518700.tif 000016
【図１０】
0006518700.tif 000017
【図１１】
0006518700.tif 000018