(57)【要約】  埋込みクライアントアプリケーションを使用して、埋込みクライアントアプリケーションを保持するコンテナ文書についてのキーワードコンテキストを生成するステップと、埋込みクライアントアプリケーションを使用して、コンテナ文書が表示される装置に関連付けられた地理的コンテキストを生成するステップと、キーワードコンテキストおよび地理的コンテキストを遠隔サーバに提出するステップと、キーワードコンテキストおよび地理的基準の提出に応答して取得された情報を使用して対話型アプリケーションを表示するステップとを含む、コンピュータで実行される方法。
2011528479.tif 000002
【特許請求の範囲】
【請求項１】
埋込みクライアントアプリケーションを使用して、前記埋込みクライアントアプリケーションを保持するコンテナ文書についてのキーワードコンテキストを生成するステップと、
前記埋込みクライアントアプリケーションを使用して、前記コンテナ文書が表示される装置に関連付けられた地理的コンテキストを生成するステップと、
前記キーワードコンテキストおよび前記地理的コンテキストを遠隔サーバに提出するステップと、
前記キーワードコンテキストおよび地理的基準の前記提出に応答して取得された情報を使用して対話型アプリケーションを表示するステップとを備える、コンピュータで実行される方法。
【請求項２】
前記コンテナ文書がウェブページを備え、前記埋込みクライアントアプリケーションが前記コンテナ文書上のiFrame内で動作する、請求項1に記載の方法。
【請求項３】
前記遠隔サーバが販売中のアイテムについての情報を返すアイテム検索システムを備え、前記アイテムが、前記提出されたキーワードコンテキストに対応し、前記提出された地理的コンテキストに対応する領域内または付近で販売されている、請求項1に記載の方法。
【請求項４】
前記キーワードコンテキストを生成するステップが、前記コンテナ文書についての情報を遠隔キーワードサーバに提出するステップを備える、請求項1に記載の方法。
【請求項５】
前記コンテナ文書についての前記情報が前記コンテナ文書のURLを備える、請求項4に記載の方法。
【請求項６】
地理的コンテキストを生成するステップが、前記装置の現在位置インジケータを取得するステップを備える、請求項1に記載の方法。
【請求項７】
前記遠隔サーバが、特定のキーワードおよび位置にターゲティング広告コンテンツを提供する広告サーバを備える、請求項1に記載の方法。
【請求項８】
複数のアクティブデータベースについての情報を表示するステップ、および前記遠隔サーバでリスティング詳細ページに取り入れるべきデータベースリスティングをユーザが選択できるようにするステップをさらに備える、請求項7に記載の方法。
【請求項９】
前記コンテナ文書についての情報を遠隔キーワードサーバに提出して、前記遠隔キーワードサーバへの前記提出に応答して取得された前記情報を分析するステップと、前記取得した情報が不十分であると前記分析が示す場合は前記遠隔キーワードサーバに代替情報を提出するステップとをさらに備える、請求項1に記載の方法。
【請求項１０】
前記代替情報が、第2遠隔キーワードサーバに提出されたオリジナル情報を備える、請求項9に記載の方法。
【請求項１１】
複数のキーワードサーバへの提出に応答して受信された情報を結合するステップをさらに備える、請求項9に記載の方法。
【請求項１２】
前記キーワードコンテキストおよび地理的コンテキストを提出するステップが、複数の関連クエリを遠隔サーバに提出するステップを備え、対話型アプリケーションを表示するステップがクエリ結果を増加的に、および少なくとも部分的には前記複数のクエリのうちの1つまたは複数の前記提出と実質的に同時にレンダリングするステップを備える、請求項1に記載の方法。
【請求項１３】
前記複数の関連クエリが、アップデートされた表示のために以前の結果を洗練するためのクエリを備える、請求項12に記載の方法。
【請求項１４】
以前の結果を洗練するための前記クエリが互いに非同期的に実行される、請求項13に記載の方法。
【請求項１５】
以前の結果を洗練するための前記クエリが、以前のクエリから検索語を削除するフォローアップクエリを備える、請求項14に記載の方法。
【請求項１６】
正規化、ホワイトリストへの登録、および/またはブラックリストへの登録を適用することによって、前記キーワードコンテキストを清掃するステップをさらに備える、請求項1に記載の方法。
【請求項１７】
前記地理的基準に、解像度の低下、および/またはシフティングを適用することによって、前記地理的コンテキストを清掃するステップをさらに備える、請求項1に記載の方法。
【請求項１８】
実行されたときに、
埋込みクライアントアプリケーションを使用して、前記埋込みクライアントアプリケーションを保持するコンテナ文書についてのキーワードコンテキストを生成するステップと、
前記埋込みクライアントアプリケーションを使用して、前記コンテナ文書が表示される装置に関連付けられた地理的コンテキストを生成するステップと、
前記キーワードコンテキストおよび地理的コンテキストに関連付けられたキーワードパラメータおよび地理的パラメータを遠隔サーバに提出するステップと、
前記キーワードパラメータおよび地理的パラメータの前記提出に応答して取得された情報を使用して対話型アプリケーションを表示するステップとを備える動作を遂行する命令を、有形に記録および格納する記録可能メディア。
【請求項１９】
前記メディアが、実行されたときに、前記コンテナ文書についてのアドレスを識別して、コンテナページについてのトピックを分類する遠隔トピカルサーバに前記アドレスを提出することによって、キーワードパラメータを生成する命令をさらに格納する、請求項18に記載の記録可能メディア。
【請求項２０】
前記メディアが、実行されたときに、複数のライブオークションについての情報を表示して、前記遠隔サーバでオークション詳細ページに取り入れるべきオークションリスティングをユーザが選択できるようにする命令をさらに格納する、請求項18に記載の記録可能メディア。
【請求項２１】
クライアントアプリケーションによって表示するためのウェブアクセス可能なコンテナ文書と、
前記コンテナ文書で表示するための広告埋込みアプリケーションとを備え、
前記広告埋め込みアプリケーションが、前記コンテナ文書のキーワードコンテキスト情報、および前記コンテナ文書に対応するクライアントの地理的コンテキスト情報を識別し、前記キーワードコンテキスト情報および地理的コンテキスト情報を第3者サーバに提出し、前記第3者サーバから返された情報を使用して広告を生成するためのコンピュータコードを備える、コンピュータで実行されるシステム。
【請求項２２】
前記広告埋込みアプリケーションが、前記コンテナ文書に対応する1つまたは複数のキーワードを取得するために、前記コンテナ文書のURLを取得して、前記URLを遠隔キーワードサーバに提出するように構成される、請求項21に記載のシステム。
【請求項２３】
前記広告埋込みアプリケーションが、前記コンテナ文書の識別子を遠隔キーワードサーバに提出することによってキーワードコンテキスト情報を識別するためのコードをさらに備える、請求項21に記載のシステム。
【請求項２４】
前記第3者サーバがリアルタイムオークションサーバを備え、前記生成された広告が前記リアルタイムオークションサーバによって現在販売中のアイテムを表示する、請求項21に記載のシステム。
【請求項２５】
クライアントアプリケーションによって表示するためのウェブアクセス可能なコンテナ文書と、
前記コンテナ文書上に表示するための埋込みアプリケーションと、
前記コンテナ文書についてのキーワードコンテキストおよび位置コンテキストを決定し、前記キーワードコンテキストおよび位置コンテキストに関連付けられたキーワードパラメータおよび位置パラメータを遠隔サーバに提出し、前記提出されたキーワードパラメータおよび位置パラメータに応答して受信された情報を使用して前記コンテナ文書上に表示を生成するための、前記埋込みアプリケーションに関連付けられた手段とを備える、コンピュータで実行されるシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書は、ガジェットなどの埋込みアプリケーションに情報を組み込むためのメカニズム、および技法について開示する。このような情報には、アプリケーションのユーザについての地理的情報とともに、アプリケーションが埋め込まれている文書についてのキーワードが含まれうる。
【背景技術】
【０００２】
GOOGLEなどの企業にとって、ターゲティングウェブ広告(targeted web advertising)は大変な成功事業となった。このような広告は、ある検索エンジンが成功しているのとほぼ同じ理由で成功している。すなわち、ユーザにとって適切な情報をユーザに運ぶのである。一般的に広告は、検索結果とともに、しばしば実際の結果自体とは別の領域で提供される。このような状況では、表示のために選択される広告を、検索要求内の用語と一致させることができる。GOOGLE ADWORDSサービスは、このようなターゲティング広告の一例である。
【０００３】
ターゲティング広告は、検索とは別に、たとえばウェブページ自体にも配信できる。たとえば、広告システムはウェブページのコンテキストを分析して、そのページに関連付けられた重要な単語またはコンセプトを決定でき、そのページが表示されると、それらの単語またはコンセプトを対象にする広告を配信できる。このような配信は、ユーザのためにページが読み出されたときに生じてよく、ページのホストがページコンテンツを配信し、広告サーバがターゲティング広告を配信する。GOOGLE ADSENSEサービスは、このようなターゲティング広告の一例である。
【発明の概要】
【課題を解決するための手段】
【０００４】
本明細書は、外部ソースからウェブページなどのウェブベースの文書に情報を提供するために使用されうるメカニズム、および技法を説明する。たとえば、ウェブページまたはプログラムが、ガジェットまたはウィジェットなどの埋込みアプリケーションのためのコンテナ文書の機能を果たすことができる。アプリケーションは、コンテナ文書に関連付けられたキーワード、およびコンテナ文書を閲覧しているユーザの位置などの、アプリケーションについてのコンテキストを決定するコードを含むことができる。アプリケーションが埋込み広告モジュールでありコンテナ文書がウェブページの場合、このような情報は、たとえば、ウェブページのトピックに関連し地理的にユーザに近いオークションに現在出されているアイテムを含むドキュメントの閲覧者に提示できるリアルタイム情報を取得するように、ライブオークションシステムなどのシステムに渡されうる。
【０００５】
さらに、埋込みアプリケーションは、情報をフォーマットするようにプログラムでき、広告とともに表示された商品の売主の位置を示す1つまたは複数の対話型地図など、追加の特徴を含むことができる。埋込みアプリケーションは、アイテムの画像、ならびに価格、説明、レビュー、そのアイテムの星評価、および何らかの関連特性などの、アイテムに関連する他の情報を表示できる。また、埋込みアプリケーションに返された結果が不十分、または豊富すぎる場合、アプリケーションはこのような情報の適量を取得できるように情報を求める要求を調整できる。
【０００６】
このようなシステムおよび技法は、ある実装形態において1つまたは複数の利点を提供できる。たとえば、ウェブページがロードされるときにその中にオンザフライで好都合に広告を構築することができ、広告は特にそのページ(および間接的にはページのトピックに興味があると仮定されるページの閲覧者)、およびユーザの位置を対象にすることができる。このような対象に合わせられた(targeted)材料は特にユーザにとって適切なものとすることができ、したがってユーザ体験を改善することができる。その結果、ユーザが表示された広告をクリックすることなどによってその材料に応答する可能性も一層高くなり、広告主は他の方法と比較してより良いコンバージョン率を達成することによって恩恵を受けることになり、また広告ネットワーク(CPCベースで補償されうる)も恩恵を受けることになる。さらに、情報検索およびフォーマッティングの大半を行うように埋込みアプリケーションをプログラムできるので、表示が構築されるときに、ユーザに対して表示される情報が確実に完全かつ正確であるようにするためのロジックなどの追加ロジックを採用および使用できる。
【０００７】
一実装形態では、コンピュータ実装方法は、埋込みクライアントアプリケーションを使用して、埋込みクライアントアプリケーションを保持するコンテナ文書についてのキーワードコンテキストを生成するステップと、埋込みクライアントアプリケーションを使用して、コンテナ文書が表示される装置に関連付けられた地理的コンテキストを生成するステップと、キーワードコンテキストおよび地理的コンテキストを遠隔サーバに提出するステップと、キーワードコンテキストおよび地理的基準の提出に応答して取得された情報を使用して対話型アプリケーションを表示するステップとを備えることができる。コンテナ文書はウェブページを備えることができ、埋込みクライアントアプリケーションはコンテナ文書上のiFrame内で動作できる。さらに、遠隔サーバは販売中のアイテムについての情報を返すアイテム検索システムを含むことができ、アイテムは提出されたキーワードコンテキストに対応し、提出された地理的コンテキストに対応する領域内または付近で販売されている。
【０００８】
ある態様では、キーワードコンテキストを生成するステップは、コンテナ文書についての情報を遠隔キーワードサーバに提出するステップを含むことができ、コンテナ文書についての情報はコンテナ文書のURLを備えることができる。さらに、地理的コンテキストを生成するステップは、装置の現在位置インジケータを取得するステップを含むことができる。さらに、遠隔サーバは、特定のキーワードおよび位置にターゲティング広告コンテンツを提供する広告サーバを含むことができ、方法は複数のアクティブデータベースについての情報を表示するステップ、および遠隔サーバでリスティング詳細ページに取り入れるべきデータベースリスティングをユーザが選択できるようにするステップをさらに備えることができる。方法は、コンテナ文書についての情報を遠隔キーワードサーバに提出して、遠隔キーワードサーバへの提出に応答して取得された情報を分析するステップと、取得した情報が不十分であると分析が示す場合は遠隔キーワードサーバに代替情報を提出するステップも備えることができる。
【０００９】
いくつかの態様では、代替情報は第2遠隔キーワードサーバに提出されたオリジナル情報を含むことができる。方法は、複数のキーワードサーバへの提出に応答して受信された情報を結合するステップも含むことができる。キーワードコンテキストおよび地理的コンテキストを提出するステップは、複数の関連クエリを遠隔サーバに提出するステップを含むことができ、対話型アプリケーションを表示するステップは、クエリ結果を増加的に、および少なくとも部分的には複数のクエリのうちの1つまたは複数の提出と実質的に同時にレンダリングするステップを含むことができる。複数の関連クエリは、アップデートされた表示のために以前の結果を洗練するためのクエリを備えることができ、以前の結果を洗練するためのクエリは互いに非同期的に実行できる。以前の結果を洗練するためのクエリは、以前のクエリから検索語を削除するフォローアップクエリも含むことができ、方法は正規化、ホワイトリストへの登録、および/またはブラックリストへの登録を適用することによってキーワードコンテキストを清掃するステップ、または地理的基準に、ファジイングおよび/またはシフティングを適用することによって地理的コンテキストを清掃するステップをさらに備えることができる。
【００１０】
他の実装形態では、命令を有形に記録および格納する記録可能メディアが開示される。命令は、実行されたときに、埋込みクライアントアプリケーションを使用して、埋込みクライアントアプリケーションを保持するコンテナ文書についてのキーワードコンテキストを生成するステップと、埋込みクライアントアプリケーションを使用して、コンテナ文書が表示される装置に関連付けられた地理的コンテキストを生成するステップと、キーワードコンテキストおよび地理的コンテキストに関連付けられたキーワードパラメータおよび地理的パラメータを遠隔サーバに提出するステップと、キーワードパラメータおよび地理的パラメータの提出に応答して取得された情報を使用して対話型アプリケーションを表示するステップとを備えうる動作を遂行する。メディアは、実行されたときに、コンテナ文書についてのアドレスを識別して、コンテナページについてのトピックを分類する遠隔トピカルサーバにそのアドレスを提出することによって、キーワードパラメータを生成する命令も格納できる。いくつかの態様では、実行された命令は、複数のライブオークションについての情報を表示して、遠隔サーバでオークション詳細ページに取り入れるべきオークションリスティングをユーザが選択できるようにする。
【００１１】
他の実装形態では、コンピュータ実装システムは、クライアントアプリケーションによって表示するためのウェブアクセス可能なコンテナ文書、およびコンテナ文書で表示するための広告埋込みアプリケーションを備える。アプリケーションは、コンテナ文書のキーワードコンテキスト情報、およびコンテナ文書に対応するクライアントの地理的コンテキスト情報を識別し、そのキーワードコンテキスト情報および地理的コンテキスト情報を第3者サーバに提出し、第3者サーバから返された情報を使用して広告を生成するためのコンピュータコードを含む。コンテナ文書に対応する1つまたは複数のキーワードを取得するために、コンテナ文書のURLを取得してそのURLを遠隔キーワードサーバに提出するようにアプリケーションを構成できる。
【００１２】
いくつかの態様では、アプリケーションは、コンテナ文書の識別子を遠隔キーワードサーバに提出することによってキーワードコンテキスト情報を識別するためのコードも含むことができる。さらに、第3者サーバはリアルタイムオークションサーバを含むことができ、生成された広告はリアルタイムオークションサーバによって現在販売中のアイテムを表示できる。
【００１３】
他の実装形態では、コンピュータ実装システムが開示される。システムは、クライアントアプリケーションによって表示するためのウェブアクセス可能なコンテナ文書と、コンテナ文書上に表示するための埋込みアプリケーションと、コンテナ文書についてのキーワードコンテキストおよび位置コンテキストを決定し、そのキーワードコンテキストおよび位置コンテキストに関連付けられたキーワードパラメータおよび位置パラメータを遠隔サーバに提出し、提出されたキーワードパラメータおよび位置パラメータに応答して受信された情報を使用してコンテナ文書上に表示を生成するための、埋込みアプリケーションに関連付けられた手段とを備える。
【００１４】
1つまたは複数の実施形態の詳細は、添付の図面および以下の説明において述べる。他の諸特徴、諸目的、および諸利点は、説明および図面、ならびに特許請求の範囲から明らかになる。
【図面の簡単な説明】
【００１５】
【図１】埋込みアプリケーションにリアルタイム情報を配信するためのシステムおよび処理の概念図である。
【図２】図1のシステムおよび処理によって制作できるガジェット広告の例示的表示である。
【図３】コンテンツをリアルタイムで埋込みアプリケーションに配信するための例示的システムの概略図である。
【図４Ａ】リアルタイムデータを示す埋込み広告を生成するための処理の流れ図である。
【図４Ｂ】リアルタイムデータを示す埋込み広告を生成するための処理の流れ図である。
【図５】リアルタイムデータを示す埋込み広告を生成するための処理のスイムレーン図である。
【図６】いくつかの埋込みアプリケーションを含むコンテナ文書の例示的レイアウトである。
【図７】広告および他のアイテムを動的に生成するための例示的システムの概略図である。
【図８】本明細書に記載の技法を実装するために使用できるコンピュータ装置およびモバイルコンピュータ装置の例を示す図である。
【発明を実施するための形態】
【００１６】
様々な図面における同様の参照記号は同様の要素を示している。
【００１７】
図1は、埋込みアプリケーションにリアルタイム情報を配信するためのシステム100および処理の概念図である。図示した例では、システム100は、モバイル装置110上で実行中のポータブルプログラムモジュールの形態の埋込みアプリケーション104(ウェブガジェットまたはウィジェットなど)、広告サーバ106、およびアイテム検索システム108を含む。一般的にこれらのコンポーネントは、広告または他のこのようなデータを含む表示を構築してユーザに対して実行時に表示できるように共働し、データはシステム100のコンテキストに合わせられる(targeted)。このようなターゲティングは、たとえば埋込みアプリケーションについてのコンテンツを選択することを対象にしてよく、コンテンツは装置110の位置、およびコンテナ文書102のコンテンツを対象とする。このようにして、ターゲティング広告をオンザフライで構築することができ、したがってユーザが読んでいるウェブページのコンテンツ、およびユーザが現在いる位置を含む、現在ユーザにとって適切な情報を含むことができる。この例では、情報はウェブページのコンテンツに関連するユーザの近傍の1つまたは複数のオンライン自動オークションについての状況情報である。
【００１８】
さらにある実装形態では、既存のシステムをほとんどまたは全く調整せずにシステム100を実装できる。たとえば、他のシステムによって作成された要求と同じフォーマットである合意済みのAPIを使用して、標準HTTP要求を広告サーバ106およびアイテム検索システム108に提出するように埋込みアプリケーション104をプログラムできる。さらに、標準技法を使用して、たとえば装置オペレーティングシステムを通じてGPS情報にアクセスすることによって、または装置のIPアドレスに現在関連付けられている位置を調べることによって、装置110から地理的情報を取得できる。このようにして、サーバソフトウェアをアップデートせずに、または他の同様の変更を行わずに、本明細書で説明した機能をシステムに追加できる。さらに、このようなシステム100はさらなる柔軟性を提供することができ、埋込みアプリケーションの作成者およびユーザは、自分のシステムが広告サーバ106およびアイテム検索システム108と対話する方法をより制御することができる。
【００１９】
ある実装形態では、このような技法は1つまたは複数の利点を提供できる。たとえば図1の例では、ページは特にユーザにとって適切である可能性がある最新のリアルタイム情報を閲覧者に提供できる。一例を挙げると、広告が単にオークションサイトについての静的情報(たとえばサイト名のみ、およびそのサイトで購入できる商品のタイプについての一般情報)を示すだけである場合、ユーザはその広告をクリックすることを控えてしまう場合がある。しかし、広告が、ユーザによって所望される可能性がある商品(たとえばユーザプロファイル、またはユーザが閲覧しているページのコンテンツによって決定された)を示すか、ユーザの領域内で容易に入手できる商品を示すか、および/またはそのような商品についての最新の情報を示すと、ユーザがその広告を選択して取引を遂行する可能性がより高くなる。
【００２０】
したがって例示的実装形態は、ユーザ、広告主、広告キャリア、および情報プロバイダにとっての諸利点を有することができる。ユーザは、自分により関連する情報を提供されるので利益を得る。広告主は、より多くの閲覧者を自分の商品に導くことができるので利益を得る。GOOGLEなどの広告キャリアは、広告キャリアがサービスしている広告主が利益を得るので、および、より効果的な広告が他の広告主のための追加リソースおよび在庫を使えるようにするので利益を得る。さらに、情報プロバイダ、すなわちガジェット広告を含む文書のオーナーは、閲覧者が利益を得るので、またおそらくは広告収入のシェアを取得できるので、利益を得る。
【００２１】
図1をより具体的に参照すると、埋込みアプリケーション104がコンテナ文書102内に位置するように示されている。埋込みアプリケーション104は、コンテナ文書102を生成するマークアップコードの一部として格納された、またはマークアップコードから参照された、マークアップコードで生成された表示を含むことができる。たとえばマークアップコードは、表示上にガジェットを生成するためのコードなどの、様々な形態のHTMLコードを含むことができる。埋込みアプリケーション104は、コンテナ文書102によって表されるウェブページ上のiFrameの一部でもよい。一般的にiFrameは、iFrame要素を使用して別のHTML文書に埋め込まれうるHTML文書である。iFrameが埋め込まれる文書、この例ではコンテナ文書102は、iFrame自体がまだ生成中である間にiFrameの周囲に生成できる。
【００２２】
ウェブページ内にiFrameを提供するための例示的なHTMLコードは、以下を含む。
<html>…
<iframe src="http://makinganiframe.com“ height="100" width="200" frameborder="0" scrolling="no">
</iframe>
….
</html>
【００２３】
このコードが示すように、iFrame要素は、iFrame内に挿入するべき文書、iFrameの寸法、およびiFrameの内部にスクローリングを認めるべきかどうかを参照できる。iFrame内の文書は、HTMLアンカーの「target」属性を使用して、または、たとえばAJAX実装形態などJava（登録商標）Scriptを使用して、別の文書と置き換えてもよく、コンテナ文書(たとえば周辺ページ)を更新せずに修正または更新してもよい。たとえば文書のDOMツリーの編集を通じて、同様の表示を生成できる。
【００２４】
埋込みアプリケーション104は、コンテナ文書102、広告サーバ106、アイテム検索システム108、および装置オペレーティングシステムを含む装置110上の他のアプリケーションと通信できる。コンテナ文書102は様々な情報を表示でき、この場合は見出し102aおよび本文102bを表示している。コンテナ文書102は、コンテナ文書を識別するために埋込みアプリケーション104ならびに他のインターネットに接続されたコンポーネントおよびシステムによって使用されうるURLによっても表される。埋込みアプリケーション104は、操作のための追加情報を取得する際に、ページのタイトルまたは見出し102aなどの、他のコンテキスト情報も使用できる。
【００２５】
埋込みアプリケーション104は、それ自体のためにコンテナ文書102のテキスト分析を実行することによって、および/または広告サーバ106を使用することによって、それ自体をコンテナ文書102のコンテンツに合わせることができる。たとえば、埋込みアプリケーション104を、ページのタイトルまたは特定の見出し内に含まれるある用語などの、ページ上のキーワードを識別するようにプログラムできる。一般的に見出しはタイトルよりも具体的なので、この例では、埋込みアプリケーションは、タイトル内の用語「運転者」はページのトピックに一般的に関連し、用語「Nissan GT-R」はページのトピックに特に関連すると認識できる。埋込みアプリケーションは、このような決定を行う際にページ上のテキスト102bも見ることができる。したがって、ページ上のある用語をそのページのキーワードとして抽出してもよく、ページ上の用語からキーワードが導出されてもよい(たとえば、「運転者」からキーワード「自動車」を導出できる)。
【００２６】
埋込みアプリケーション104自体によって、様々な方法でこのような分析を実行できる。あるいは、埋込みアプリケーション104はある分析を実行して、次いでさらなる処理のために中央サーバシステム(図示せず)にデータを提供できる。たとえば、埋込みアプリケーションは、ページ上の見出し内のすべてのテキスト、またはページ上のすべてのテキストを含むテキストファイルを生成することができ、それを分析のためにサーバに転送できる。次いで、サーバはテキスト内のキーワードを識別して、このようなキーワードを埋込みアプリケーション104に返すことができる。
【００２７】
本明細書に示される実装形態では、埋込みアプリケーション104は処理の大半の実行を広告サーバ106に委ねる。特に、広告サーバ106は様々なウェブサイトを巡回して、それらのウェブサイトのコンテンツを分析するコンポーネントを含むサーバでよい。たとえば、ウェブページのテキストコンテンツを収集でき、そのページからの用語のリストを生成して、最も一般的な用語から最も一般的ではない用語に順序付けできる。次いで、この用語のリストを、他の用語で訓練を受けており、様々なコンセプトまたはキーワードをそれらの用語に関連付ける、エキスパートシステムに提出できる。このような分析から、ウェブページに関連付けられた特定のコンセプトまたはキーワードを決定でき、このようなコンセプトまたはキーワードを埋込みアプリケーション104に渡して、埋込みアプリケーション104によって処理して表示するために第3者から追加情報を取得するために、クエリにおいて埋込みアプリケーション104によって使用されうる(以下でさらに説明するように)。
【００２８】
埋込みアプリケーション104は、広告サーバ106の適切にフォーマットされた要求を作成することによって、このような情報にアクセスできる。この要求は、コンテナ文書102のURLなどのコンテナ文書102についての識別情報を広告サーバ106に提供することによって、必要な情報を広告サーバ106に明らかにする(identify)ことができる。URLを取得するために、埋込みアプリケーション104はdocument.locationによってURLを取得できるようにJavaScriptを使用できる。JavaScriptがiFrameの内部で動作している場合、コンテナ文書102のURLを取得するためにdocument.referrerを使用できる。次いで、埋込みアプリケーション104は、以下のようにフォーマットされた要求などのHTTP要求を作成することによって、URLを広告サーバ106に提出できる。
http://pagead2.googlesyndication.com/pagead/ads?url=slashdot.org&output=xml&num_radlinks=10
【００２９】
広告サーバ106は、特定のURLに関連する要求を受信して、それに応じてそのURLに関連付けられたコンテンツを表すキーワードを提供するように構成されている。広告サーバ106は、キーワードが以前の巡回プロセスを通じてあらかじめ生成されている場合、URLの受信に応答して単にルックアップを実行するように構成されてよく、記述的情報を返す前に受信したURLに関連付けられた追加データを識別してもよい。上述のように、広告サーバ106は巡回されたページのコピーをルックアップして、コンテキスト分析を行うことができる。
【００３０】
埋込みアプリケーション104は、モバイル装置110のユーザについての情報を利用することもできる。一例を挙げると、サーバ106は地理的データベース内の装置110からの要求に関連するIPアドレスをルックアップでき、その地理的情報(または地理的情報から収集した情報)を埋込みアプリケーション104に返すことができる。他の実装形態では、埋込みアプリケーション104は、装置110がGPS機能を含むか、三角測量によって位置を決定できるように無線信号を発する場合、装置110上のオペレーティングシステムに照会することなどによって、モバイル装置110から直接情報を取得できる。
【００３１】
位置情報は、装置上のクッキーなどの、装置110の記憶装置から取得することもできる。たとえば、装置110のユーザに位置ベースのサービスを提供する装置上の異なるアプリケーションは、ユーザの位置を決定するためにユーザからの情報を求めることができ(たとえばユーザは最初に「ホーム」位置を確立でき、その位置はユーザによって手動でアップデートすることもでき、ローカル検索語の入力などのユーザによるその後の検索活動に基づいてアップデートすることもできる)、その位置情報を格納できる。次いで、埋込みアプリケーション104は格納された情報にアクセスできる。
【００３２】
記述的情報(たとえばキーワード、またはトピックおよび位置情報)を受信すると、埋込みアプリケーション104は受信した情報、情報のサブセット、または受信した情報に関連する情報をアイテム検索システム(ISS)108に提出できる。アイテム検索システム108は様々な形態をとることができるが、この例では気象、株価、またはオークション情報などの、変化するリアルタイム情報を維持するサーバである。このようなシステムの一例は、サイトのメンバが一般の他のメンバに、販売中のアイテムを列挙できるリスティングサイトである。アイテム検索システム108は、埋込みアプリケーション104の開発者が受信した記述的情報を使用して埋込みアプリケーション104を介して容易にクエリを伝えられるように、公開のオープンプロトコルを介してクエリを受信するように操作できる。次いで、アイテム検索システム108は、知られている方法、たとえばアイテム検索システム108によってトラックされた活動についてのXMLフォーマットされた情報を送信することによって応答できる。たとえば、アイテム検索システム108は、説明、写真、現在価格、レーティング、および残余期間などの、渡されたクエリに関連付けられたオークションにおけるトップオブジェクトについての記述的情報を提供できる。
【００３３】
位置、すなわち地理的情報がアイテム検索システム108に提出されると、対応するデータの検索をこのような情報に関連付けられた地理的領域に狭めることができる。たとえば、埋込みアプリケーション104からのクエリは、ユーザの推定位置から一定マイルの半径以内の、あるキーワードまたは複数のキーワードを有するすべてのオークションについて尋ねることができる。図4Bを参照して以下でより詳細に説明するように、このような要求の変形も提出されうる。さらに、位置情報のフォーマットも、手書き住所、都市名および州名、郵便番号、および緯度/経度のペアを含む、様々な形態をとることができる。システム100内のどのようなアプリケーションも、知られている、かつ比較的単純なメカニズムを使用して、様々な形態間で変換できる。
【００３４】
地理的情報を決定できない場合、すなわち、たとえば装置にGPSがない、装置のユーザがシステムに登録されていない、装置が地理的情報を含む関連クッキーを含まない、装置が無線信号の三角測量によって位置付けることができない場合、非地理的専用の(non-geographical-specific)広告をアプリケーション104から要求することができる。あるいは、地理的情報がないか、地理的情報が不十分な場合、国または他の領域全体にわたって広告を供給することなどによって、より大きな最有力推測領域を使用できる。
【００３５】
システム100における操作の例示的な流れが、文字入り矢印によって図1内に示されている。この特定の例では、コンテナ文書102は自動車ファンサイトのためのウェブページであり、この特定のページはNissan GT-R車のテスト報告である。ウェブサイトのオペレータはこのような大変有益な情報を無料で一般公開する場合があり、したがってサービス品質を維持するために広告収入に大いに依存する場合がある。この問題解決を支援するために、埋込みアプリケーション104を生成するためのコードにポインタを提供することなどによって、オペレータはコンテナ文書102内に埋込みアプリケーション104を含むことができる。オペレータは自分で埋込みアプリケーション104を符号化する必要はないが、IGOOGLE GADGETと同様に、単にガジェットとしてページに追加できる。
【００３６】
埋込みアプリケーション104がアクセスされると、たとえばコンテナ文書102にアクセスする際にユーザ装置110にマークアップコードが提供されると、最初にコンテナ文書102のコードを実行し始めることができ、そしてコンテナ文書102を表示できる。処理が埋込みアプリケーション104についてのiFrameコードに到達すると、埋込みアプリケーション104についてのコードがアクセスされて実行されうる。そのコードは、コンテナ文書のURL、iFrameについてのコンテナ文書内で提供される寸法、および装置110についての位置データなどの、コンテナ文書102および装置110についての情報にアクセスするための要素を含むことができる。矢印A1は、コンテナ文書102についての一定の情報を取得するための、埋込みアプリケーション104からコンテナ文書102への要求を示している。矢印A2は、装置110についての地理的データを取得するための、埋込みアプリケーション104から装置110への要求を示している。
【００３７】
次いで、埋込みアプリケーション104は、広告サーバ106からのコンテナについての追加情報を取得するために、HTTP要求などの形態で、任意選択で広告サーバ106に要求を行うことができる。このような要求は矢印Bによって示されている。この要求は、コンテナ文書102および/または装置110から、元の形態または修正された形態のいずれかで取得した情報のうちのいくつかまたはすべてを含むことができる。たとえば、要求はコンテナ文書のURLを含むことができる。要求は、ユーザのIPアドレス、およびコンテナ文書102のユーザ層などの発行人が渡したいと望む他の何らかのパラメータなどの、他の情報も含むことができる。
【００３８】
埋込みアプリケーション104から広告サーバ106への要求は、任意選択で暗号化できる、または他の方法で改ざんから保護できる。たとえば、広告サーバ106に情報を求める正当性のない要求、または正当な要求および応答の傍受を防ぐために、埋込みアプリケーション104と広告サーバ106との間で一意のプロトコルが承諾されうる。
【００３９】
要求を受信すると、広告サーバ106は要求への応答を生成する際に様々な動作を実行できる。図示した例では、広告サーバ106は、コンテナ文書102を記述している情報を埋込みアプリケーション104に提供することを課せられている。広告サーバ106、または広告サーバ106に関連付けられた他のサーバは、上述の技法(たとえば、ページについてのトピックまたはキーワードを決定するために、ページを巡回して分析を実行すること)などによって、このような記述的情報を以前に生成した可能性がある。このような情報が既に存在する場合、広告サーバ106は単にそれを埋込みアプリケーション104に返すことができる。
【００４０】
広告サーバ106がまだコンテナ文書102についての記述的情報を有していない場合、このような情報をリアルタイムで生成するよう試みることができる。たとえば、スパイダーモジュールをコンテナ文書102にアクセスさせて、コンテナ文書102からコンテンツ(たとえば、見出しタグなどの、テキストの関連重要性を示すことができるタグに加えて、ウェブページのテキスト)を取得することができ、そのコンテンツからキーワードを抽出できる。次いで、後に使用するために、広告サーバ106によってこのようなキーワードを格納でき、また埋込みアプリケーション104に返送することもできる。
【００４１】
広告サーバ106がコンテナ文書102を直接記述している情報を取得できない場合、このような情報の最有力推測を生成するよう試みることができる。たとえば広告サーバ106は、コンテナ文書102と同じドメインで、他の文書についてのキーワードを取得できる。次いで広告サーバ106は、たとえばコンテナ文書102のアドレス「付近」の、他の文書についてのランク付けされたキーワードの結合であるキーワードを作成できる。一例を挙げると、コンテナ文書102に配信するための適切な記述的情報を決定する際、コンテナ文書102からより離れた文書よりも、コンテナ文書102に最も近い文書(たとえば同じパス内にある文書)の方により高い重要性を与えることができる。
【００４２】
広告サーバ106によってコンテナ文書102についての記述的情報が決定されると、矢印Cによって示されるように、埋込みアプリケーション104に返すことができる。たとえば、XMLフォーマットされたメッセージ、または他の同様のメッセージフォーマットで情報を提供できる。
【００４３】
埋込みアプリケーション104は、コンテナ文書102についてのトピックまたはキーワード、あるいは埋込みアプリケーション104に関連するトピックまたはキーワードを識別するための分析も実行できる。たとえば、埋込みアプリケーション104は文書内の見出しからキーワードを選択するための、あるいは文書のトピックを決定するための、コードを含むことができる。
【００４４】
広告サーバ106から情報を受信すると、矢印Dによって示されるように、埋込みアプリケーション104は、位置情報などの他のコンテキスト情報とともにその情報をクエリにおいてアイテム検索システム108に提出できる。このようなアクションは、広告サーバ106から受信したキーワードを、クエリにおける引数として挿入することを単に含むことができる。このようなアクションは追加ステップも含むことができる。たとえば埋込みアプリケーション104は、広告サーバ106から受信した一定の情報は、アイテム検索システム108から満足のいく結果をもたらさないという決定を行うことができる。一例を挙げると、埋込みアプリケーション104は、アイテム検索システム108についてのキーワードが多すぎると決定でき、一定量のキーワードを削除するようプログラムできる(たとえば、最後に受信したキーワード、または最初に受信したキーワード、あるいは有用な数の適切な結果を取得するには検索の範囲を限定しすぎる単語を除去することによって)。
【００４５】
広告サーバ106から埋込みアプリケーション104に返された情報は、記述的情報に加えて情報を含むことができる。たとえば広告サーバ106は、記述的情報を分析することによって、多数のアイテム検索システムの中から特定のアイテム検索システム108が、埋込みアプリケーション104にコンテンツを提供するためにより適切であると決定できる。一例を挙げると、消費者向け用語(たとえばDVD、テレビ、収集品)に関するキーワードが埋込みアプリケーション104に返されると、広告サーバ106は、埋込みアプリケーション104が特定のリスティングサイトに関連付けられたサーバにクエリを送信できるように、パラメータを提供できる。一方、ユーザがより工業的な文書(たとえ鋼鉄、ビレット、CRMなど)を見ている可能性が高いことをキーワードが示す場合、埋込みアプリケーション104は工業に焦点を当てたオークションサイトを対象にすることができる。このように、処理の結果として示される広告は特に調整することができ、完全で有用な結果を与える可能性が最も高いサイトを対象にすることができる。
【００４６】
埋込みアプリケーション104による提出に応答して、アイテム検索システム108はクエリの結果を返すことができる。たとえば、標準的なAPIを通じて、アイテム検索システム108は、オークション状況をリアルタイムで(ほぼリアルタイムを含む)トラックしているデータベースなどの、データベースに提出するためのクエリを再フォーマットできる。結果は、ユーザが関連キーワードをリスティングサイトのホームページに入力した場合に見るような、進行中のオークションのリスティングを含むことができる。
【００４７】
このような情報は、オークションにおけるそれぞれの売主の位置についての情報も含むことができ、返された結果は埋込みアプリケーション104からの要求において識別された位置付近のオークションに限定される。アイテム検索システム108は、矢印Eによって示されるように、上位3件の結果(たとえば、ユーザに最も近い3つの結果、またはまもなく終了する3つのオークション)などの一定数の結果を、埋込みアプリケーション104に返すことができる(たとえば、埋込みアプリケーション104から受信したパラメータに応じて)。結果は、たとえばXMLメッセージとしてフォーマットできる。
【００４８】
アイテム検索システム108から結果を受信すると、埋込みアプリケーション104は結果を分析して、コンテナ文書102によって表されるウェブページ上でユーザに対して表示するためにフォーマットできる。たとえば、埋込みアプリケーション104は、表示できる結果の数を決定するために、およびそれらの結果をどのフォーマットで表示できるかを決定するために、まず関連するiFrameの大きさを決定できる。たとえば、iFrameが非常に短い場合、グラフィック(たとえばオークションにおけるアイテムの写真)のための余裕がない可能性があり、このような状況では埋込みアプリケーション104はグラフィックを表示することを拒否する場合がある。
【００４９】
さらに、埋込みアプリケーション104は、複数のアイテムの全体的な記述を表示するにはiFrameが小さすぎると決定でき、したがって一定の記述を連結させること、または1つのアイテムについて「短い記述」フィールドだけを表示することなどの、アイテム検索システム108から受信したフィールドのサブセットだけを表示することを選ぶことができる。さらに、埋込みアプリケーション104はiFrame内に入るアイテムよりも多くのアイテムを表示することを選ぶことができ、最初に表示されないアイテムにアクセスできるようにするためのスクロール制御を提供できる。埋込みアプリケーション104は、より多くのアイテムを表示するためにiFrameの外側を拡大することなどの、他のフォーマッティング操作も実行できる。
【００５０】
この特定の例では、装置110の位置(クッキー内の過去の位置データから推測された位置か、GPS読取りなどの明確な位置)とともに、見出し102a内の情報「Nissan GT-R」が、キーワードとしてアイテム検索システム108に提出されている。進行中の3つのオークションが、それらの現在価格とともに、埋込みアプリケーション(104a)のディスプレイに表示されている。さらに、地図104bが表示されており、その地図は売主のリストから特に選択された売主の位置に対応している。ユーザは地図104b上をクリックして、表示された売主についての追加情報を入手でき、また埋込みアプリケーション104の表示領域の領域全体を満たすように拡大された地図を入手できる。
【００５１】
任意選択で、検索領域104cを表示でき、アイテム検索システム108に提出された検索語を事前に追加できる。したがってユーザは、ユーザのためにどのような検索語が自動的に生成されたかをすぐに見ることができ、埋込みアプリケーション内の、または送信側サイトからの追加の結果を取得するために、その検索語を変更または洗練できる。ユーザは、ユーザについて提出された位置を受け取ることができ、検索が関連する位置、または位置の周囲の半径を変更する機会を与えられうる。
【００５２】
適切な実装形態では、コンテナ文書102からの情報収集、その情報の広告サーバ106への提出、広告サーバ106からのコンテナ文書102についての記述的情報の受信、アイテム検索システム108へのクエリの提出、ならびにアイテム検索システム108からの結果の受信および表示が、コンテナ文書102に関連付けられたページがロードされている間にすべて発生しうる。したがって、積極的に生成された広告などの、埋込みアプリケーション104によって作成された表示は、関連ウェブページにアクセスおよびロードするとほぼすぐに、ユーザによって閲覧可能になる。
【００５３】
埋込みアプリケーション104は、ウェブページで表示するための情報にアクセスするための追加機能も与えられうる。たとえば、埋込みアプリケーション104によって作成された呼は、条件付きでもよく反復でもよい。一例を挙げると、埋込みアプリケーション104は限定数の結果を要求でき、それらの結果が表示されると、ユーザが追加結果を検索できる制御を表示できる(検索ボックス104cまたは他の形態の制御のように)。このような状況では、埋込みアプリケーション104は追加結果を要求できる(埋込みアプリケーション104は最初にすべての結果を取得して、その結果のうちのいくつかをユーザが要求するまで格納することもできる)。埋込みアプリケーション104は、広告サーバ106から受信した情報から、複数のアイテム検索システム108は広告のための有力なソースである可能性があると決定することもできる。このような状況では、埋込みアプリケーション104はユーザにアイテム検索システム108の様々な選択を示す表示を生成でき、次いでユーザによるこのようなオプションの選択に応じて特定のアイテム検索システム108のクエリを実行できる。埋込みアプリケーション104によって、JavaScriptおよびJavaFXなどの言語によって提供される様々な機能も実装することができ、したがって豊富な対話が可能になることが理解されよう。
【００５４】
埋込みアプリケーション104によって生成された表示は、ユーザが結果と対話できるようにするハイパーリンクなどのメタデータを含むことができる。たとえば、オンラインオークションにおいてあるアイテムを表示しているテキストを、ユーザが選択することによって、コンテナ文書102を表示するブラウザがそのアイテムについての詳細を示しているページにリダイレクトされるようにする(あるいは、アイテムの詳細スクリーンを表示するために、新しいウインドウ枠またはウインドウが開くようにする)、ハイパーリンクに関連付けることができる。
【００５５】
このようなハイパーリンクの選択は、ユーザの選択を報告できるように、メッセージが広告サーバ106、または広告サーバ106に関連付けられたサーバに送信されるようにすることもできる。たとえば、広告システムはユーザが特定の広告をクリックする回数に基づいて広告主に請求でき、このようなメッセージは、広告システムがアイテム検索システム108のオペレータなどの広告主に正しく請求できるようにする。
【００５６】
さらに、埋込みアプリケーション104は、より詳細な報告および請求が発生しうるように、表示内でユーザが選択した特定のアイテムの報告を返すことができる。オンラインオークションシステムに関する一例を挙げると、ユーザがアイテムについてのリンクをクリックすると、そのアイテムの売主はオークションを操作しているアイテム検索システム108によって請求されうる。アイテムは、アイテム検索システム108によって割り当てられたID番号を含むことができ、ユーザがそのアイテムを選択すると、埋込みアプリケーション104はそのID番号を広告サーバ106に渡すことができる。次いで広告サーバ106は、その選択がアイテム検索システム108に請求されたときなどの適切な時に、その番号をアイテム検索システム108に提供できる。公正かつ追尾されうる方法で広告コストをユーザに転嫁するためにこのような情報を使用している広告サーバ106に加えて、特にアイテム検索システム108は、表示において一定の情報を提供することの効果の分析に役立てるために、このような情報を使用できる。
【００５７】
埋込みアプリケーション104による、広告サーバ106、およびアイテム検索システム108への要求は、ある実装形態にキャッシュできる。上述の様々な要求は、特に多数において実行する場合に比較的広範囲の検索および処理を求めることがあるので、このようなキャッシングによりパフォーマンスを向上させることができる。たとえば、上述の広告のような広告のための埋込みアプリケーションがwww.nyt.comウェブサイトのフロントページに配置されると、数十万ものページ量が、それぞれ広告サーバ106およびアイテム検索システム108による完全な検索および処理を要求する場合がある。キャッシングは、検索および処理を一度発生させ、後続の要求はキャッシュ内を調べることによって簡単に供給できるようにする。
【００５８】
このようなキャッシングが発生すると、ブラウザ内、ISPまたは企業サーバ、およびGOOGLEなどの中央情報プロバイダを含む、様々なレベルで実装されうる。ブラウザでは、ユーザが上述のような埋込みアプリケーションのためのコンテナであるウェブページに戻ると(たとえば、記事を読んだ後で新聞のメインホームページに戻ると)、モジュールコードは最初にページがロードされたときに取得した情報を単に返すことができる。ISPでのキャッシュにより、最初のユーザがそれらのソースから情報を検索した後は、広告サーバ106またはアイテム検索システム108をヒットする必要が全くない。また、広告サーバ106およびアイテム検索システム108でのキャッシングはそれらのシステム上でのいくつかのロードを含むが、キャッシュ内の情報を単に調べることよりもずっと費用がかかる可能性がある方法で再クエリおよび再処理する必要がない。
【００５９】
キャッシングは、特に埋込みアプリケーション104によって表示されたデータが気象情報およびオンラインオークション情報などのリアルタイムデータであるときに、様々なメカニズムによって終了するように制御できる。たとえば、適切な粒度のタイムスタンプをGET要求に挿入できる。さらに、キャッシングが使用されている、または使用されうる場合、このようなキャッシングを予想してアイテムをフォーマットするように、埋込みアプリケーション104をプログラムできる。たとえば、オンラインオークションシステムがオークションにおける残り時間を「残り3分」と報告すると、埋込みアプリケーション104はこのような情報を相対時間ではなく、「中部標準時の午後2:23に終了」などの絶対時間に再フォーマットするようにプログラムできる。
【００６０】
図2は、図1のシステムおよび処理によって生成されうるガジェット広告の例示的表示202である。特定の表示202は、コンテキストガジェット広告のための一種のテストベッドを示しており、ユーザは、特定のクエリ語および位置情報を入力でき、ユーザには、語および位置についての現在のリスティング情報が返され、様々な共通広告フォーマットで表示されることがある。このような表示は、システムによって広告がどのように表示されることになるかを試せるように、見込み広告主に提供できる。
【００６１】
入力領域204によって、ユーザはクエリについての1つまたは複数のキーワードについて適切にフォーマットされた未処理のクエリとともに、広告が表示されるべきウェブページのURLを入力できるようになる。広告サーバは、特定のページについてのトピックまたはキーワードを調べるための鍵としてそのページのURLを使用することができ、そのページについての、対象に合わせられた情報を生成する際に便利な場合がある。ユーザは、都市名、地域コード、および特定の緯度/経度座標の都市からの半径範囲を入力することを含む、様々な方法で位置を指定することもできる。一例を挙げると、都市名を選択でき(図示された位置はPortlandのものだが、ここではAustin)、表示202を生成するアプリケーションが自動的に緯度/経度座標を記入できる。
【００６２】
入力領域204以下の様々な表示は、ユーザが「広告表示(show ad)」ボタンを選択するとアプリケーションが生成するものを示している。それぞれの表示は、リスティングサイトから返された、リアルタイムにアップデートされる価格および入札情報とともに自動車のライブオークション販売を示している同じ情報を含むが、広告の大きさのフォーマットは異なる。たとえば表示206は2つのリスティング(スペースは限られている)と、第1のリスティングからの画像を含む。ユーザが第2リスティングにマウスを重ねると、画像が第2リスティングの画像に変わる。
【００６３】
地図アイコンも示されている。ユーザがそのアイコンを選択すると、表示206は、選択されたリスティングの売主についての特定の情報(たとえば、ポップアップバブル内の売主の名前および住所情報、売主の位置のピン、およびclick-to-call操作を完了するためにユーザが選択する可能性がある電話番号情報)とともに、GOOGLE MAPSサービスによってよく知られている方法で供給されている対話型地図によって置き換えられることになる。
【００６４】
表示206の下端に沿って追加制御が示されている。たとえば、「さらなる検索結果(more results)」のハイパーリンクにより、他のリスティング(この例では2つ以上)がユーザに表示され、「この広告について(about this ad)」のハイパーリンクは広告および広告主に関する一般的な情報を示し、「地図上の表示(show on map)」のハイパーリンクは、地図アイコンを選択するための上述の機能と同様の機能のパフォーマンスをもたらす。
【００６５】
最後に画像付近の下端に検索ボックスが示されており、検索語「honda civic」が記入されている。表示206についての情報を提供する検索をより具体的にするために、ユーザは入力に年を追加することなどによって、入力を変更できる。一般的に、表示202内の表示206の閲覧者は、まるでオンライン新聞または雑誌のウェブページなどの他の種類のコンテナ文書内の広告であるかのように、広告と対話できる。
【００６６】
検索ボックスの特徴は、様々な適切な形態をとることができる。たとえば、ボックスはキーワードだけを表示してもよく、キーワードおよび地理的情報(たとえば検索センターポイント)を表示してもよく、さらに検索の範囲を表示してもよい。表示されたクエリは、[bmw](および位置コード)が提出されたが[bmw 325i]を表示することなどによって、実際に提出されたクエリに一致することも一致しないこともある。結果を生成するために複数のクエリが実行されている場合、広告内に実際に表示された最大結果を返すものによって測定されるように、最も関連する検索についての用語を表示できる。
【００６７】
このような対話は、表示208および210によって示されている。表示208は、ユーザが最初に検索結果内の1965 Mustangにマウスを重ね、次いでそのリスティングを選択したか、あるいはそのリスティングがアクティブである間に地図アイコンを選択した場合の結果を示している。この例では、Mustangのリスティングは、売主または売主の位置(Portland領域内であること以外の)についての特定の情報とともに渡されていないように見える。表示210は、ユーザが第1リスティングにマウスを重ね、次いで地図アイコンを選択した場合の結果を示している。この例では、GOOGLE MAPSのユーザにはよく知られているはずの方法で、リスティングおよび売主についてのテキスト情報を示すことができる。さらに、リスティングに関連付けられた位置にピンが示されており、ここでは特定のディーラーの複数の施設の位置である可能性が高い。
【００６８】
ある実装形態では、それぞれのピンは1つのリスティングを表すことができ、ユーザがそれぞれのピン上でカーソルを動かすと詳細情報および画像が変更できる。検索結果の地図ビューを最初に示すこともでき、結果が最初に表示されるモード(テキスト、地図、または混合)は、コンテキスト(たとえば、ページ所有者の嗜好経由を含む、どのページ上にあるか)、チャネル(広告内に表示されると結果をテキスト内に示すことができるが、地図サイト上に表示されると地図内に表示できる)、およびユーザ選択(たとえば、以前ユーザが明白にまたは暗黙に選択を示したことをアプリケーションが決定できる)を含む、様々な要因に依存することができる。
【００６９】
他のアプリケーションでは、地図作成されているそれぞれの位置は、共通の商店の位置でよい。たとえば、コーヒーの広告を示すことができ、領域内の1つの特定の会社についてのコーヒーショップを示すピンを対応する地図に追加できる。
【００７０】
これらの広告フォーマットを使用して、ユーザにとって特に便利である可能性がある特定の位置情報を与えることに加えて、ユーザは所望のオークションに簡単に到達できることをすぐに知ることになる表示も提示されうる。具体的に言うと、ユーザは広告をクリックしてリスティングウェブサイトに導かれた後、追加の検索要求を入力する必要はない。その結果、ここで表示された広告の提示はユーザをはるかに積極的に反応させ、すなわち広告をより評価し、広告をクリックする可能性がより高くなる。その結果、ユーザは関心がある情報に導かれることによって恩恵を受けることができ、広告主のリスティングサイト(およびその対応する自動車販売主)はさらなるトラフィックをオークションに追い込むことによって恩恵を受けることができ、広告のシンジケータは広告収入を生むことによって恩恵を受けることができ、コンテナ文書の製作者は広告収入を共有して、より満足されるユーザ基盤を有することによって恩恵を受けることができる。
【００７１】
図3は、コンテンツをリアルタイムで埋込みアプリケーションに配信するための例示的システム300の概略図である。一般的にいくつかの実装形態では、図3に示されたコンポーネントは図1に示されたコンポーネントと同様の形態をとる。例示的システム300の操作のさらなる例示のために、ここではいくつかのコンポーネントのさらなる詳細および構造が示されている。
【００７２】
システム300は一般的に、広告サーバ302およびアイテムデータベース308からインターネットなどのネットワーク310を通じて情報にアクセスできる、コンテナ文書304内の埋込みアプリケーション306で構成される。コンテナ文書304は、URL323を含む、コンテナ文書304に関連付けられたいくつかのパラメータを有することができる。埋込みアプリケーション306は、コード、およびコンテナ文書304内に埋め込まれる、結果として生じる表示を含み、コンテナ文書304から参照されるコード(たとえばJavaScriptコード)を含むことができる。上述のように、コンテナ文書304に関連付けられたウェブページ上のiFrame内に表示を提供するために、埋込みアプリケーション306を実装できる。
【００７３】
埋込みアプリケーション306は、コンテナ文書についての情報、および他のコンテキスト情報を取得して、このような情報を使用して動的に生成された広告などのコンテンツを取り出して表示できるようにする、いくつかのコンポーネントを含む。たとえば、コンテキストリクエスタ324は、コンテナ文書を表示するブラウザプログラムと通信することなどによって、コンテナ文書304と通信するプログラムモジュールである。コンテキストリクエスタは、特にコンテナ文書304のURL323および埋込みアプリケーション306が表示されるべきフレームの大きさなどの、埋込みアプリケーション306のコンテキストを定義する、様々なパラメータを取得できる。コンテキストリクエスタ324は、コンテナ文書304を表示している装置から、装置、または装置のユーザについての位置情報などのデータも取得できる。
【００７４】
埋込みアプリケーション306は、要求フォーマッタ326も含む。要求フォーマッタ326は、コンテキストリクエスタ324によって取得されたコンテキスト情報(たとえばコンテナ文書URL)を使用するなどして、広告サーバ302への要求を生成するために使用できる。さらに、要求フォーマッタ326は広告サーバ302から応答を受信して、このような応答における情報を、埋込みアプリケーション306によって表示するためのアイテムデータベース308への要求または複数の要求、たとえばアイテムデータベース308によってトラックされたリアルタイム情報を示しているアイテムのリストを生成するように設計されたクエリを生成するために使用できる。
【００７５】
埋込みアプリケーション306は、広告ジェネレータ328も含むことができる。広告ジェネレータ328は、リアルタイム情報を含む、アイテムデータベース308から返された情報などの情報を受信して、受信した情報をコンテナ文書304に関連付けられたウェブページ上で表示するために、上述のような方法でフォーマットする。
【００７６】
埋込みアプリケーション306は、ネットワーク310と通信するべき、およびネットワーク310を介して通信するべき、様々な形態のメッセージを生成できる。メッセージ306aは、埋込みアプリケーション306によって収集された、埋込みアプリケーション306のコンテキストに関するコンテキスト情報を含む広告サーバ308への要求の形態(たとえばHTTP要求)のメッセージである。メッセージ306bは、標準APIに準拠した形態でアイテムデータベース308に(またはアイテムデータベース308に関連付けられたウェブサーバに)提出でき、たとえばキーワードおよび位置ベースのコンテキスト情報を含むことができる、検索クエリである。
【００７７】
アイテムデータベース308自体は、上述の技法と矛盾しない様々な形態をとることができる。ある実装形態では、アイテムデータベース308は、リアルタイムで常に変化する情報をトラックできる。このような実装形態では、このような情報を収集して、コンテナ文書304に関連付けられたウェブページ上に表示されるべき広告などのコンテンツを動的に生成するために埋込みアプリケーション306を使用できる。アイテムデータベース308は、一般的に、たとえば埋込みアプリケーション306からの検索クエリに応答する検索結果の形態でメッセージを生成するように構成できる。必要に応じて、アイテムデータベース308によって他のメッセージも生成して送信できる。
【００７８】
広告サーバ302は、インターネットウェブページの閲覧者にターゲティング広告の生成をサポートするための、いくつかのコンポーネントおよび構造を含むことができる。広告は、広告サーバ302を運営する組織のページ(たとえば検索結果ページ)に含めるために生成してもよく、シンジケーションプログラムを通じて第3者ウェブページ上に含めるために生成してもよい。本明細書の他の装置と同様に、広告サーバ302は1つまたは複数の異なるコンピュータおよび/またはコンピュータシステムを含むことができる。本明細書では、単に例示目的のために、モジュールおよび構造の特定のグループ分けが示されている。
【００７９】
広告サーバ302は、要求プロセッサ318で他のコンポーネントからメッセージを受信する。要求プロセッサ318は、受信メッセージを構文解析および分析して、応答の仕方を決定できる。たとえば、受信メッセージは、特定のURLに関連付けられた一定のコンセプトまたはキーワードのリストを要求でき、要求プロセッサ318はこのような要求の構造を分析して、URLに関連付けられたウェブページについての一定の識別情報を返すべきであると決定できる。このようにして、要求プロセッサ318は、特定のURLとコンセプトまたはキーワードとを関連付ける情報を含む、ページコンテンツデータ316にアクセスできる。アクセスすることは、URLを鍵として使用する単なるルックアップを通じてよい。
【００８０】
ページ情報を取得するために、まず第1に、クローラ312を使用して文書アナライザ314によってページコンテンツデータ316を生成できる。クローラは、ネットワーク310を通じて入手可能である情報を、自動的かつ定期的に調査するために、様々なメカニズムを通じて操作できる。文書アナライザ314はクローラ312によって収集された情報をレビューでき、上述のようなメカニズムを使用して情報についてのコンセプトまたはキーワードを決定できる。文書アナライザは、クローラ312から分析する様々な文書についてのURLを取得することもでき、システムによって後にアクセスするために、そのURLおよび対応するコンセプトまたはキーワードをページコンテンツデータ316に格納できる。さらに、クローラ312および文書アナライザ314は、埋込みアプリケーション306からURLへの要求が作成された場合、および対応するURLがまだページコンテンツデータ316に表示されない場合などに、リアルタイムに情報を取得して分析できる。
【００８１】
応答が生成されると、応答フォーマッタ320によってリクエスタに返すことができる。応答フォーマッタは、たとえばページコンテンツデータ316のクエリから受信したデータベース結果を、埋込みアプリケーション306に返すために1つまたは複数のXMLメッセージに再フォーマットすることができる。メッセージは、たとえばキーワード320aを含むことができる。広告サーバ302によって様々な他のサービスも提供できるが、より明確にするために、本明細書では限られたサービスを示している。たとえば、アイテムデータベース308のようなリアルタイム情報の別のソースを参照せずに、広告サーバ302によって静的広告を出すことができ、コンテナ文書304に関連付けられたウェブページ上に表示するために配信できる。以下で図7に関してさらに十分に説明するように、他のサービスも提供できる。
【００８２】
図4Aは、リアルタイムデータを示す埋込み広告を生成するための処理400の流れ図である。一般的に、この処理は情報を収集してウェブページの閲覧者に表示する際に埋込みアプリケーションによって取られうる動作を示している。処理は、埋込みアプリケーションに関連するコンテナ文書などの文書から情報を収集するステップと、収集した情報(または収集した情報の派生物)を遠隔サーバに提出するステップと、それに応じて遠隔サーバから情報(たとえば、関連文書を記述している情報提供情報)を受信するステップと、受信した情報(または受信した情報の派生物)を別の遠隔サーバに提出するステップと、引換えに他の遠隔サーバから情報を受信するステップと、受信した情報を特別にフォーマットした方法で表示するステップとを広範に含む。
【００８３】
ボックス402で、まず埋込みアプリケーションが、埋込みアプリケーションおよび/または埋込みアプリケーションのコンテナ文書の「コンテキスト」についての情報を取得する。コンテキストは多くの異なる種類の情報を含むことができ、たとえばコンテナ文書内の主要な見出しのテキスト、コンテナ文書のURLなどのアドレス、コンテナ文書内のリンクのセットなどを含むことができる。文書を表示する装置のユーザについての情報などの、文書の外部のコンテキスト情報も収集できる。このような情報は、たとえば、GPSを使用して、直接ユーザに尋ねることによって、ユーザが位置を尋ねられた後に書かれたクッキーを調べることによって、基地局内での三角測量によって、以前に位置と関連付けられた装置のIPアドレスを調べることによって、eLORANによって、または他のこのようなメカニズムによって、収集できる。
【００８４】
次いで、ボックス404で、埋込みアプリケーションはコンテキスト情報のうちのいくつかまたはすべてをキーワードサーバなどの遠隔サーバに渡す。埋込みアプリケーションは、情報に一定のパラメータを追加することなどによって、まずコンテキスト情報を修正または再フォーマットし、そのパラメータは、提出された情報に関してどのような動作をとるべきかを決定するために、遠隔キーワードサーバによって使用できる。キーワードサーバは、コンテナ文書のURLがサーバに渡されると、コンテナ文書を記述している情報を識別することなどによって、渡された情報を使用して応答を生成できる。次いで、ボックス406に示されるように、キーワードサーバはこのような情報をキーワードの形態などで埋込みアプリケーションに返すことができる。
【００８５】
ボックス408で、埋込みアプリケーションはキーワードをアイテム検索データベースに送信する。埋込みアプリケーションは受信したキーワードを分析でき、そのキーワードに追加、修正してもよく、おそらくフォーマッティング変更(たとえば、XMLからアイテム検索データベースのAPIに一致するHTTP要求に)以外は変更せずに単に渡してもよい。さらに、埋込みアプリケーションは、クエリを受信するために、このような複数のデータベースからアイテム検索データベースを選択することなどによって、他の決定を行うことができる。次いで、埋込みアプリケーションは、アイテム検索データベースが提出されたクエリをデータに適用して応答を生成する間、待つことができる。応答は、たとえばクエリに応答する1つまたは複数のアイテムを含むことができる。
【００８６】
ボックス410で、埋込みアプリケーションがアイテム検索データベースから結果を受信し、ボックス412で検索結果をフォーマットして表示する。フォーマットすることは、表示するための一定の結果を削除すること、また埋込みアプリケーションのためのスペースの形態または大きさを決定すること、および割り当てられたスペース(たとえば一定の寸法を有するiFrame内)に合うように返されたアイテムに関する情報をアレンジすることも含むことができる。さらに、フォーマットすることは、位置データを地図に組み込むことなどの、受信したデータをプログラムされたオブジェクトに組み込むことを含むことができる。
【００８７】
次いで、埋込みアプリケーションは動作を待つことができる。ボックス414で、埋込みアプリケーションは、埋込みアプリケーションによって表示されたアイテムを表すハイパーリンクをユーザがクリックすることなどによって、制御選択を受信する。選択されたハイパーリンクは、埋込みアプリケーションを表示しているブラウザに、選択されたハイパーリンクのターゲットである詳細ページをユーザに対して表示させることができる(埋込みアプリケーションのためのフレーム内、あるいは新しいウインドウ枠またはウインドウ内で)。この処理によって、中央に位置する埋込みアプリケーションは、動的にレンダリングされた広告を表示するためのデータを収集して、ユーザとの対話のためにこのような広告を表示するために必要な情報を渡すことを調整できる。
【００８８】
図4Bは、リアルタイムデータを示す埋込み広告を生成するための処理420の流れ図である。処理420は処理400と同様であるが、広告において使用されるべきデータの要求を再フォーマットして再提出するための追加ステップを含む。
【００８９】
ボックス422で、ウェブページ(たとえば、ガジェットまたはADS BY GOOGLE要素)上で供給されている埋込みアプリケーションが、アプリケーションのコンテナ文書についての情報、および装置の位置などの、アプリケーションが動作している装置についての情報を含む、コンテキストを記述する情報を取得する。一実装形態では、ページのテキスト、またはページの作者によって提供された特別なキーワード要素などで、コンテナページ自体から提供されたページについてのキーワードとして情報を受信できる。別の実装形態では、アプリケーションとコンテナページとの間にGOOGLE ADSENSEなどの「ラッパ」によってキーワードを提供できる。別の実装形態では、アプリケーションがコンタクトできる第3者(たとえばGOOGLE ADSENSEサーバ)によってキーワードを提供して、コンテナ文書のURLのIDを渡すことができる。
【００９０】
収集されたコンテキストは、ユーザの位置の収集物を含むこともできる。一実装形態では、広告がページの位置トピックに合わせられるように、コンテナページから位置を提供できる。たとえば、ページがローマの旅行記を含む旅行サイトからの場合、位置トピックを「ローマ」にすることができる。ページの位置トピックを決定できない場合、ユーザまたは装置の位置を使用できる。別の実装形態では、アプリケーションとコンテナページとの間にGOOGLE ADSENSEなどの「ラッパ」によってキーワードを提供できる。別の実装形態では、アプリケーションがコンタクトできる第3者(たとえばGOOGLE ADSENSEサーバ)によって位置を提供して、ユーザのID、またはその接続(たとえばIPアドレス)を渡すことができる。
【００９１】
ボックス424で、埋込みアプリケーションはキーワードコンテキストを「清掃」する。たとえば、トピックを一般化させるために、スペリングを訂正するために、大文字表記を標準化するために、ステミングを処理するために、アプリケーションはあるキーワードを別のキーワードに変換することによってコンテキストを標準化できる。さらに、または代替で、アプリケーションはキーワードをブラックリスト(たとえばポルノ用語などの、許可されない用語を削除するために)、および/またはホワイトリスト([Mercedes benz]の方が[Mercedes benz slr mclaren]より優先されるように、「強い」ことにより他の単語より優位に立つ単語を識別するために)に適用できる。以前のステップと同様に、コンテナページまたはラッパ内に、または埋込みアプリケーションが起動した後に、清掃するステップが生じることがある。
【００９２】
ボックス426で、処理が位置コンテキストを清掃する。たとえば、処理はファジイング、すなわち地理的正確さの意図的減少を使用できる(たとえばユーザのプライバシーを保護するため、または一致する結果の数を増やすために)。代替で、またはさらに、処理はシフティング、すなわちデータベース内のデータをよりよく表す、近傍の中心点の意図的選択、たとえば水中から内陸にポイントを動かすことを使用できる。
【００９３】
ボックス428で、アプリケーションは遠隔データベースにキーワードコンテキストおよび地理的コンテキスト、または位置情報を照会する。返された結果が十分であると決定されると(たとえば、あらかじめ定められた範囲と比較して、結果が多すぎず、少なすぎない)(ボックス430)、アプリケーションは、その結果を対話広告の形態などでレンダリングできる(ボックス434)。
【００９４】
十分な結果がない場合(ボックス430)、データベースへのさらなる呼を介してさらなる結果を取得するために、アプリケーションはクエリを自動的に洗練できる。このような洗練は、(1)クエリの地理的範囲を、たとえば10から50マイルに拡大するステップ、(2)たとえば[2002 bmw 325i]から[bmw 325i]、そして[bmw]へと、より広範なキーワードを使用するステップ、(3)地理的中心点をたとえばロングアイランドからニューヨークシティにシフトするステップ、(4)人々は一般的にドイツ車を好むという理論に従って、たとえば[bmw]から[Mercedes]へと関連キーワードを試すステップ、(5)キーワードを全く試みない、たとえばNYC内のすべてのリスティングを取るステップ、(6)地理的制限を全く試みないステップ、たとえばすべての[bmw 325i]、または(7)デフォルト検索を試みるステップ、たとえばリスティングの人気または新しさなどによるすべてのリスティングなどの、別々の変更を個々に、または組み合わせて行うことにより、クエリを連続して洗練することを含む、様々な方法で発生しうる。上記のように、クエリの範囲を論理的な方法で徐々に増やすために特定の順序を選択できる。
【００９５】
クエリは他の方法でフォールバックを行うこともできる。たとえば自動車のクエリは以下のようにフォールバックできる。
[(年) (型) (モデル) (...他の単語...)] [位置]の[20]マイル以内
[(年) (型) (モデル) (...他の単語...)] [位置]の[100]マイル以内
[(年) (型) (モデル)] [位置]の[100]マイル以内
[(型) (モデル)] [位置]の[100]マイル以内
[(型)] [位置]の[100]マイル以内
[(すべてのリスティング)] [位置]の[100]マイル以内
[(すべてのリスティング)]どこでもよい
【００９６】
照会されている検索エンジンが、ユーザ位置を強いランキング信号として本質的に使用する場合、距離用語のフォールバックを省くこともできる。
【００９７】
クエリが洗練されて複数回提出されると、すべてのリスティングの都市、説明、および価格情報を比較することなどによって、重複する結果は最終結果から除去されうる。洗練された結果が表示されると(ボックス434)、最初のクエリからの結果をまず表示して、洗練によって生じる結果をリストのより下方に表示できる。洗練が必要かどうかについて決定が行われる前に、複数のクエリを同時に実行することもできる。ある実装形態では、増加的に詳細情報を表示できる。たとえば、郵便番号が最初に提供されると、それを表示でき、次いで都市名が収集されて、ルックアップが完了すると表示内で郵便番号と置き換えられうる。
【００９８】
しばらくすると、ユーザは表示された広告に関連付けられた要素を選択できる(ボックス436)。たとえば、ユーザは要素上にマウスを重ねてもよく、広告内にリストされたアイテムを選択してもよい。後者の状況の場合、アプリケーションによって表示されたコンテンツに関連付けられたウェブサイトへとコンテナ文書にナビゲートさせることなどによって、アプリケーションは応答できる。コンテンツが広告の場合、CPC課金構造のために選択をログ記録できるように、ユーザによる選択も広告システムに報告できる(ボックス438)。ユーザによる他の対話を同様の方法で処理できる。
【００９９】
図5は、リアルタイムデータを示す埋込み広告を生成するための処理500のスイムレーン図である。一般的に処理500は、図1および3に示した構成と同様の構成であるクライアント装置、広告サーバ、およびアイテムサーバの間の対話の例を示している。
【０１００】
例示的処理はボックス502から開始し、クライアントのウェブページ上の埋込みアプリケーションが、ウェブページのコンテキストについての情報を要求する。コンテナ文書または他の適切な構成は、文書のURLなどのコンテキスト情報を提供することによって応答する。ガジェットまたはウィジェットの形態をとりうる埋込みアプリケーションは、モジュールが動作している装置、および/または装置に対応しているユーザについての位置情報を取得することもできる。次いで、埋込みアプリケーションは、コンテキストに関する情報(たとえばURL)を広告サーバなどの遠隔サーバに提出する(ボックス506)。
【０１０１】
要求を受信すると、たとえば有効な要求であることを確実にするために、広告サーバはまず要求を認証することができる(ボックス507)。次いで、サーバは、コンテナ文書を記述している情報が利用可能かどうか、たとえば、ページコンテンツを記述しているキーワードまたはコンセプトが以前にその文書のために生成されて、サーバによって格納されたかどうかを決定する。このような情報が格納されている場合、単にクライアントに返すことができる(ボックス514)。さらに、最近同じ情報を求める要求がされた場合、サーバ上でさらなる検索をせずに、キャッシュはその要求を遮断して返答できる(図示せず)。
【０１０２】
コンテナ文書についてのこのような情報が利用可能ではない場合、広告サーバはコンテナ文書をウェブクローラによって巡回させ(ボックス510)、次いで実行時に新しいキーワードを生成するために分析させる。巡回および分析が成功した場合(ボックス512)、新しく生成されたキーワードをクライアントに返すことができる(ボックス514)。巡回および/または分析がクライアントに返せる情報を生成しない場合、広告サーバはコンテナ文書を記述するための代替情報を取得できる(ボックス516)。たとえば、広告サーバは、コンテナ文書と同じドメインまたは同じパス内のすべての文書についてのキーワードを収集して、収集されたキーワード内で主要な特定のキーワードまたは複数のキーワードを識別できる。代替情報が収集されると、コンテナ文書についての情報として埋込みアプリケーションに返すことができる(ボックス514)。
【０１０３】
ボックス518で、埋込みアプリケーションは、アイテムサーバに渡すための一定のキーワードを選択すること、または受信した情報をアイテムサーバにとって許容できるフォーマットと一致する要求に単に再フォーマットすることなどによって、受信した情報を編集する。ボックス520で、クライアントは要求の再フォーマットを終了してアイテムサーバに提出し、アイテムサーバは要求を受信して、その要求に対応する結果を返す(ボックス522)。提出は、ボックス502で取得したキーワード情報と位置情報の両方を含むことができる。アイテムサーバは上記で説明した様々な手順に従って、または他の適切な処理に従って操作できる。
【０１０４】
次いで、ボックス524で、クライアントは結果を受信して、コンテナ文書では適切に表示しないと決定された一定の結果を削除することなどによって、フィルタリングまたは変更する。どの結果を表示するべきか、およびそれらの結果をどのように表示するべきか決定する際に、埋込みアプリケーションは、表示を生じさせるiFrameおよび同様の構造の大きさなどの、表示パラメータを調べることができる(ボックス526)。次いで、たとえば図2に示されるように、クライアントが結果をフォーマットおよび表示できる(ボックス528)。図示されていないが、埋込みアプリケーションも追加または異なる結果が必要であると決定できる。このような決定が行われると、アプリケーションはより曖昧な用語を使用してクエリを再提出してもよく、クエリを異なるアイテムサーバに提出してもよい。次いで、アプリケーションは、複数のクエリからの結果を単一の表示にまとめることができる(ボックス528)。
【０１０５】
しばらくすると、ユーザは埋込みアプリケーションによって表示された結果のうちの1つを選択でき(ボックス530)、アイテムについてのハイパーリンクが広告サーバに宛てられるようにフォーマットされる場合、HTTP要求を広告サーバに配信させることができる(ボックス522)。次いで、広告サーバは、ユーザのクライアントアプリケーション(たとえばブラウザ)をアイテムサーバにリダイレクトできる(ボックス532および534)。アイテムのハイパーリンクを広告サーバに向けることによって、および直接ではなくリダイレクションによってブラウザをアイテムサーバに向けることによって、処理500は広告サーバにアイテムがクリックされたことを通知でき、広告サーバはクリックごとに広告主に課金できるようになる。他の環境では、広告は、インプレッション単価課金方法などによって異なるように課金されうる。
【０１０６】
ボックス534で、クライアントは、広告サーバによって返された結果に関連する文書を要求する。要求された文書は一般的に文書でもよく、より具体的にはクエリをアイテムサーバに提出することを含んでもよい。次いで、アイテムサーバは要求された文書を供給でき(ボックス536)、供給することはリアルタイム変化情報のデータベースを照会すること、および一致するアイテムをデータベースから返すことを含んでよい。最後にボックス538で、クライアントが文書を表示し、これはウェブページ上、たとえばガジェット内に表示するためにアイテムサーバから受信したXMLベースのデータをフォーマットすることを含みうる。
【０１０７】
図6は、いくつかの埋込みアプリケーションを含むコンテナ文書600の例示的レイアウトを示す図である。iFrameおよびインラインHTML技法の使用を含む、組込みのいくつかの方法が可能である。図6は、ストックモジュール605、電子メールモジュール606、リアルタイム広告モジュール608、および広告モジュール610、612を含む、複数のモジュールを示している。モジュールの作成者によって提供される仕様によって、様々なモジュールについての異なるフォーマットが存在しうる。スクロールバーを提供できるモジュールもあるが、できないモジュールもある。あるモジュールは、他のモジュールとは異なる大きさまたは形である場合がある。さらに、あるモジュールは、ユーザが表示設定および/またはモジュールに関連付けられた使用ごとのデータを編集する機会を与えることができる。
【０１０８】
一実装形態では、インラインモジュールは、スクローリング、高さ、またはスケーリング情報を与えることができないようにコンテナ文書によって自動的にサイズ変更できる。この実施形態においてモジュール開発者がモジュールにこれらのプロパティを与えたい場合、インラインモジュールは固定の大きさ<DIV>タグ、およびそのタグ内に配置されたコンテンツで終わることができる。次いで、インラインコンテンツについてスクロールバー、高さ、および他の特性を指定できる。属性のうちの1つは、scaling = "..."を指定することによって、どのようにモジュールがコンテナ文書内の異なる大きさの配置にスケールアップ、またはスケールダウンできるかを、開発者に示させることができる。
【０１０９】
この例示的コンテナ文書600に提供される機能のうちの1つは、広告コンテンツ要素603を選択することを通じてコンテナページにコンテンツを追加する機会である。「広告コンテンツ」要素603を選択すると、システムは、コンテナページ内に含まれるべき追加要素を対話形式で示す機会をユーザに提供できる。その入力を受信するための、様々な形態のインターフェースを提供できる。
【０１１０】
さらに、モジュールを追加、編集、または削除する際に、コンテナ文書をリフレッシュせずにそれらのアクティビティを発生させることが望ましい場合がある。これを達成するためのある例示的技法は、コンテナ文書ページをリフレッシュせずに(おそらく新しいコンテナが提示されるiFrameのリフレッシュのみ)コンテナ文書にモジュールを追加できるようにするためのAJAXプログラミング技法の使用か、あるいはコンテナ文書をリフレッシュせずにモジュールを削除するために、または開発者がモジュールを開発する際、変更されたモジュールを組み込むためにモジュールが存在しているコンテナ文書をページリフレッシュせずにモジュールを変更できるようにするためのAJAXの使用を含みうる。
【０１１１】
図7は、広告および他のアイテムを動的に生成するための例示的システム700の概略図である。一般的に、システム700は、様々な操作のためにガジェットなどの埋込みアプリケーションを使用するシステムのより一般的な表示である。本明細書で述べる一般的な操作は、必要に応じて図1および3に示したシステムに適用可能である。システム700は、それによって関連付けることができる複数のモジュールを有するホストサーバシステム710を含むことができる。このようなモジュールは、コンテナサーバ712、モジュールサーバ714、仕様サーバ716、バックエンドサーバ718、分析モジュール728、モジュール作成サーバ732、シンジケーションサーバ734、および広告サーバ736を備えることができる。図示したように、ホストサーバシステム710は、ネットワーク726を介して他の複数のシステムまたはサブシステムに接続できる。
【０１１２】
ネットワークに接続された他のシステムは、1つまたは複数のユーザシステム722、1つまたは複数の遠隔アイテムサーバ724、1つまたは複数のモジュール開発者システム730、および1つまたは複数のシンジケーション受信者サーバ738を備えることができる。さらに、1つまたは複数のデータベースシステム720は、ホストサーバシステム710の様々なモジュールとともに操作できる。
【０１１３】
コンテナサーバ712は、ネットワーク726を介してコンテナ文書をユーザシステム722に供給できる。コンテナサーバ712は、データおよび/または命令を取り出して、ネットワークを介してユーザシステム722に送信するためのコンテナを構築する、ウェブサーバまたは関連サーバシステムを使用できる。しかし、ネットワーク接続を使用できないように、そのコンテナサーバ712もユーザシステム722に常駐できる。コンテナ文書がワープロ文書を含む例では、たとえばコンテナサーバ712はワープロモジュールを備えることができる。
【０１１４】
モジュールサーバ714は、モジュールからコンテナサーバ712に、コンテナ文書内に組み込むためのデータを提供できる。一実装形態では、コンテナサーバ712およびモジュールサーバ714は、本明細書に記載の他のサーバおよびモジュールと同様に、両方の機能を実行する単一のユニットを備えることができる。モジュールサーバ714は、モジュールに関連付けられたモジュール仕様における命令を解釈および/または構文解析することによって、コンテナ文書についてのデータを提供できる。一実施形態によれば、モジュールサーバ714は、ブラウザiFrameの使用を通じてモジュールコンテンツをコンテナ文書に供給できる。
【０１１５】
コンテナ文書の表示を促進するために、モジュールをコンテナ文書内でインラインに表示できる。インライン表示は、他の文書要素で表示を参照することとして理解されうる。1つの例は、HTML標準によるボディ内のHTMLのためのコードから生成された表示である。一実施形態では、モジュールサーバ714または他の何らかのコンポーネントは、インラインモジュールが引き起こしうる様々なセキュリティ問題のリスクのために、コンテナ文書に含む前に、そのモジュールが信用されると見なされるかどうか決定できる。一実施形態によれば、モジュールは、コンテナモジュールまたはコンテナモジュールに関連付けられたエンティティによって発行された許可のしるし(たとえばデジタル証明書)を組み込むことができる。許可のしるしが提示されると、モジュールサーバ714は、コンテナ文書内でインライン提示するためのデータをモジュールからレンダリングできる。
【０１１６】
仕様サーバ716は、モジュール仕様ファイルをモジュールサーバ714に提供する。モジュール仕様をキャッシュして、モジュールサーバ714および/または仕様サーバ716がアクセス可能なデータベースに格納してもよく、以下で詳細に説明する仕様に関連付けられた位置から取り出してもよい。たとえば、仕様サーバ716は遠隔アイテムサーバ724に常駐できる。さらに、モジュール仕様が仕様サーバ716にアクセス可能なネットワーク上の別の位置にある状態で、仕様サーバ716はネットワークを介してモジュールサーバ714に接続できる。
【０１１７】
1つまたは複数のデータベース(たとえば、大きいまたは動的な情報データベース)と対話するために、バックエンドサーバ718を提供できる。たとえば、頻繁なアップデートを取得してデータのフロー(たとえばRSSフィードから)を要求する新しいモジュールのために、バックエンドサーバ718はデータをコンテナのためのHTMLにフォーマットできる。
【０１１８】
ある特定の例では、downtown Mountain View、Californiaの地図を表示するためのモジュールを作成するために、人は既存の地図作成プログラムにアプリケーションプログラムインターフェース(API)を使用するモジュールなどのモジュール(たとえば地図モジュール)を作成できる。モジュールは、仕様サーバに格納されたXML仕様ファイルまたはモジュール仕様ファイルを含むことができる。仕様サーバは、コンテナページがホストされるサイト上のサーバを含む、どのような適切なサーバも備えることができる。次いで、ユーザまたは別の人が、この新しいモジュールを個人のホームページまたは他の形態のウェブページ(コンテナ文書)に含むことができる。コンテナ文書を供給するサーバはモジュールサーバとして動作でき、APIからの照会を通じて地図作成データを生成するサーバは、バックエンドサーバと見なされうる。
【０１１９】
一実装形態では、分析モジュール728は、何度も(たとえば、ユーザによってモジュールが最初に選択されたときに、含まれるためにコンテナによってモジュールが呼ばれるたびに、または安全およびセキュリティのために有利であると決定された他の何らかのときなどに)モジュールを分析できる。分析モジュール728は、モジュールを許可されない、または危険なモジュールのリスト、あるいは許可されたモジュールのリストと比較することを含む、いくつかの動作を実行できる。比較は、名前または位置(たとえばURL)、仕様のコンテンツ、仕様が常駐する位置のコンテンツ、あるいはモジュールについて確認できる情報による、完全一致検索または部分列(たとえば接頭辞、接尾辞、および正規表現)検索を含むことができる。
【０１２０】
分析モジュール728は、モジュールが許可されない、または危険であるという決定に応じて、たとえば静かに要求をブロックすること(すなわち一般的エラーを提供すること)、ブロックされた理由を説明するエラーで要求をブロックすること、または、安全であって、許可されないモジュールと関連があると決定された異なるモジュール仕様(たとえば、最初のモジュールが許可されない地図作成サイトの場合は地図に関連する別のモジュール、または、許可されないモジュールがバスケットボールモジュールの場合はキーワード「バスケットボール」を含むモジュール)に要求をリダイレクトすることを含む、1つまたは複数の動作を取ることができる。たとえば、リダイレクションを通じて、元のモジュールのURLを「安全な」モジュールに渡すことができる。次いで、後述のように、元のURLのコンテンツを取り出すために安全なモジュールはプロキシサーバを使用できる。次いで開発者は、元のモジュールのコンテンツを表示できるように、元のモジュール内の小さなバグを修正するために、エラー処理システムを置き換えることができる。別の実施形態では、分析モジュール728は、モジュールが実行する可能性がある危険、または望ましくない動作の識別を試みるために、モジュール内に含まれるJavaScriptまたは他のスクリプトをコンパイルすることなどによって、安全かどうかを決定するためにモジュールコンテンツを構文解析できる。
【０１２１】
1つまたは複数のモジュール作成サーバ732を提供できる。これらのサーバは、モジュール作成者が対話型処理を通じてモジュールを作成できるように「ウィザード」として動作できる。たとえば、モジュール作成サーバ732は、モジュールを作成している人がモジュール仕様を自動的に生成するために使用される入力を提供できるようにする、一連のユーザインターフェースを提供できる。たとえば、様々なモジュール仕様テンプレートに対応する入力が提供されうる。次いで、モジュール作成サーバ732は、ユーザによって提供された入力を取り、それをテンプレートに挿入し、モジュールのためのモジュール仕様を生成する。これらの「ウィザード」の一部として、プレビュー、テスト、およびデバッグ機能も提供されうる。このモジュールはクライアントにとってもダウンロード可能である。
【０１２２】
シンジケーションサーバ734は、モジュールに関連する1つまたは複数のシンジケーション受信者サーバ738に送信するためのデータを準備できる。シンジケーションサーバ734は、モジュールおよび/またはモジュールコンテンツを求める要求を受信して、そのモジュールまたはコンテンツを、ネットワーク726を介してシンジケーション受信者サーバ738に配信できる。シンジケーションサーバ734は、ホストサーバシステム710、またはネットワーク上の別の位置に常駐できる。
【０１２３】
たとえば、スポーツウェブサイト(シンジケーション受信者サーバ738の一例)のオペレータが、遠隔ソースサーバ724によって作成された広告モジュールを含むことを望むと、シンジケーションサーバ734への要求を通じてそのようにできる。次いで、シンジケーションサーバ734は、モジュールサーバ714と共働して、コンテナ文書についてのデータ(ここではシンジケーション受信者サーバ738のスポーツウェブサイトページ)を生成できる。これは、遠隔ソースサーバ724からモジュール仕様を取り出すこと、シンジケーション受信者サーバ738から受信した嗜好を供給すること(たとえば表示されているページのスポーツチームの都市情報)、および/またはコンテナについてのデータを生成することを含むことができる。シンジケーション受信者サーバ738で、データをコンテナ文書内にiFrame、またはインラインでレンダリングすることも可能である。したがってシンジケーションサーバ734は、それにアクセスできるモジュールをシンジケートできる。シンジケーションサーバ734は、特定のモジュールを求める要求、またはシンジケーションサーバ734が決めた他の基準(たとえば、コンテンツ一致、キーワード一致、モジュールおよび/またはシンジケーションリクエスタに関連付けられた金銭的価値など)に基づいてシンジケートできる。
【０１２４】
広告サーバ736は、モジュールに関連付けられた広告を、このようなモジュールのための表示を作成するために、コンテナおよび/またはデータに提供できる。たとえば、データがコンテナ文書に配信される際、モジュールデータに広告を組み込むことができる。広告サーバ736は、モジュールを求めるシンジケーション要求に基づいて広告をシンジケーション受信者サーバ738に配信するために、シンジケーションサーバ734とともに動作できる。広告は、これに限定されないが、コンテナのコンテンツ、またはコンテナについての情報、モジュール、コンテナ内の他のモジュール、シンジケーション受信者サーバ情報、前述のいずれか、および/またはそれらの組合せに関連する金銭的要素/関係の間の関係を含む幅広い種類の基準に基づいて、広告サーバ736によって選択できる。一実施形態によれば、広告サーバ736はGOOGLE ADSENSEシステムを備えることができる。
【０１２５】
具体的には、広告サーバ736は、モジュールに関連する2つ以上のコンセプトを広告に関連付けること、および集合的に付け値を2つ以上のキーワードに関連付けることによって、オンライン広告を管理できる。さらに、シンジケーションサーバ734または広告サーバ736は、モジュールに関連付けられたコンテナページを記述する情報を求める要求を送信する広告関連モジュールなどの、シンジケートされたモジュールからの要求に応答できる。
【０１２６】
いくつもの適切な方法で、コンテナ情報、モジュール仕様および/または関連情報、フォーマッティングデータ、ユーザごとまたはモジュールごとの嗜好データ、遠隔モジュールIDデータ、遠隔モジュール位置参照データ、広告データ、広告主データ、コンテンツ/金銭的データ、シンジケーション受信者データ、モジュールのためのテンプレート、モジュールのための入力、信用されるおよび信用されないモジュールのリスト、許可基準および関連情報、および/または本明細書に記載したように動作するためにモジュールによって使用される他の何らかの情報を格納する、1つまたは複数のデータベースシステム720を提供できる。単一のデータベース構造が図示されているが、データは複数の位置で1つまたは複数のシステムに格納できる。
【０１２７】
一実装形態では、モジュールをコンテナ文書に組み込むためのシステムおよび方法が提供される。コンテナ文書の一例は、インターネット上でGOOGLEサービスのユーザにとって現在利用可能なGOOGLE PERSONALIZED HOMEPAGEなどの個人のホームページである。ユーザがコンテナ文書内に含むことができる、個人のホームページなどのコンテンツのタイプを制限する代わりに、本発明の1つまたは複数の実施形態によって、ユーザはコンテナ文書のソース以外のソースからモジュールを選択できるようになる。したがって、たとえばユーザはGOOGLEに関連付けられないソースから自分の個人のGOOGLEホームページにモジュールを含むように選択できる。
【０１２８】
図8は、本明細書に記載した技法を実装するために使用できるコンピュータ装置800およびモバイルコンピュータ装置850の例を示す図である。コンピュータ装置800は、ラップトップ、デスクトップ、ワークステーション、携帯情報端末、サーバ、ブレードサーバ、メインフレーム、および他の適切なコンピュータなどの、様々な形態のデジタルコンピュータを象徴することを意図している。コンピュータ装置850は、携帯情報端末、セルラー式電話、スマートフォン、および他の同様のコンピュータ装置などの、様々な形態のモバイル装置を象徴することを意図している。本明細書に示されるコンポーネント、それらの接続と関係、およびそれらの機能は、例示のためだけのものであり、本明細書において説明された、および/または請求項に記載された本発明の実装形態を限定することを意図しない。
【０１２９】
コンピュータ装置800は、プロセッサ802、メモリ804、記憶装置806、メモリ804と高速拡張ポート810に接続している高速インターフェース808、ならびに低速バス814と記憶装置806に接続している低速インターフェース812を含む。それぞれのコンポーネント802、804、806、808、810、および812は、様々なバスを使用して相互に接続されており、共通のマザーボードに搭載されうるか、または必要に応じて他の方法で搭載されうる。プロセッサ802は、高速インターフェース808に連結されたディスプレイ816などの、外部入力/出力装置上のGUIのためのグラフィカル情報を表示するためにメモリ804または記憶装置806に格納された命令を含む、コンピュータ装置800の内部で実行するための命令を処理できる。他の実装形態では、複数のメモリおよび複数のタイプのメモリとともに、必要に応じて複数のプロセッサおよび/または複数のバスを使用できる。また、複数のコンピュータ装置800が、必要な動作の一部を提供する各装置と接続できる(たとえば、サーババンク、ブレードサーバのグループ、またはマルチプロセッサシステムとして)。
【０１３０】
メモリ804は、コンピュータ装置800の内部で情報を格納する。一実装形態では、メモリ804は揮発性記憶装置、または複数の揮発性記憶装置である。別の実装形態では、メモリ804は不揮発性記憶装置、または複数の不揮発性記憶装置である。メモリ804は、磁気または光ディスクなどの他の形態のコンピュータ可読メディアでもよい。
【０１３１】
記憶装置806は、コンピュータ装置800に大容量の記憶装置を提供することが可能である。一実装形態では、記憶装置806は、フロッピー（登録商標）ディスク装置、ハードディスク装置、光ディスク装置、またはテープ装置、フラッシュメモリもしくは他の同様のソリッドステートメモリ装置、または記憶領域ネットワークもしくは他の構成における装置を含む装置のアレーなどのコンピュータ可読メディアでもよく、コンピュータ可読メディアを含んでもよい。コンピュータプログラム製品は、情報担体内に有形に実装できる。コンピュータプログラム製品は、実行されたときに、上述の方法などの1つまたは複数の方法を遂行する命令を含むこともできる。情報担体は、メモリ804、記憶装置806、プロセッサ802上のメモリ、または伝搬された信号などの、コンピュータ可読メディアまたは機械可読メディアである。
【０１３２】
高速コントローラ808はコンピュータ装置800の帯域消費型(bandwidth-intensive)動作を管理し、一方低速コントローラ812はより低い帯域消費型動作を管理する。このような機能の割当ては例示的なものに過ぎない。一実装形態では、高速コントローラ808は、メモリ804、ディスプレイ816(たとえば、グラフィックスプロセッサまたはアクセラレータを通じて)に連結されるとともに、様々な拡張カード(図示せず)を受け入れることができる高速拡張ポート810に連結されている。この実装形態において、低速コントローラ812は、記憶装置806および低速拡張ポート814に連結されている。様々な通信ポート(たとえばUSB、ブルートゥース、イーサネット（登録商標）、無線イーサネット)を含むことができる低速拡張ポートは、キーボード、ポインティングデバイス、スキャナのような1つまたは複数の入力/出力装置に連結されうるか、あるいはたとえばネットワークアダプタを通じて、スイッチまたはルータなどのネットワーク装置に連結されうる。
【０１３３】
コンピュータ装置800は、図示したように多くの異なる形態で実装できる。たとえば、コンピュータ装置800は標準サーバ820として実装されてもよく、このようなサーバのグループ内で何度も実装されてもよい。ラックサーバシステム824の一部として実装することもできる。さらに、ラップトップコンピュータ822などのパーソナルコンピュータにおいて実装できる。あるいは、コンピュータ装置800が提供するコンポーネントを、装置850などのモバイル装置(図示せず)内の他のコンポーネントと結合できる。このような装置はそれぞれコンピュータ装置800、850のうちの1つまたは複数を含むことができ、全体のシステムは、相互に通信している複数のコンピュータ装置800、850で構成することができる。
【０１３４】
コンピュータ装置850は、他のコンポーネントの間に、プロセッサ852、メモリ864、およびディスプレイ854などの入力/出力装置、通信インターフェース866、およびトランシーバ868を含む。装置850は、追加の記憶装置を提供するために、さらにマイクロドライブまたは他の装置などの記憶装置を備えることができる。それぞれのコンポーネント850、852、864、854、866、および868が様々なバスを使用して相互接続されるとともに、コンポーネントのうちのいくつかが共通マザーボードに搭載されうるか、もしくは必要に応じて他の方法で搭載されうる。
【０１３５】
プロセッサ852は、コンピュータ装置850の内部で、メモリ864に格納された命令を含む命令を実行できる。プロセッサは、個別のおよび複数のアナログプロセッサおよびデジタルプロセッサを含むチップのチップセットとして実装できる。たとえばプロセッサは、ユーザインターフェース、装置850によって実行されるアプリケーション、および装置850による無線通信の制御などの、装置850の他のコンポーネントの調整を提供できる。
【０１３６】
プロセッサ852は、ディスプレイ854に連結された制御インターフェース858および表示インターフェース856を通じてユーザと交信できる。たとえばディスプレイ854は、TFT(薄膜トランジスタ液晶ディスプレイ)ディスプレイでも、OLED(有機発光ダイオード)ディスプレイでもよく、他の適切なディスプレイ技術でもよい。表示インターフェース856は、グラフィック、および他の情報をユーザに提示するために、ディスプレイ854を駆動するための適切な回路を備えることができる。制御インターフェース858はユーザからコマンドを受信して、プロセッサ852に対して提出するためにそれらを変換できる。さらに、装置850と他の装置との近距離通信を可能にするために、プロセッサ852と通信する外部インターフェース862を提供できる。たとえば、外部インターフェース862は、ある実装形態では有線通信を提供し、または他の実装形態では無線通信を提供でき、さらに複数のインターフェースも使用できる。
【０１３７】
メモリ864はコンピュータ装置850の内部で情報を格納する。メモリ864は、コンピュータ可読メディアまたは複数のコンピュータ可読メディア、揮発性記憶装置または複数の揮発性記憶装置、あるいは不揮発性記憶装置または複数の不揮発性記憶装置のうちの1つまたは複数として実装できる。増設メモリ874をさらに提供するとともに、たとえばSIMM(シングルインラインメモリモジュール)カードインターフェースを含むことができる拡張インターフェース872を通じて装置850に接続することもできる。このような増設メモリ874は装置850に追加の記憶スペースを提供することもでき、あるいは装置850に関するアプリケーションまたは他の情報を格納することもできる。具体的には、増設メモリ874は上述の手順を実行または補完するための命令を含むことができ、また安全な情報も含むことができる。したがって、たとえば増設メモリ874を装置850のためのセキュリティモジュールとして提供でき、装置850の安全な使用を可能にする命令によってプログラムできる。さらに、安全なアプリケーションは、SIMMカード上にハッキングできない(non-hackable)方法で配置する識別情報などの追加の情報とともに、SIMMカードによって提供できる。
【０１３８】
たとえば、以下で論じられるように、メモリは、フラッシュメモリ、および/または、NVRAMメモリを含むことができる。一実装形態では、コンピュータプログラム製品は、情報担体内に有形に実装される。コンピュータプログラム製品は、実行されたときに上述の方法のような1つまたは複数の方法を遂行する命令を含む。情報担体は、メモリ864、増設メモリ874、プロセッサ852上のメモリ、またはたとえばトランシーバ868または外部インターフェース862を介して受信できる伝搬された信号などの、コンピュータ可読メディアまたは機械可読メディアである。
【０１３９】
装置850は、必要であればデジタル信号処理回路構成を含みうる通信インターフェース866を通じて、無線で通信できる。とりわけ、通信インターフェース866は、GSM音声コール、SMS、EMS、またはMMSメッセージング、CDMA、TDMA、PDC、WCDMA、CDMA2000、またはGPRSなどの、様々なモードまたはプロトコルの通信を提供できる。たとえば、このような通信は、無線周波数トランシーバ868を通して発生できる。さらに、短距離通信は、ブルートゥース、WiFi、または他のこのようなトランシーバ(図示せず)を使用することによって発生できる。さらに、GPS(グローバルポジショニングシステム)受信機モジュール870は、装置850に追加のナビゲーションおよび位置に関連する無線データを提供でき、それは装置850上で動作しているアプリケーションによって必要に応じて使用されうる。
【０１４０】
装置850は、ユーザから口頭による情報を受信して、使用可能なデジタル情報に変換できる音声コーデック860を使用して、聞こえるように通信することもできる。音声コーデック860は、同様に、たとえば装置850のハンドセット内のスピーカーなどを通して、ユーザのために可聴音を生成できる。このような音は、音声通話からの音を含むこともでき、記録された音(たとえば、音声メッセージ、音楽ファイルなど)を含むこともでき、装置850で動作しているアプリケーションによって生成された音を含むこともできる。
【０１４１】
図面において示されたように、コンピュータ装置850は、多くの異なる形態において実装できる。たとえば、セルラー式電話880として実装できる。また、スマートフォン882、携帯情報端末、または他の同様のモバイル装置の一部としても実装できる。
【０１４２】
本明細書で説明したシステムおよび技法の様々な実装形態は、デジタル電子回路、集積回路、特別に設計された広告サーバASIC(特定用途向け集積回路)、コンピュータハードウェア、ファームウェア、ソフトウェア、および/または、それらの組み合わせにおいて実現することができる。これらの様々な実装形態は、記憶装置システムからデータおよび命令を受信するとともに記憶装置システムにデータおよび命令を送信するために記憶装置システムに連結された、特殊用途であるかまたは多目的でありうる少なくとも1つのプログラム可能なプロセッサと、少なくとも1つの入力装置と、少なくとも1つの出力装置とを含むプログラム可能なシステムにおいて実行可能および/または解釈可能である1つまたは複数のコンピュータプログラムにおける実装形態を含むことができる。
【０１４３】
これらのコンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、またはコードとしても知られている)は、プログラム可能なプロセッサのための機械語命令を含み、高水準の手続き的なプログラミング言語で、および/またはオブジェクト指向のプログラミング言語で、および/またはアセンブリー言語/機械語で実装できる。本明細書で使用されるように、「機械可読メディア」および「コンピュータ可読メディア」という用語は、機械語命令および/またはデータをプログラム可能なプロセッサに提供するために使用されるとともに、機械可読信号として機械語命令を受信する機械可読メディアを含む、あらゆるコンピュータプログラム製品、コンピュータプログラム器具、および/または、コンピュータプログラム装置(たとえば、磁気ディスク、光ディスク、メモリ、プログラム可能論理回路(PLD))のことを指す。「機械可読信号」という用語は、機械語命令および/またはデータをプログラム可能なプロセッサに提供するために使用されるあらゆる信号のことを指す。
【０１４４】
ユーザとの対話を提供するために、本明細書で説明したシステムおよび技法は、情報をユーザに表示するためのディスプレイ装置(たとえばCRT(ブラウン管)、またはLCD(液晶ディスプレイ)モニタ)、ならびにそれによってユーザがコンピュータに入力を提供することができるキーボードおよびポインティングデバイス(たとえばマウスまたはトラックボール)を有するコンピュータ上で実装できる。ユーザとの対話を提供するために、同様に他の種類の装置も使用でき、たとえばユーザに提供されるフィードバックは、どのような形態の感覚フィードバック(たとえば視覚フィードバック、聴覚フィードバック、または触覚フィードバック)でもよく、そしてユーザからの入力は、音響入力、音声入力、または触覚入力を含むどのような形態でも受信できる。
【０１４５】
本明細書で説明したシステムおよび技法は、バックエンドコンポーネントを含む(たとえばデータサーバとして)か、またはミドルウェアコンポーネント(たとえばアプリケーションサーバ)を含むか、またはフロントエンドコンポーネント(たとえばグラフィカルユーザインターフェースを有するクライアントコンピュータ、またはそれを通じてユーザが本明細書で説明されたシステムおよび技法の実装形態と対話できるウェブブラウザ)を含むか、またはそのようなバックエンドコンポーネント、ミドルウェアコンポーネント、またはフロントエンドコンポーネントのどのような組み合わせも含むコンピュータシステムにおいて実装できる。システムのコンポーネントは、どのような形態またはメディアのデジタルデータ通信(たとえば、通信ネットワーク)によっても相互接続できる。通信ネットワークの例には、ローカルエリアネットワーク(「LAN」)、ワイドエリアネットワーク(「WAN」)、およびインターネットがある。
【０１４６】
コンピュータシステムは、クライアントおよびサーバを含むことができる。クライアントおよびサーバは、一般的に相互から遠く離れており、通常は通信ネットワークを通じて対話する。クライアントとサーバの関係は、それぞれのコンピュータ上で動作しており相互にクライアント-サーバ関係を有するコンピュータプログラムによって生じる。
【０１４７】
多くの実施形態を説明してきた。しかしながら、様々な変更を行うことができるということが理解されよう。たとえば、ステップの順番が変更された、ステップが追加された、またはステップが削除された、上述のフローの様々な形態を使用できる。さらに、上述の多くはオンラインオークションサービスなどのリスティングサービスからのリスティング情報の配信に焦点を当てたが、広告されている特定のものはサービスでよく、オークションベースシステムの内部および外部の両方で使用できる。さらに、実施形態の多くをリアルタイムに関連して説明してきたが、動的に作成された広告、他のコンテンツ配信も、非広告ベースのコンテンツを含む他の様々な形態で提供できる。したがって、他の実施形態は添付の特許請求の範囲内である。
【符号の説明】
【０１４８】
100  システム
102  コンテナ文書
102a  見出し
102b  本文
104  埋込みアプリケーション
104a  埋込みアプリケーション
104b  地図
104c  検索領域
106  広告サーバ
108  アイテム検索システム
110  モバイル装置
202  ガジェット広告の例示的表示
204  入力領域
206  表示
208  表示
210  表示
300  例示的システム
302  広告サーバ
304  コンテナ文書
306  埋込みアプリケーション
306a  メッセージ
306b  メッセージ
308  アイテムデータベース
310  ネットワーク
312  クローラ
314  文書アナライザ
316  ページコンテンツデータ
318  要求プロセッサ
320  応答フォーマッタ
320a  キーワード
323  URL
324  コンテキストリクエスタ
326  要求フォーマッタ
328  広告ジェネレータ
600  コンテナ文書
603  「広告コンテンツ」要素
605  ストックモジュール
606  電子メールモジュール
608  リアルタイム広告モジュール
610  広告モジュール
612  広告モジュール
700  システム
710  ホストサーバシステム
712  コンテナサーバ
714  モジュールサーバ
716  仕様サーバ
718  バックエンドサーバ
720  データベースシステム
722  ユーザシステム
724  遠隔アイテムサーバ
726  ネットワーク
728  分析モジュール
730  モジュール開発者システム
732  モジュール作成サーバ
734  シンジケーションサーバ
736  広告サーバ
738  シンジケーション受信者サーバ
800  コンピュータ装置
802  プロセッサ
804  メモリ
806  記憶装置
808  高速インターフェース
810  高速拡張ポート
812  低速インターフェース
814  低速バス
816  ディスプレイ
820  標準サーバ
822  ラップトップコンピュータ
824  ラックサーバシステム
850  モバイルコンピュータ装置
852  プロセッサ
854  ディスプレイ
856  表示インターフェース
858  制御インターフェース
860  音声コーデック
862  外部インターフェース
864  メモリ
866  通信インターフェース
868  トランシーバ
870  受信機モジュール
872  拡張インターフェース
874  増設メモリ
880  セルラー式電話
882  スマートフォン
【図１】
2011528479.tif 000003
【図２】
2011528479.tif 000004
【図３】
2011528479.tif 000005
【図４Ａ】
2011528479.tif 000006
【図４Ｂ】
2011528479.tif 000007
【図５】
2011528479.tif 000008
【図６】
2011528479.tif 000009
【図７】
2011528479.tif 000010
【図８】
2011528479.tif 000011
【国際調査報告】
2011528479.tif 000012
2011528479.tif 000013