(57)【特許請求の範囲】
【請求項１】
ウェブページとのユーザー対話に基づいて広告を提示する方法をコンピューターに実行させるコンピューター実行可能命令が記憶されている１又は複数のコンピューター可読媒体であって、前記方法は、
ウェブページを提示する要求を受け取るステップであって、前記ウェブページは、ソースコードによって定義され、広告を提示する広告ユニットと称される１又は複数の領域を含む、ステップと、
前記ウェブページ内の１組のキーワードを識別するステップであって、前記キーワードはイベントトリガーと関連付けられており、ユーザーと識別されたキーワードとが前記イベントトリガーを介して対話するとアクションが生じ、前記キーワードは１又は複数の説明的な単語によって記述される、ステップと、
前記イベントトリガーと前記キーワードとを関連付けることにより前記ソースコードを動的に修正するステップであって、それによって前記イベントトリガーと前記キーワードとを関連付ける修正済みのソースコードを作成する、ステップと、
前記ウェブページをレンダリングするディスプレイデバイスに前記修正済みのソースコードを提供するステップと、
特定のイベントトリガーの発生の表示を受け取るステップであって、前記特定のイベントトリガーと特定の説明的な単語の収集とが関連付けられている、ステップと、
前記修正済みのソースコードに基づいて、前記特定のイベントトリガーと関連する前記特定の説明的な単語を決定するステップと、
リモートコンピューティングデバイスに前記特定の説明的な単語を伝えるステップであって、前記リモートコンピューティングデバイスは、前記特定の説明的な単語に基づいて広告データを返すように動作可能である、ステップと、
前記広告データを受け取るステップと、
前記１又は複数の識別された広告ユニットを、前記広告データを用いてリフレッシュするステップと、
を含み、
前記ソースコードを動的に修正する前記ステップは、前記ウェブページ内の前記キーワードと、前記キーワードと関連付けられた前記イベントトリガーと、前記イベントトリガーに伴って実行される前記アクションとを含んだ補足情報に従って、前記キーワードと前記イベントトリガーと前記アクションとが関連付けられるように前記ソースコードを動的に修正する、
コンピューター可読媒体。
【請求項２】
前記１組のキーワードを識別するステップは、
前記１組のキーワードと前記イベントトリガーと前記イベントトリガーに伴って実行されるアクションとの中の１又は複数を含みリモートコンピューティングデバイスに格納されている前記補足情報を参照するステップと、
前記ソースコードを解析して、前記ソースコード内に現在ある任意のキーワード、イベントトリガー又はアクションを識別するステップと、
の一方又は両方のステップによって前記識別をするステップを含む、請求項１記載のコンピューター可読媒体。
【請求項３】
前記補足情報は、
前記ウェブページのアドレスを受け取り、前記ウェブページを事前クロールすることによってユーザーの介在なしに前記１組のキーワードを自動的に識別するステップと、
前記１組のキーワードを構成する単語と前記イベントトリガーの表示と前記イベントトリガーに伴って実行される前記アクションの表示との中の１又は複数について表示をユーザーから受け取るステップと、
の中の一方又は両方のステップによって作成される、請求項２記載のコンピューター可読媒体。
【請求項４】
前記ソースコードを動的に修正するステップは、
マークアップ言語を用いて前記１組のキーワードにタグを付け、前記キーワードを指定するステップと、
前記マークアップ言語を用いて前記イベントトリガーを指定するステップと、
前記マークアップ言語を用いて前記アクションを指定するステップと、
の中の１又は複数のステップを含む、請求項３記載のコンピューター可読媒体。
【請求項５】
前記１組のキーワードはそれぞれが前記ウェブページの任意の単語でありうる、請求項４記載のコンピューター可読媒体。
【請求項６】
イベントトリガーは定義されたアクションを含む、請求項５記載のコンピューター可読媒体。
【請求項７】
前記特定の説明的な単語を決定するステップは、
前記マークアップ言語による表示に基づいて前記説明的なキーワードを識別するステップと、
前記ウェブページ上の識別されたコントロールを参照して前記説明的なキーワードを識別するステップと、
前記リモートコンピューティングデバイス上のプログラムコードの実行の結果を受け取るステップと、
の中の１又は複数のステップによって達成される、請求項４記載のコンピューター可読媒体。
【請求項８】
前記ウェブページ上の前記コントロールは任意のＨＴＭＬ要素を含む、請求項７記載のコンピューター可読媒体。
【請求項９】
前記広告データは前記特定のキーワードに文脈的に関連する情報を含む、請求項１記載のコンピューター可読媒体。
【請求項１０】
前記広告データは、
前記特定のキーワードに文脈的に関連する情報を前記広告ユニット内に提示するステップと、
以前に隠されていた広告ユニットを表示するステップと、
以前は見えていた広告ユニットを隠すステップと、
の中の１又は複数を含む、請求項１に記載のコンピューター可読媒体。
【請求項１１】
前記リフレッシュするステップは、前記ウェブページの任意の現在のコンテンツを不明瞭にすることなく前記１又は複数の識別された広告ユニットをリフレッシュするステップを含む、請求項１記載のコンピューター可読媒体。
【請求項１２】
前記リフレッシュするステップは、前記ウェブページのレイアウトを乱すことなく前記１又は複数の識別された広告ユニットをリフレッシュするステップを含む、請求項１１記載のコンピューター可読媒体。
【請求項１３】
ウェブページとのユーザー対話に基づいて広告を提示する方法であって、
前記ウェブページを記述するプログラムコードはディスプレイデバイス上で提示される前に動的に修正されるべきであると決定するステップと、
前記ウェブページと関連する遠隔的に格納された補足情報を識別するステップであって、前記補足情報は、
前記ウェブページにおけるキーワードとなる単語のリストであって、前記キーワードは前記キーワードに関係する１又は複数の説明的な用語と関連付けられ、前記説明的な用語は前記ウェブページのレンダリングの後で生成される、単語のリストと、
前記ウェブページのオブジェクトと前記キーワードとに関連するトリガーイベントのリストであって、前記オブジェクトの中の１つ又は前記キーワードの中の１つが所定の態様で対話されるとアクションが続く、トリガーイベントのリストと、
前記トリガーイベントの中の１又は複数に伴って生じるアクションのリストと、
含む、ステップと、
前記補足情報に従って前記ウェブページの前記プログラムコードを動的に修正するステップと、
前記修正されたウェブページとのユーザー対話に応答して、特定のイベントトリガーの発生についての表示を受け取るステップと、
前記イベントトリガーの前記発生と関連する説明的な単語を収集するステップと、
前記説明的な単語に基づいて広告コンテンツを返すリモートコンピューティングデバイスに前記説明的な単語を伝えるステップと、
前記広告コンテンツを受け取るステップと、
前記ウェブページの初期コンテンツを不明瞭にすることなく、前記広告コンテンツに基づいて情報を提示するステップと、
を含む方法。
【請求項１４】
前記ウェブページの前記プログラムコードを動的に修正するステップは、前記ウェブページの初期ドキュメントオブジェクトモデル（ＤＯＭ）を動的に修正して前記ウェブページの修正済みバージョンを記述する修正済みのＤＯＭを生じさせ、結果的に修正済みのウェブページを生じさせるステップを含む、請求項１３に記載の方法。
【請求項１５】
修正済のＤＯＭは動的なハイパーテキストマークアップ言語（ＤＨＴＭＬ）を活用するスクリプトによって作成される、請求項１４に記載の方法。
【請求項１６】
特定のトリガーイベントの発生の表示を受け取るステップは、前記トリガーイベントと関連するスクリプトイベントハンドラーを呼び出すステップを含む、請求項１３に記載の方法。
【請求項１７】
前記スクリプトイベントハンドラーはＪａｖａＳｃｒｉｐｔイベントハンドラーである、請求項１６に記載の方法。
【請求項１８】
前記説明的な単語を収集するステップは、
前記オブジェクトの中の１つ又は複数を参照し、ユーザーによって提供された説明的な単語を含む静的又は動的に生成された説明的な単語を受け取るクライアントサイドスクリプトと、
前記説明的な用語を生成するサーバーサイドスクリプトと、
の一方又は両方から生成される前記説明的な単語を収集するステップを含む、請求項１３に記載の方法。
【請求項１９】
ウェブページとのユーザー対話に基づいて広告を提示するシステムであって、
１又は複数の説明的な単語を含む要求に少なくとも部分的に基づいて広告データを配信する広告配信コンポーネントと、
プロセッサーにおいて実行されるとプロセスを実行するダウンロード可能スクリプトを１又は複数のメモリーコンポーネントに格納するコンピューティングデバイスと、
を備えており、前記プロセスは、
前記スクリプトを参照してトリガーオブジェクトとイベントトリガーとアクションとを含んだ補足情報に従って、前記ウェブページを記述するソースコードを動的に修正するステップであって、
前記トリガーオブジェクトはユーザーが対話可能でオブジェクトトリガーイベントを引き起こすオブジェクトであり、
前記トリガーイベントはアクションを開始するイベントであり、
前記アクションは１又は複数の前記トリガーイベントに伴って実行される１又は複数のステップである、ステップと、
前記トリガーイベントの発生に伴って、前記広告配信コンポーネントに説明的な単語を伝えるステップと、
前記広告配信コンポーネントから広告コンテンツを受け取るステップと、
前記ウェブページのレイアウトを修正することなく前記広告コンテンツと一貫性を有する広告情報を提示するステップと、
を含む、システム。
【請求項２０】
前記修正するステップは、前記トリガーオブジェクトと前記イベントトリガーと前記アクションとを識別する、マークアップ言語によって定義された特定のタグを用いて前記ソースコードを修正するステップを含む、請求項１９に記載のシステム。
【発明の詳細な説明】
【発明の概要】
【０００１】
[0001]この概要は、下記の「発明を実施するための形態」においてさらに述べられる選択された概念を簡略化された形で述べるために提供されている。この概要は、特許請求された主題の主な特徴または本質的な特徴を識別するためのものでも、特許請求された主題の範囲を限定するのに使用するためのものでもない。より高いベルでは、本開示は、ウェブページとのユーザー対話に基づいて広告を提示するための方法およびシステムについて述べる。
【０００２】
[0002]簡潔には、本発明の一態様は、広告、または文脈的に関連する他の情報を動的にトリガーして、ウェブページ上の現在のコンテンツを不明瞭にすることなしに情報のリフレッシュをもたらすことができる広告トリガーフレームワークについて述べる。一部の実施形態では、ウェブページの初期ソースコードが、ユーザーがウェブページの様々なアイテムと対話する間、対話するアイテムに関連する説明的な用語に基づいて特定の広告ユニットが更新されるように、キーワード、トリガーイベントおよび／またはアクションを示すタグを含むように動的に修正される。
【０００３】
[0003]本発明の実施形態について、図面を参照して以下に詳細に述べられ、図面は、本開示の一部をなしており、参照により本明細書に組み込まれる。
【図面の簡単な説明】
【０００４】
【図１】[0004]本発明の一実施形態を実施するのに適した例示的な動作環境を示す図である。
【図２】[0005]本発明の一実施形態を実施するのに適した例示的なコンピューティングデバイスの特定の構成要素を示すブロック図である。
【図３】[0006]本発明の一実施形態による、位置させ（ｓｅａｔ）またはクロールされるべきウェブページのＵＲＬを入力するための例示的なユーザーインターフェースを示す図である。
【図４】[0007]本発明の一実施形態による、発行元がキーワードなどを識別するのに役立つ別の例示的なユーザーインターフェースを示す図である。
【図５】[0008]本発明の一実施形態で使用するのに適したマークアップ言語の変形体の例示的な構文を示す図である。
【図６】本発明の一実施形態で使用するのに適したマークアップ言語の変形体の例示的な構文を示す図である。
【図７】本発明の一実施形態で使用するのに適したマークアップ言語の変形体の例示的な構文を示す図である。
【図８】本発明の一実施形態で使用するのに適したマークアップ言語の変形体の例示的な構文を示す図である。
【図９】[0009]本発明の一実施形態を実施するための第１の方法を示す図である。
【図１０】[0010]本発明の一実施形態による、例示的な広告トリガー言語に関連する例示的なウェブページを示す図である。
【図１１】[0011]本発明の実施形態を実施するための２つの追加の方法を示す図である。
【図１２】本発明の実施形態を実施するための２つの追加の方法を示す図である。
【発明を実施するための形態】
【０００５】
[0012]図１を参照すると、本発明の一実施形態を実施するのに適した例示的な動作環境が示されており、全体が符号１１０で参照されている。動作環境１１０は、図２に関連してより詳細に概略的に述べられるコンピューティングデバイス１１２を含んでおり、図２については、コンピューティングデバイス１１２を全体的に概観するために簡潔に述べられる。図２に、クライアントコンピューティングデバイス１１２の概略ブロック図が示されている。コンピューティングデバイス１１２は、たとえばゲーミングコンソール、クライアントコンピューター、サーバーコンピューターなどのコンピューティングデバイス、ラップトップコンピューターおよびパームトップコンピューターなどのその変形体、また一部の実施形態ではＰＤＡおよびスマートフォンなどの装置を含めて、様々な形を取ることができる。図２に示されたように、バス２１０は、１つまたは複数のメモリーコンポーネント２１２を、１つまたは複数のプロセッサー２１４、様々な提示コンポーネント２１６、入出力ポート２１８、入出力コンポーネント２２０、および少なくとも１つの電源２２２に結合する。示されたデバイスのより低いレベルの態様を含む他のデバイスは、本発明を不明瞭にしないために示されていない。
【０００６】
[0013]メモリーコンポーネント２１２は、ハードドライブ、揮発性メモリー（ＲＡＭなど）、バッファーなどのものを含む。１つまたは複数のプロセッサー２１４は、コンピューティングデバイス１１２全体に渡ってデータ通信全体を制御する。例示的な提示コンポーネント２１６は、ビデオカード、ならびにモニターや他の提示デバイスを含む。入出力ポート２１８は、プリンター、デジタルカメラなどの周辺コンポーネントへの接続性を提供する。実際の入出力コンポーネントは、プリンターなどのようなものであってよい。電源２２２は、コンピューティングデバイス１１２を実行する電力を供給する。コンピューティングデバイスを構成するために図２に示されたコンポーネントすべてが存在する必要があるとは限らないが、本発明の一実施形態についての説明に関連して、例示目的のために示されている。
【０００７】
[0014]分かりやすくするために図２の様々なブロックが線を用いて示されているが、実際には、様々なコンポーネントを線で描くことはそれほど明確ではなく、たとえて言うと、線は、より正確には灰色で曖昧である。たとえば、ディスプレイデバイスなどの提示コンポーネントをＩ／Ｏコンポーネントであると見なすことがある。またプロセッサーは、メモリーを有する。これは当技術分野の性質であると認識しており、図２の図は、本発明の１つまたは複数の実施形態に関連して使用され得る例示的なコンピューティングデバイスを例示するものにすぎないということを繰り返し述べておく。
【０００８】
[0015]コンピューティングデバイス１１２は一般に、様々なコンピューター読取り可能媒体を含む。限定するためでなく、例を挙げると、コンピューター読取り可能媒体は、ランダムアクセスメモリー（ＲＡＭ：Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、読取り専用メモリー（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、電気的消去可能プログラマブル読取り専用メモリー（ＥＥＰＲＯＭ：Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、フラッシュメモリーまたは他のメモリー技術、ＣＤＲＯＭ、デジタル多用途ディスク（ＤＶＤ：ｄｉｇｉｔａｌ  ｖｅｒｓａｔｉｌｅ  ｄｉｓｋ）または他の光もしくはホログラフィック媒体、磁気カセット、磁気テープ、磁気ディスク記憶または他の磁気記憶デバイス、搬送波、あるいは所望の情報を符号化するために使用され、コンピューターデバイス１１２によってアクセスされ得る他の任意の媒体を備え得る。
【０００９】
[0016]図１に戻ると、コンピューティングデバイス１１２が、ウェブページ１１４を提示するように例示的に示されている。この実施形態では、ウェブページ１１４は、何らかの例示的なコンテンツ１１６、ならびに１組の広告ユニット１１８を含むように示されている。任意の数の広告ユニット１１８が、ウェブページ１１４内に含まれ得るが、例示するために４つを示す。例として下記で特定の広告ユニットに言及するので、例としてウェブページの上部に沿った３つの広告ユニット、ならびに符号１２０で示すウェブページ１１４の側部に沿った１つの広告ユニットを示す。広告ユニット１１８は、ウェブページ１１４上の広告コンテンツを提示するためのリザーバーである。用語「広告コンテンツ」を用いるが、その用語の範囲内には、単に広告以上のものを含むことを意図している。例として、一部の他の例示的な用語は、定義、ハイパーリンク、またはコンテンツ１１６またはその一部の様々なアイテムに関連し得る他の任意のタイプの情報を含み得る。冗長な言葉を減らす助けとするために、用語「広告コンテンツ」または単に「広告」を用いる。したがって、広告ユニット１１８は、広告を受け取るための任意のプレースホールダーであってよい。一部の状況では、プレースホールダーは、ウェブページ１１４上で既に見ることができ、他の状況では、それらは、何らかのイベントに基づいて見えるようになる。
【００１０】
[0017]発行元は、符号１２２によって参照される。発行元は、クライアントデバイス１１２によって要求されたウェブページを提供する任意のウェブコンテンツプロバイダーであってよい。したがって、発行元１２２を、コンテンツプロバイダー、ウェブページプロバイダーなどと、様々に呼ぶことがある。一部の実施形態では、発行元は、コンテンツ所有者である。発行元は、小さいウェブサイトまたは個人のブログを有する個人から、比較的により洗練されたウェブサイトを有する国際企業または組織に渡る、いずれかのエンティティーであってよい。発行元１２２は、クライアントデバイス１１２にＨＴＭＬ  １２４を提供し、このクライアントデバイス１１２は、ＨＴＭＬ  １２４を処理して、最終的にウェブページ１１４をレンダリングする。一実施形態では、ＨＴＭＬ  １２４は、コードスニペット１２６を含み、このコードスニペット１２６については、下記でより詳細に論じる。要約すると、スニペット１２６は、本発明の他の機能的な態様を提供するスクリプトまたは類似物をダウンロードする１つの例示的なやり方を提供する。
【００１１】
[0018]この点で、意図されないある程度の混乱を招く意味が生じる可能性がある。当業者なら異なる語句を用いて、異なるアイテムに言及し得ると認識している。したがって、特許出願の制約の下で努めて、概念を説明し、図にアイテムを示し、さらに特定の状況では特定の用語を用いるようにしているが、当業者がそうでないと認識する場合には、ある違いが存在することを必ずしも示唆するものではない。言葉は物事を意味するという公理、およびそれぞれ異なる単語が用いられるとき、それがそれぞれ異なる物事を意味するなど、こうした仮定には留意している。しかし、本明細書では、それが必ずしも当てはまらないことがある
[0019]第１の人が「ｃａｒ（車）」に言及するが、後には「ａｕｔｏｍｏｂｉｌｅ（自動車）」に言及するように、両方をよく理解する人は、それぞれ異なる意味が意図されているとは考えず、したがって、本明細書では、様々な用語を使用することがある。たとえば、「ＨＴＭＬ」に言及し、後には「ソースコード」に言及することがある。この専門分野では（ｖｅｒｎａｃｕｌａｒ  ａｒｔ）、一部の人々は、ウェブページと同義的にＨＴＭＬに言及し、他の人々、また同じ人々でさえ、ソースコードとＨＴＭＬの違いを明確にしない。文脈に応じて、ある用語は他の用語よりも容易に流動し得るが、市場での違いを必ずしも示唆するものでない。さらなる例として、用語「ドキュメントオブジェクトモデル」（ＤＯＭ：ｄｏｃｕｍｅｎｔ  ｏｂｊｅｃｔ  ｍｏｄｅｌ）は、ウェブページの表現を記述するためにしばしば使用される用語である。一部の技術者は、ソースコードをページのＤＯＭと等しく扱い、ＤＯＭは、ＨＴＭＬ、ＸＭＬおよび関連するフォーマットを表現するためのプラットフォームおよび言語独立型の標準オブジェクトモデルであると説明する。ウェブブラウザは、ＨＴＭＬ文書をレンダリングするためにＤＯＭを使用する必要はない。Ｊａｖａ（登録商標）Ｓｃｒｉｐｔのスクリプトは、ウェブページを動的に検査または修正するためにＤＯＭを活用し、説明されるように、これは、本発明の一実施形態で使用され得る１つの技術である。ドキュメントオブジェクトモデルは、Ｊａｖａ（登録商標）ＳｃｒｉｐｔがＨＴＭＬページおよびブラウザ状態を見るというやり方である。
【００１２】
[0020]一実施形態では、ＨＴＭＬ  １２４は、クライアントデバイス１１２上で受け取られ、ＤＯＭ  １２８によってメモリー内に表現される。ウェブページのドキュメントオブジェクトモデルは、スクリプト言語を使用して操作されてよい。たとえば、Ｊａｖａ（登録商標）Ｓｃｒｉｐｔが、ドキュメントオブジェクトモデルを動的に操作するために使用されてよい。すなわち、第三者は、適切なＤＯＭを操作することによってソースコードをリアルタイムに操作することができる。一実施形態では、ＤＯＭ  １２８は、ウェブページ１１４をコードで表したブラウザの表現を示す。下記により詳細に説明するように、ウェブページの初期のＤＯＭ  １２８は、修正済みのドキュメントオブジェクトモデル１３４を作成する１３２ために修正コンポーネント１３０によって修正されてよく、この修正済みのドキュメントオブジェクトモデル１３４は、クライアントデバイス１１２によって最終的にレンダリングされ、ウェブページ１１４として示されるものである。一部の実施形態では、修正コンポーネント１３０は、初期ドキュメントオブジェクトモデル１２８を、追加のプログラムコードで補って修正済のドキュメントオブジェクトモデル１３４を作成するように修正するスクリプトの形を取る。
【００１３】
[0021]一実施形態では、修正コンポーネント１３０は、サーバー１３８からダウンロードされるスクリプト１３６など、ダウンロードされたスクリプトの形を取る。それは。したがって、一部の実施形態では、スクリプト１３６および修正コンポーネント１３０は、同じものである。分かりやすくするために、それらにそれぞれ異なる符号で言及する。スクリプト１３６が提供する１つの役割は、クライアントサイドスクリプトの役割であり、このクライアントサイドスクリプトは、ウェブページのソースコードを解析して、キーワード、イベントトリガー、および／またはイベントトリガーのいずれかの発生に伴って実施されるべきアクションを識別し、イベントトリガーは、サーバー１３８または配信エンジン１４０（例示的な広告配信コンポーネント）によって受け取られた新たな広告コンテンツで広告ユニット１１８を最終的にリフレッシュするなど、実施されるべき何らかのアクションをトリガーする何らかの出来事である。図１では、トリガーを、符号１４２で参照する。
【００１４】
[0022]サーバー１３８は、図２に概略的に表されたものなどのコンピューティングデバイスを含む、任意のコンピューティングデバイスであってよい。一部の実施形態では、それは、ウェブページ１１４からキーワードを抽出するキーワード抽出サーバーの形を取る。一部の実施形態では、コンテンツ１１６は、コンテンツ全体１１６またはその一部に文脈的に関連するキーワードを識別するようにクロールされる。したがって、サーバー１３８は、特定のアクションを生じさせるトリガーイベント、ならびにそれらのアクションを格納することもできる。トリガーは、ホバリング、スクロール、クリック、フォーカス、ぼかし、キーボードイベント、オンロードイベントおよびタイマーなどのものを含むこともできる。
【００１５】
[0023]したがって、例示的なトリガーの非網羅的なリストは、Ｏｎａｂｏｒｔ（画像の読込みが中断される）、Ｏｎｂｌｕｒ（要素の焦点が失われる）、Ｏｎｃｈａｎｇｅ（フィールドのコンテンツが変化する）、Ｏｎｃｌｉｃｋ（マウスでオブジェクトをクリックする）、Ｏｎｄｂｌｃｌｉｃｋ（マウスでオブジェクトをダブルクリックする）、Ｏｎｅｒｒｏｒ（文書または画像の読込み時にエラーが生じる）、Ｏｎｆｏｃｕｓ（要素の焦点が合う）、Ｏｎｋｅｙｄｏｗｎ（キーボードキーが押下される）、Ｏｎｋｅｙｐｒｅｓｓ（キーボードキーが押下され、または押したままにされる）、Ｏｎｋｅｙｕｐ（キーボードキーが解放される）、Ｏｎｌｏａｄ（ページまたは画像の読込みが終了する）、Ｏｎｍｏｕｓｅｄｏｗｎ（マウスボタンが押下される）、Ｏｎｍｏｕｓｅｍｏｖｅ（マウスが移動される）、Ｏｎｍｏｕｓｅｏｕｔ（マウスが要素から移動される）、Ｏｎｍｏｕｓｅｏｖｅｒ（マウスが要素上に移動される）、Ｏｎｍｏｕｓｅｕｐ（マウスボタンが解放される）、Ｏｎｒｅｓｅｔ（リセットボタンがクリックされる）、Ｏｎｒｅｓｉｚｅ（ウィンドウまたはフレームがサイズ変更される）、Ｏｎｓｅｌｅｃｔ、（テキストなどが選択される）、Ｏｎｓｕｂｍｉｔ（送信（ｓｕｂｍｉｔ）タイプボタンがクリックされる）、Ｏｎｕｎｌｏａｄ（ユーザーがページから出る）など、定義されたアクションを含む。
【００１６】
[0024]例として、ユーザーが何らかの単語または語句の上でホバーする場合、それはトリガーになり得る。ウェブページ１１４をスクロールすると、トリガーになり得る。何らかのコントロールまたは画像などをクリックすると、トリガーになり得る。テキストボックスを「焦点」に合わせると、トリガーになり得る。テキストボックスを「ぼかした」ままにすると、トリガーになり得る。何らかの種類のキーストロークイベントが、トリガーになり得る。ウェブページの読込みが行われるとき、その読込みは、トリガーの働きをし得る。ある量の時間の経過も同様に、トリガーの働きをし得る。簡潔に言及されたように、アクションは、トリガーイベントに伴って生じるいずれかの出来事であり得る。例示的なアクションは、１つまたは複数のキーワードに関連する１組の説明的な用語を最初に収集し、または決定することであってよい。最終的なアクションは、広告ユニット１１８内で広告コンテンツをリフレッシュすることであってよい。これらのステップについて、下記により詳細に述べる。
【００１７】
[0025]やはり簡潔に言及されたように、本発明の一態様は、ウェブページ上に広告コンテンツを、そのウェブページとのユーザーの対話に基づいて提示できることである。広告は、ウェブページとのユーザーの対話に基づいて動的にトリガーされてよい。従来、ユーザーに広告を動的に提示するやり方のうちの１つは、２重下線が引かれた用語など、強調された用語の上にユーザーがマウスを移動することを含んでいた。これによって、周囲のコンテンツを不明瞭にするポップアップ広告がユーザーに提示されることになる。これらの広告は、現在のウェブページを見る妨げとなり、一般にユーザーにとっては、せいぜい厄介で扱いにくいという事実を含めて、様々な理由により望ましくない。しかし、本発明の一実施形態は、コンテンツ１１６などのコンテンツを不明瞭にしないが、ユーザーに関連する広告を依然として含むように、関連性のある広告コンテンツがユーザーまたはその他にウェブページ１１４によって提示されることを可能にする。
【００１８】
[0026]高いレベルでは、また一実施形態に関して、スクリプト１３６は、キーワード、トリガー、および／またはアクションを定義するウェブページ内に既に存在し得る情報を探し求めて、ウェブページを定義するソースコードの内容を解析するために使用されてよい。他の実施形態では、ウェブページに関連する情報を求める要求１４４が、サーバー１３８に向けられてよい。これは、既にウェブページが事前クロールされており、あるいはユーザーがそれぞれ異なるキーワードおよびトリガーなどを識別しており、したがって、キーワード、トリガーおよび／またはアクションに関する情報がサーバー１３８に格納されているシナリオに当てはまる。
【００１９】
[0027]説明するように、ＨＴＭＬ  １２４をキーワードなどを示すように修正できる様々なやり方がある。簡潔には、１つのやり方は、ウェブページのコンテンツを自動的にクロールするプログラムを使用し、キーワードを決定し、１組のトリガーならびにそれらのトリガーに伴って実施されるアクションを決定することである。第２のやり方は、第１のやり方を含むこともでき、あるいは独立して、ユーザーがＨＴＭＬ  １２４内でキーワードを示し、カスタム図ならびにアクションを選択することに依存することもできる。例示的な第３のやり方では、キーワードなどのアイテムが、ユーザーによるウェブサイトとの対話に基づいてリアルタイムに動的に生成または識別され得る。たとえば、ユーザーは、何らかのテキストボックス内にテキストをタイプしてよく、そのテキスト自体が、キーワードの働きをする。
【００２０】
[0028]したがって、一部の実施形態では、補足情報と呼ばれ得る情報１４６が、クライアントデバイス１１２に返される。補足情報１４６は、キーワード、トリガー、および／またはそれらのトリガーに関連するアクションを含んでよい。
【００２１】
[0029]本発明のそれぞれ異なる実施形態のための多くの使用法（ｕｓｅ）のうちの１つの使用法では、ウェブページ１１４などのウェブページのキーワードに基づいて広告コンテンツを更新することを含む。キーワードは、たとえばコンテンツ１１６内に現れ得るいずれかの単語または単語群、あるいは語句であってよい。例示的なキーワードは、「ｃａｒ」であり得る。一部の状況では、キーワードは、曖昧なものであってもよいし、キーワードについて説明し、または新しい広告を求める要求１４８によって配信エンジン１４０に送られるべきキーワードに関連する特定の説明的な用語を発行元１２２が望む性質のものであってもよい。
【００２２】
[0030]例として、キーワードが「ｃａｒ」であり得るとしても、アップロードされる説明的な用語は、「ａｃｍｅ  ｍｏｄｅｌ  ４」または「ｈｙｂｒｉｄ  ｖｅｈｉｃｌｅ（ハイブリッド車）」であってよい。ウェブページ１１４のキーワードに関連するこれらの説明的な用語は、どの広告データ１５０がクライアントデバイス１１２に返され、広告ユニット１１８をリフレッシュするために最終的に使用されるか決定するために少なくとも一部使用され得る。これらの説明的な用語の決定は、様々なやり方で生じ得る。一部の実施形態では、説明的な用語は、ＨＴＭＬ  １２４または修正済みのＤＯＭ  １３４内に存在する。他の実施形態では、説明的な用語は、ユーザーの対話にでも基づいて、リアルタイムに作成されかつ／または決定される。
【００２３】
[0031]たとえば、ユーザーは、「ｉｎｔｅｒｅｓｔｓ（興味）」テキストボックスに「ｓｐｏｒｔｓ（スポーツ）」をタイプすることがある。次いで、何らかのトリガーが生じると、そのテキストボックスを参照することができ、「ｓｐｏｒｔｓ」が、サーバー１３８および／または配信エンジン１４０にアップロードされる説明的な用語（ならびにキーワード）となる。広告の要求１４８が配信エンジン１４０に向けられることを示しているが、一部の実施形態では、サーバー１３８および配信エンジン１４０は実際には同じデバイスであってよいことに留意されたく、それを破線１５２で示す。他の実施形態では、配信エンジン１４０は、サーバー１３８とは異なるデバイスである。こうした場合では、配信エンジン１４０は、任意のコンピューティングデバイスであってよく、図２で概略的に表されるコンピューティングデバイスの形を取ることもできる。
【００２４】
[0032]上記で、キーワード、トリガーイベントおよび／またはアクションは、修正済のＤＯＭ  １３４内で識別され得ると説明した。これを遂行する１つのやり方は、マークアップ言語の使用によるものである。「ユーザーがＸのテキストボックスを離れるとき、Ｙフィールドにタイプされた単語をアップロードする」のようなことを指定するために、マークアップ言語の変形体が使用されてよい。一部の技術者は、この言語を広告トリガー言語と呼ぶことがあり、この広告トリガー言語は、ＨＴＭＬの変形体などのマークアップ言語の形を取ることができる。一部の実施形態では、この言語は、キーワード、記述子、トリガー、および所与のトリガーが生じるときに何を行うべきかを指定するために使用されてよい。「記述子」は、キーワードに関連しており、広告ユニット１１８をリフレッシュするために使用される関連する広告コンテンツの識別に使用するためにアップロードされる説明的な用語を記述するのに用いる別の用語である。図５から図８に、このマークアップ言語の例示的な構文のいくつかの例を示す。
【００２５】
[0033]高レベルの様々な概念について述べたが、次に、いくつかのより低いレベルの態様、ならびに本発明の様々な実施形態に関連するさらなる例を提供する。本発明の異なる実施形態が実施され得る多くの異なるやり方がある。本発明が実施され得るいくつかの例示的な状況およびやり方について述べるが、選択される異なるアイテムおよび述べられる技術は、本発明を限定するものではなく、本発明の多くの異なる実施形態を実施する様々な異なるやり方を明らかにするものと解釈されるべきである。
【００２６】
[0034]一例として、ＨＴＭＬ  １２４に広告トリガー言語が存在しない一例についてまず述べる。一部の実施形態では、ある時点で、ＨＴＭＬ  １２４内にスニペット１２６が含まれていないことがある。こうした状況では、スニペット１２６は、ＨＴＭＬ  １２４に手動で追加されもよいし、あるいはそれは、ＨＴＭＬ  １２４に手動でまたは疑似手動で（ｐｓｕｄｏ−ｍａｎｕａｌｌｙ）追加されてもよい。一般に少量のプログラムコードの形を取るスニペット１２６の役割の１つは、広告１１８内に提示された広告コンテンツのリフレッシュを動的にトリガーする能力をウェブページ１１４に備え、またはそれでウェブページ１１４をイネーブルするプロセスを開始または実施することである。
【００２７】
[0035]一実施形態では、ユーザーが、スニペット１２６を含まないウェブページにスニペット１２６を追加した場合、図３に例示的に示されており、全体が符号３１０で参照されるように、ユーザーインターフェースがユーザーに提示されてよい。ユーザーは、テキストボックス３１４にＵＲＬ  ３１２を入力することができる。これは、指定されたウェブページからキーワードを自動的に生成するのに使用されることも可能である。これを行うために、ユーザーは、自動的に決定されたキーワード、トリガーおよび／またはアクションを指定するマークアップ言語を自動的に生成するためのボタン３１６をクリックする。このように、キーワードが自動的に識別され、説明的な用語が自動的に生成され得る。デフォルトのトリガーは、自動的に定義されてもよいし、手動で定義されてもよい（それについては以下で論じる）。上記で言及したものなどのデフォルトアクションもまた、ＨＴＭＬ  １２４をクロールするクローラーによって自動的に定義されてよい。何らかのトリガーが生じると、関連性のある説明的な用語はサーバー１３８または配信エンジン１４０に送られ、このサーバー１３８または配信エンジン１４０は、キーワードを使用して、広告ユニット１１８のリフレッシュのために使用される広告データを送る（ｓｅｎｄ  ｄｏｗｎ）。
【００２８】
[0036]自動クロールが望まれない場合（発行元が望まない、ウェブページへのアクセスが制限され得るなど）、キーワード、トリガーおよび／またはイベントをより具体的に定義するためのいずれかの制御レベルが実施され得ることを上記に言及した。例として、図４のユーザーインターフェースなどのユーザーインターフェースが、どの単語がキーワードになるか、キーワード修正のための記述子用語を提供する記述子がどれであるか、どれがトリガーイベントのそれぞれ異なるトリガーおよびアクションであるかに対してさらに制御することを望む発行元に提示され得る。
【００２９】
[0037]例としてまた図４を参照して、「ｃａｒ」４１０が、何らかのウェブページ上の、発行元によって定義されたキーワードであることを簡単に説明する。したがって、このウェブページがレンダリングされるときはいつでも、現れるすべての「ｃａｒ」が、キーワードとしてタグ付けされる。発行元１２２は、トリガーイベントに伴う広告の要求に関連して特定の説明的な用語がアップロードされることを望む場合、たとえばテキストボックス４１２を使用してこれを指定することができる。例示的な説明的な用語は、符号４１４で参照された「ｍｏｄｅｌ  Ｔ」であり得る。２つの例示的なイベントが、定義されるものとして示されている。それらはｈｏｖｅｒ（ホバー）と「ｏｎ  ｃｌｉｃｋ（オンクリック）」とを含む。この指定は、いずれかの「ｃａｒ」の出現がホバーされ、またはクリックされるときはいつでも、用語「ｍｏｄｅｌ  Ｔ」が配信エンジン１４０にアップロードされるべきであることを意味する。このアクションは、符号４１８で指定され、それは、「ｓｅｎｄ  ｄｅｓｃｒｉｐｔｏｒｓ  ａｎｄ  ｔｅｘｔ（記述子およびテキストを送る）」と述べている。その「ａｎｄ  ｔｅｘｔ（およびテキスト）」指定は、記述子「ｍｏｄｅｌ  Ｔ」４１４に加えて「ｃａｒ」もアップロードされる一実施形態を示している。
【００３０】
[0038]一部の実施形態では、追加の情報も同様に、配信エンジン１４０に提供されてよい。ボックス４２０内には「ｍａｇａｇｉｎｅｓ  ｆｏｒ  ａｎｔｉｑｕｅｓ（アンティーク雑誌）」４２２が示されており、それは、配信エンジン１４０に、アンティーク雑誌に関する広告を送るようにとのさらなる命令を提供する。この場合もやはり、明らかにこれは、この例示的な例が広告の嗜好を含むときに送られ得る情報の一例にすぎない。図４は、上記で疑似手動のやり方と呼ばれたものの少なくとも１つの態様を示しており、このやり方では、発行元は、キーワードおよび説明的な用語などのものを指定することができる。図４の例は、入力されたコンテンツを受け取り、そのデータを使用して、上記で言及したマークアップ言語によってソースコードのそれぞれ異なる部分にタグを付けるユーザーインターフェースを提供する。
【００３１】
[0039]第１の図について続けると、クライアントデバイス１１２上で、ウェブページが要求される。ウェブページが処理されている間、スニペット１２６が処理され、このスニペット１２６は、一実施形態では、スクリプト１３６が存在しない場合にクライアントデバイス１１２へのスクリプト１３６のダウンロードを開始する。他の実施形態では、それはスクリプト１３６の開始をトリガーし、このスクリプト１３６は、受信されたＨＴＭＬ  １２４の初期ドキュメントオブジェクトモデル１２８に作用して、修正済みのドキュメントオブジェクトモデル１３４をもたらす。すなわち、ウェブページのドキュメントオブジェクトモデル１２８は、ＨＴＭＬ  １２４、および／またはサーバー１３８に格納された情報１４６内で広告情報に従って修正される。この場合もやはり、上記で言及したように、ウェブページに関連する補足情報がサーバー１３８に格納されるということがある。この情報１４６は、受け取られ、修正済みのＤＯＭ  １３４を作成するために使用されてよい。一実施形態では、この修正１３２は、動的マークアップ言語と協力して働くスクリプト言語によって遂行される。たとえば、一実施形態では、動的ＨＴＭＬ（ＤＨＴＭＬ：ｄｙｎａｍｉｃ  ＨＴＭＬ）およびＪａｖａ（登録商標）Ｓｃｒｉｐｔが、初期ＤＯＭ  １２８を修正して修正済みのＤＯＭ  １３４を作成するために活用され、この修正済のＤＯＭ  １３４は、この時点で、キーワード、トリガー、および／またはトリガーの発生に関連して実施されるアクションを識別するマークアップ言語を含む。
【００３２】
[0040]この例についてさらに続けると、ウェブページ１１４は、クライアントデバイス１１２のディスプレイデバイス上でレンダリングされ、提示されている。この時点でクライアントデバイス１１２は、何らかのトリガーイベント１４２の発生を待つ。一実施形態では、スクリプト１３６は、トリガーイベント１４２の発生を監視し、それは、任意の数のトリガーイベントであってよい。トリガーイベントの発生時、関連性のあるキーワードに関連する説明的な用語が識別され、広告の要求１４８が、配信エンジン１４０へ送られ、この配信エンジン１４０は、広告ユニット１１８内に提示された情報をリフレッシュするために使用されるべき広告データ１５０を返す。たとえば、広告ユニットは、トリガーイベント１４２発生の前に初期広告を有していることがあるが、トリガーイベント１４２に伴って、広告ユニット１２０に提示された情報は、広告データ１５０を反映するように更新される。
【００３３】
[0041]次に、本発明の例示的な一実施形態の第２の説明を提供するが、この説明では、ＨＴＭＬ  １２４内にスニペット１２６が存在し、広告トリガー言語（または類似のマークアップ言語）が存在し、確認可能である。こうしたシナリオでは、（修正コンポーネント１３０であってよい）スクリプト１３６は、ウェブページを構成するソースコード内で特定のマークアップ言語を解析し、ＤＯＭイベント、他のイベント、タグイベントおよび他のすべてのイベントを提供し、トリガーイベント１４２の発生時にサーバー１３８を呼び出す、これらのイベントへのハンドルを挿入する。これが行われる１つのやり方は、ブラウザがＨＴＭＬ  １２４をレンダリングし始めるとき、それがスニペット１２６に遭遇し、このスニペット１２６がクライアントマシン１１２上のスクリプト１３６のダウンロードおよび／または実行を開始するということである。
【００３４】
[0042]スクリプトは、事前に定義されたタグを捜し求めてＨＴＭＬを解析するために実行され、このタグは、広告ユニット１１８内のコンテンツのリフレッシュを促すことに関連して示されることが望まれるキーワード、イベントトリガー、アクション、または他の任意のアイテムを定義する。一部の実施形態では、フラグが設定される場合には、これがスクリプト１３６に、ＨＴＭＬ  １２４内に現在ある広告トリガー言語を使用するよう示すように、発行元１２２によって活用され得るフラグが設定される。フラグが異なる状態に設定される場合は、ＨＴＭＬ  １２４内に存在するどんな広告トリガー言語も、サーバー１３８に格納される情報１４６で補足されるべきである。
【００３５】
[0043]したがって、一部の実施形態では、ＨＴＭＬ  １２４内に広告トリガー言語が存在せず、他の実施形態では、排他的に使用されるＨＴＭＬ  １２４内に広告トリガー言語が存在しており、他の実施形態では、ＨＴＭＬ  １２４内の広告トリガー言語を使用して、ＨＴＭＬ  １２４内のキーワード、トリガーなどを識別し、それらのトリガーおよびキーワードが、サーバー１３８に格納されたキーワードおよびトリガーで補足されるという組合せが存在する。キーワード、トリガー、アクション、広告嗜好などのそれぞれを必ずしもリストするとは限らないが、冗長な言葉を減らす助けとするためにそのようにし、リストされない補足情報の一部を除外しようとする意識的な試みを示すものではないということを述べておく。
【００３６】
[0044]関連性のあるキーワード、イベントトリガーおよびアクションを識別して、修正コンポーネント１３０は、初期ＤＯＭ  １２８を修正して、修正済のＤＯＭ  １３４を作成し、この修正済のＤＯＭ  １３４は、一実施形態では、コンピューティングデバイス１１２上で実行されるブラウザによってレンダリングされる。これによって、提示コンポーネント２１６上でウェブページ１１４が提示されることになる。様々なトリガーは、対応する様々なキーワードまたは他のオブジェクト（たとえばテキストボックス、ラジオボタン、ドロップダウンリスト、画像などのアイテム、リンクなど、それらすべてがトリガーオブジェクトであり得る）に関連付けられる。イベントハンドラーは、一部の実施形態では、様々なトリガーに関連付けられる。一実施形態では、スクリプト１３６は、トリガーイベントをリッスンする。それがトリガー１４２などのトリガーイベントの表示を受け取るとき、これによって、同じまたは異なるスクリプトの実行が生じる。解析されたデータは、サーバー１３８にアップロードされるべき同様のキーワードに関連する適切な説明的な用語を識別するために検査される。一般に、説明的な用語は、サーバー１３８または配信エンジン１４０にアップロードされる。したがって、新しい広告コンテンツの要求１４８は、たとえば配信エンジン１４０に送られる。この要求１４８は、キーワードに関連する説明的な用語を含む。関連性のある広告データ１５０は、クライアントデバイス１１２に送られ、このクライアントデバイス１１２は、データを使用して、広告ユニット１１８をリフレッシュする。
【００３７】
[0045]上記に言及されたように、ウェブページのソースコード内でキーワードなどを指定するために、マークアップ言語が使用されてよい。本発明の一実施形態による、マークアップ言語の変形体に関する追加の詳細について次に述べる。最初に図５に移ると、ウェブページソースコードの抜粋が示されており、全体が符号５００で参照されている。前置きとして、当業者は、コード５００の様々な部分に様々なやり方で参照し得るということを述べておく。
【００３８】
[0046]この場合もやはり、コードの一部の特定の態様に言及するためにいくつかの名前を用い得るが、用語を独断的に定義するものではなく、単語を図面に対応付けるためにそうしている。たとえば、一部の技術者は、全体部分５１０をタグと呼ぶことがある。他の技術者は、部分５１４が名前空間であり、５１６が要素である、符号５１２で指定されたものをタグと呼ぶことがある。示された例示的な例では、部分５１８「ｍｅｓｏｔｈｅｌｉｏｍａ（中皮腫）」はキーワードである。ウェブページは、タグ５１２を解釈せず、または解釈できなかった場合、「ｍｅｓｏｔｈｅｌｉｏｍａ」を単に単語としてレンダリングする。示されるように、コード５００は、名前空間５１４「ＡＴＲＬ」を含む。これは、「広告トリガー言語」と呼んでいるものの例示的な略語であり、キーワード、トリガーイベントおよびアクションなど、様々な広告関連アイテムを識別するためにマークアップ言語を使用するものである。確かに特定のタグ「ＡＴＲＬ」を使用する必要はないが、その用語を使用したときにキーワードを指定する目的を有するタグと識別できるどんなタグもが、その代わりに使用され得る。
【００３９】
[0047]部分５１４は、マークアップ言語または等価物のこの変形体が存在することを示す。要素５１６は「ｋｅｙ  ｗｏｒｄ（キーワード）」である。したがって、「ｋｅｙ  ｗｏｒｄ」５１６は、「ｍｅｓｏｔｈｅｌｉｏｍａ」がキーワードであることを示す要素である。コード部分５１０は、トリガーイベントを特に識別しない。こうした場合、キーワードに関するこれらのデフォルトのトリガーイベントのうちの１つが発生することによって何らかのアクションが実施されるようにプログラムコードに関連付けられるデフォルトのトリガーイベントがあってよい。図５の目的は、たとえば、ウェブページを定義するソースコードの本文内にキーワードを指定するやり方についての例示的な構文の１つの例示的な例を提供することである。
【００４０】
[0048]次に図６に移ると、別のコードセグメント６００が、キーワード識別の別の変形体、この場合には、１つまたは複数のトリガーイベントに伴って生じるアクションを示している。この場合もやはり、例示的な開始タグ６１０は、終了タグ６１４によって閉じられる（ｂｏｕｎｄ）コード部分６１２を定義する。コード部分６１２は、要素識別子６１６「ｔｅｘｔ（テキスト）」、ならびにこの場合には「ｏｎｂｌｕｒ」であるトリガーイベント６１８を含む。この例は、用語「ｔｅｘｔ」によって識別された何らかの要素が、何らかのアクションにどのように関連付けられるかの一例を提供しており、この場合に、この何らかのアクションは、ｏｎ−ｂｌｕｒイベント、すなわち、たとえばテキストボックスからのタブ移動に関連するイベントである。２つのアクションが、トリガーイベント６１８に関連するものとして示されている。リフレッシュアクションは、広告グループ識別子６２０、ならびに１組のキーワード６２２を示す。
【００４１】
[0049]これの読取り方は、「テキスト」要素がタブ移動されるとき、キーワード「ｃａｒ」および「ＢＭＷ」を使用して、「ｔｏｐａｄ」と識別された広告ユニットをリフレッシュすることである。別のアクションも、同様に含まれる。この第２のアクションは、「ｔｏｐａｄ」６２６にも関連する表示アクション６２４を含む。この第２のアクションによって、広告ユニット「ｔｏｐａｄ」は、「テキスト」要素に関連するぼかしイベントに伴って見えるようになり得る。したがって、この例では、コンテンツ所有者は、キーワード「ｃａｒ」および「ＢＭＷ」を用いて広告リフレッシュアクションを指定するためにマークアップ言語を使用する。これは、ユーザーがページ上の特定のテキストボックスにいずれかのテキストをタイプするときに生じる。さらに、この例では、コンテンツ所有者は、配信エンジン１４０に渡されるキーワードをハードコーディングしている。広告をユーザーのアクションにより関連したものにするために、図６に示されたこの例の代替案として、スクリプト呼出しが組み込まれてよい。図７に、この一例を示す。
【００４２】
[0050]簡潔に言及されたように、図７は、キーワードをリアルタイムに決定するためのスクリプトの形を取るコード部分７１０を示している。したがって、コンテンツ所有者は、マークアップ言語を使用して、「ｔｅｘｔ」識別子７１４によって識別されたテキストボック内にユーザーによって入力されたテキストに基づく動的なキーワードを用いて広告リフレッシュアクション７１２を指定する。
【００４３】
[0051]キーワードを生成する別のやり方は、サーバー側のコードを活用することである。図８は、サーバー側権利または外部ファイル参照を容易にするためにＸＭＬ  ｉｓｌａｎｄまたは等価物をＨＴＭＬページに組み込む概念を示している。このコード８００は、関連性のある広告トリガー言語サーバーサイドの構築を容易にするために使用され得る。
【００４４】
[0052]次に図９に移ると、本発明の一実施形態を実施するための第１の例示的な方法が表されている。この第１の例示的な方法についてのより明確な説明を促すために様々な図を参照し、これらの図は、一般に各参照符号の第１の数字が、参照される符号が見られ得る図を識別するので、容易に見つかるはずである。言及されたように、ウェブページが事前クロールされ、かつ／またはユーザーがマークアップ言語によって補足情報を追加して、キーワードを指定し、トリガーを割り当て、アクションを示すことなどがある。ステップ９１２で、クライアントデバイス１１２は、発行元１２２のウェブページを要求する。必要ならば、ステップ９１４で、クライアントサイドスクリプト１３６がダウンロードされる。
【００４５】
[0053]言及されたように、スクリプト１３６は、本発明のそれぞれ異なる実施形態に従って様々な機能を提供することができる。それが実施し得る一部の例示的な機能は、ＨＴＭＬ  １２４内に存在する広告トリガー言語を解析することを含む。それが実施し得る他の機能は、ウェブページ１１４に関連しており、サーバー１３８に格納された所定のキーワード、トリガーおよびアクションを取得することを含む。これは、キーワード、トリガーおよびアクションなどの参照および補足情報を含む符号９１６によって表されている。この補足情報は、様々なやり方で提供され得ることを上記で説明した。例示的なやり方は、補足情報が存在しない場合にはウェブページのソースコードを動的に解析すること、サーバー１３８内に以前に格納された補足情報を取り出すこと、および／または広告トリガー言語さえも含み得るウェブページの現在のソースコードを、サーバー１３８から受け取られた補足情報１４６で更新すること、次いでさらに恐らく、補足されたページを解析することを含む。
【００４６】
[0054]ステップ９１８で、ウェブページのＤＯＭがまだ修正されていない場合、それは補足的情報と整合性を取って修正される。したがって、たとえば、ウェブページがその中に広告トリガー言語を最初に有していなかったが、次いで補足情報１４６を受け取った場合、その元のソースコードは、ウェブページの適切なコンテンツの適切なタグが追加され得るように修正される。
【００４７】
[0055]ステップ９２０で、所望のアクションでトリガーに応答する準備が行われる。一実施形態では、これは、イベントハンドラーをトリガーイベントに関連付けることを含む。マウスクリック、ホバリング、キーボードクリック、タイマー終了、スクロールアクション、キーストロークなど、いくつかの例示的なトリガーイベントに上記で言及している。イベントハンドラーは、それらのイベントのうちの１つが起こるとき、イベントハンドラーが所望のアクションを実施するように構成されてよい。
【００４８】
[0056]トリガーイベントが生じる場合、符号９２２で、そのトリガーイベント発生の表示が指定される。ステップ９２４で、トリガーに関連する指定されたアクションが生じる。この例示的な例では、アクションは、適切な記述子（説明的な用語）に基づいて、指定された広告をリフレッシュするように求める要求をサーバー１３８（または配信エンジン１４０）に送信することを含む。一実施形態では、このステップに関連して、解析されたデータが検査され、またはインラインスクリプトが処理される。
【００４９】
[0057]ステップ９２６で、新しい広告データ１５０が受け取られ、ステップ９２８で、指定されたアクションが実施される。例示的なアクションは、リフレッシュ、表示などのものを含む。したがって、広告ユニット１１８がそのコンテンツをリフレッシュさせることであり得る。広告ユニット１１８のうちの１つを見えるように、さらには見えないようにすることであり得る。
【００５０】
[0058]本発明の一実施形態を実施するための２つのより例示的な方法について、第１の方法は図１１を参照して、第２の方法は図１２を参照して述べる。それぞれが図１０への参照を含み、図１０は、第１の広告ユニット１０１６ならびに第２の広告ユニット１０１８を含むウェブページ１０１４の例示的なスクリーンショット１０１２を示している。第１の広告ユニット１０１６は、「ｔｏｐａｄ」と呼ばれる。さらに、第３の広告ユニット１０２０は、識別子「ｓｉｄｅａｄ」よって識別される。例示的なキーワード「ｃａｒ」は、参照符号１０２２によって示される。テキストボックス１０２４は、識別子「ｔｅｘｔ」に関連する。キーワード１０２２およびテキストボックス１０２４は、プログラムコード１０２６の例示的なセグメントに関連しており、このプログラムコード１０２６は、特に挙げると、「ｏｎｂｌｕｒ」イベント１０２８に関連する命令を含む。これは、ユーザーがテキストボックス１０２４からのタブ移動するとき、この場合には「ｍｏｄｅｌ  Ｔ」であるテキストボックス１０２４内のキーワードに従って、ｔｏｐａｄ  １０１６がリフレッシュ１０３０されるべきことを意味し得る。キーワードの決定は、コード部分１０３２から流れる。別のアクションは、識別子「ｓｉｄｅａｄ」（側部の広告）に関連する広告ユニット１０２０を表示すること１０３４を示す。コード１０２６内に示された別の例示的なトリガーイベントは、ホバーアクション１０３６を含む。したがって、ユーザーがキーワード１０２２上でマウスをホバーするとき、ｓｉｄｅａｄ  １０２０は、行１０３８に従ってキーワード「ｃａｒ」および「ＢＭＷ」に従ってリフレッシュされるべきである。
【００５１】
[0059]図１１に移ると、ステップ１１１２で、ソースコードによって定義されるウェブページを示すように求める要求が受け取られる。ステップ１１１４で、ウェブページ内の１組のキーワードが識別される。キーワードは、トリガーによってユーザーが識別されたキーワードと対話する場合には何らかのアクションが生じるように、トリガーに関連付けられる。キーワードは、１つまたは複数の説明的な単語によって記述されてよい。例として、図１０の例示的なキーワードは、「ｃａｒ」１０２２を含む。ｃａｒに関連するキーワードは、「ｍｏｄｅｌ  Ｔ」１０２４、ならびに「ｃａｒ」および「ＢＭＷ」１０４０であり得る。
【００５２】
[0060]ステップ１１１６で、イベントトリガーが、キーワードに関連付けられる。当然明らかであるように、これは、別個のステップでなくてよい。イベントトリガーをキーワードに関連付ける１つのやり方は、コード部分１０２６に例示的に示されたものなど、マークアップ言語を使用することによる。コード部分１０２６は、本発明の実施形態に従ってイベントトリガーがどのようにキーワードに関連付けられるか示している。この例では、ｏｎｂｌｕｒ  １０２８およびｈｏｖｅｒ  １０３６などのトリガーは、「ｃａｒ」１０２２に関連付けられる。ステップ１１１６は、イベントトリガーをキーワードに関連付けることに言及しているが、トリガーイベントはもちろん、キーワードだけに加えて、ウェブページ上の他のコントロールに関連付けられてよい。たとえば、コード部分１０４２は、ｏｎｂｌｕｒイベント１０２８がキーワードではなくテキストボックス１０２４に関連付けられることを示している。テキストボックス１０２４は、キーワードを含むが、そうする必要はない。コントロールは、多くの形を取ることができる。コントロールは、いずれかのウェブ要素であってよい。例示的なウェブ要素は、アンカー、アプレット、テーブル、フォームコントロール、テキスト領域、テキストボックス、ウィンドウ、その他を含む。
【００５３】
[0061]ステップ１１１８で、ウェブページが、ディスプレイデバイス上に提示される。ステップ１１２０で、イベントトリガーが生じたことの表示が受け取られる。一実施形態では、イベントトリガーは、特定の説明的な用語を収集することに関連付けられる。図１０を参照すると、例示的な説明的用語が、「ｍｏｄｅｌ  Ｔ」、ならびに「ｃａｒ」および「ＢＭＷ」を含んでいる。ステップ１１２２で、修正済みのソースコードに基づいて、イベントトリガーに関連する適切な説明的な単語が決定される。それらが決定され得る様々なやり方については、既に簡潔に言及している。コード部分１０２６は、２つのやり方、コードワードが静的に定義される一方のやり方１０４０、ならびにそれらが動的に決定されるもう一方のやり方１０３２を示している。
【００５４】
[0062]ステップ１１２４で、説明的な単語はリモートコンピューティングデバイス（たとえばサーバー１３８や配信エンジン１４０）に伝えられ、このリモートコンピューティングデバイスは、説明的な単語に基づいて広告データを返すことができる。ステップ１１２６で、広告データ１５０が受け取られる。上述されたように、広告データは、関連性のある情報の任意のテキストであってよい。ステップ１１２８で、適切な広告ユニットが、広告データでリフレッシュされる。したがって、例として、図１０を参照すると、ｔｏｐａｄ  １０１６は、キーワード「ｍｏｄｅｌ  Ｔ」に関係する広告コンテンツでリフレッシュされる。Ｓｉｄｅａｄ  １０２０は、キーワード１０４０に基づく広告コンテンツで更新される。広告ユニット内のコンテンツのリフレッシュは、ウェブページのどんなコンテンツをも不明瞭にすることなしに行われ得る。さらに、広告ユニットのリフレッシュは、たとえば広告ユニットが見えるようになる、または見えなくなる状況を除いて、ウェブページのレイアウトさえ乱さずに行われ得る。しかし、それらの状況でも、テキストコンテンツは保存され得る。
【００５５】
[0063]次に図１２に移ると、本発明の一実施形態を実施するための別の例示的な方法が示されており、全体が符号１２１０によって参照されている。ステップ１２１２で、ウェブページのコードが、表示される前に動的に修正されると決定される。これが行われ得る１つのやり方は、ＨＴＭＬ  １２４内にあるコードの小さいスニペット１２６の存在を観察することである。この小さいコードスニペットの存在は、ウェブページのＨＴＭＬ  １２４が、それが提示コンポーネント上に最終的に表示される前に動的に修正されるべきことを示す。
【００５６】
[0064]ステップ１２１４で、遠隔に格納されたコンテンツが、ウェブページに関連する補足情報であると識別される。上記に言及されたように、例示的な補足情報は、キーワードに関係する説明的な用語に関連付けられるキーワードとなるウェブページ上の単語のリスト（ウェブページのレンダリングの後にどんな説明的な用語が生成され得るか）、オブジェクトが所定のやり方で対話される場合にはアクションが続くようにウェブページのオブジェクトに関連付けられたトリガーイベントのリスト、ならびに様々なトリガーイベントに伴って生じるアクションのリストなどのものを含む。例示的なオブジェクトは、ウェブページ、プレースホールダー、画像、マルチメディアコントロール、テキストボックスなどを含む。リストは多数である（ｌｅｇｉｏｎ）。
【００５７】
[0065]ステップ１２１６で、ウェブページのコードは、補足情報に従って動的に修正される。したがって、ウェブページを記述する初期ドキュメントオブジェクトモデル１２８が、一実施形態ではサーバー１３８に格納される補足情報に基づいて、修正済のドキュメントオブジェクトモデル１３４に変換される。
【００５８】
[0066]ステップ１２１８で、イベントトリガーの表示が受け取られる。一部の実施形態では、この表示は、スクリプト１３６によって受け取られてよく、このスクリプト１３６は、イベントハンドラーを活用して、イベントトリガーの発生から流れるプロセスを開始する。ステップ１２２０で、トリガーの発生に関連する説明的な単語が収集される。図１０を参照して、またこの開示全体を通して、キーワードがどのように収集され得るかについて説明する。言及されたように、それらは、広告トリガーコード内に静的に定義され得る。またそれらは、リアルタイムに決定されてよく、恐らくさらにユーザー入力に基づいてリアルタイムに決定されてよい。別のやり方では、それらは、サーバーサイドスクリプトに基づいて生成されてよい。
【００５９】
[0067]ステップ１２２２で、説明的な用語は、サーバー１３８や配信エンジン１４０などのリモートコンピューティングデバイスに伝えられる。リモートコンピューティングデバイスは、提供された説明的な単語に基づいて広告コンテンツ１５０を返すように適応された任意のデバイスであってよい。ステップ１２２４で、広告コンテンツが受け取られて、広告コンテンツに基づく情報がウェブページのコンテンツを不明瞭にすることなしにウェブページ上に提示されることが可能になる。したがって、例として、ウェブページ１１４は、コンテンツ１１６のいずれをも不明瞭にすることなしに、広告ユニット１１８によってその広告コンテンツを更新させることができる。ドキュメントオブジェクトモデル１２８を修正済みのドキュメントオブジェクトモデル１３４へと修正する１つのやり方は、ＤＨＴＭＬを活用することであると上記で言及している。
【００６０】
[0068]本発明の精神および範囲から逸脱せずに、示された様々なコンポーネント、ならびに示されていないコンポーネントの多くの異なる構成が可能である。限定するためではなく、例示するために、本発明の諸実施形態について述べられた。その範囲から逸脱しない代替実施形態が、当業者には明らかになろう。当業者は、本発明の範囲から逸脱せずに、上記の改良を実施する代替手段を策定することができる。
【００６１】
[0069]特定の特徴およびサブコンビネーションが有用であり、他の特徴およびサブコンビネーションに関係なく用いられてよく、また請求項の範囲の範囲内に企図されることが理解されよう。様々な図にリストされたすべてのステップが、示された特定の順序で実施される必要があるとは限らない。
【図１】
0005480892.tif 000002
【図２】
0005480892.tif 000003
【図３】
0005480892.tif 000004
【図４】
0005480892.tif 000005
【図５】
0005480892.tif 000006
【図６】
0005480892.tif 000007
【図７】
0005480892.tif 000008
【図８】
0005480892.tif 000009
【図９】
0005480892.tif 000010
【図１０】
0005480892.tif 000011
【図１１】
0005480892.tif 000012
【図１２】
0005480892.tif 000013