(58)【調査した分野】(Int.Cl.,DB名)
前記データが、前記クライアントデバイスに、所定の標準サイズの組のうちの各所定の標準サイズをランク付けさせ、前記ランク付けが、各所定の標準サイズの面積、各所定の標準サイズの推定収入値、および比率一致の値に少なくとも部分的に基づく、請求項1に記載の方法。
前記比率一致の値が、前記親要素の幅および前記ビューポートの幅に少なくとも部分的に基づき、かつ/または、各所定の標準サイズの第1の寸法と前記親要素の前記幅との比率に少なくとも部分的に基づき、かつ/または、各所定の標準サイズの第2の寸法と前記親要素の前記幅を引いた前記ビューポートの前記幅との比率に少なくとも部分的に基づく、請求項3に記載の方法。
前記所定の標準サイズの組のうちのある所定の標準サイズの面積が前記ビューポートの面積の所定のパーセンテージを超える場合、当該所定の標準サイズがランク付けされない、請求項3に記載の方法。
前記データが、前記クライアントデバイスに、前記ビューポートの第2のサイズおよび前記親要素の第2の幅に少なくとも部分的に基づいて第2のコンテンツ項目サイズを決定させる、請求項1から5のいずれか一項に記載の方法。
前記データが、前記クライアントデバイスに、決定された前記第2のコンテンツ項目サイズに基づいて前記第1のコンテンツ項目のコンテンツ項目サイズをサイズ変更させる、請求項7に記載の方法。
前記データが、前記クライアントデバイスに、所定の標準サイズの組のうちの各所定の標準サイズをランク付けさせ、前記ランク付けが、各所定の標準サイズの面積、各所定の標準サイズの推定収入値、および比率一致の値に少なくとも部分的に基づく、請求項9に記載のシステム。
前記比率一致の値が、各所定の標準サイズの第1の寸法と前記親要素の幅との比率、および、各所定の標準サイズの第2の寸法と前記親要素の前記幅を引いた前記ビューポートの幅との比率に少なくとも部分的に基づく、請求項10に記載のシステム。
所定の標準サイズの組のうちのある所定の標準サイズの面積が前記ビューポートの面積の所定のパーセンテージを超える場合、当該所定の標準サイズがランク付けされない、請求項9から11のいずれか一項に記載のシステム。
前記データが、前記クライアントデバイスに、前記ビューポートの第2のサイズおよび前記親要素の第2の幅に少なくとも部分的に基づいて第2のコンテンツ項目サイズを決定させる、請求項9から12のいずれか一項に記載のシステム。
命令が記憶される非一時的コンピュータ可読記憶デバイスであって、前記命令が、1つまたは複数の処理モジュールに、請求項1から8のいずれか一項に記載の方法を実行させる命令を含む、非一時的コンピュータ可読記憶デバイス。
【発明を実施するための形態】
【0012】
図のうちのいくつかまたは全ては、説明のための概略表現であることを理解されよう。図は、請求項の範囲または意味を制限するために使用されることがないという明確な理解をもって、1つまたは複数の実施形態を図示するために提供される。
【0013】
以下は、コンピュータネットワークについての情報を提供するための方法、装置、およびシステムに関する様々な概念およびそれらの実装形態のより詳細な記載である。上で導入され、下でより詳細に議論される様々な概念は、記載される概念が実装形態の特定の様態に制限されないので、多くのやり方のいずれかで実装することができる。特定の実装形態およびアプリケーションの例が、主に説明する目的で提供される。
【0014】
コンピューティングデバイス(例えば、クライアントデバイス)は、ウェブページなどのリソースを、インターネットを介して、そのリソースに対応するウェブページサーバなどのサーバと通信することにより、閲覧することができる。リソースは、第一者のコンテンツプロバイダからリソースの主題である第一者のコンテンツ、ならびに広告または他のコンテンツなど、追加の第三者が提供するコンテンツを含む。ウェブページの訪問者は、ウェブページを閲覧するため、幅広い範囲のスクリーンサイズを有する幅広い範囲のデバイスを使用する。したがって、リソースの提示は、リソースを要求しているデバイスのタイプ(例えば、デスクトップコンピュータ、タブレットコンピュータ、モバイルデバイスなど)、リソースを要求しているデバイスのスクリーンサイズ、および/またはクライアントデバイス上の第一者のコンテンツの閲覧可能サイズに基づいて変更することができる。そのように応答するウェブデザインによって、クライアントデバイスおよび/またはどのように第一者のコンテンツがクライアントデバイス上に表示されているのかに基づいて、リソースが、見た目に美しいようにエンドユーザに表示されることが可能になる。いくつかの実装形態では、ウェブサイトのオーナは、かれらのウェブページで表示される、第三者のコンテンツ項目がどんなサイズであることを望むのかを手動で決定する。すなわち、第三者のコンテンツ項目の提示は、リソースを要求しているデバイスの異なるタイプ、第一者のコンテンツの異なるスクリーンサイズおよび/または異なる閲覧可能サイズについて指定することができ、その結果、第三者のコンテンツ項目は、デバイスの閲覧区域を支配しないが、リソースの第一者のコンテンツに対して過度に小さくない。例えば、大きいデスクトップのスクリーン上で適切に見え、良好に変換する、大きい第三者のコンテンツ項目は、モバイルデバイス上では大きすぎる可能性がある。反対に、モバイルデバイスの小さいディスプレイ上に提示されるようにデザインされた、320画素(px)×50画素などの小さいサイズである第三者のコンテンツ項目は、大きいデスクトップのスクリーン上では人目を引かない可能性がある。したがって、本明細書で非常に詳細に記載されることになるように、リソースで提示されるコンテンツ項目について、自動的にサイズを決定し、決定されたサイズに基づいて第三者のコンテンツ項目を選択および供給することが有用な可能性がある。
【0015】
第三者のコンテンツ項目の選択および供給は、要求されたウェブページで提示されるコンテンツ項目を要求するために、コンテンツ項目選択システムなどのデータ処理システムと通信するウェブページサーバおよび/またはクライアントデバイスからウェブページをアクセスする要求に応答することができる。コンテンツ項目選択システムは、第三者のコンテンツ項目を選択し、データを提供して、クライアントデバイスのディスプレイ上に要求されたウェブページで、コンテンツ項目の提示を実現することができる。いくつかの例では、コンテンツ項目は、検索クエリに関連するリソースで、選択および供給される。例えば、検索エンジンは、検索結果ウェブページ上に検索結果を戻すことができ、検索結果ウェブページの1つまたは複数のコンテンツ項目スロット中に、検索クエリに関係する第三者のコンテンツ項目を含むことができる。
【0016】
いくつかの例では、デバイス識別子がクライアントデバイスと関連付けられる。デバイス識別子は、リソースおよび/またはコンテンツ項目についての後段の要求期間にデバイスを識別するために、クライアントデバイスに関連付けられるランダム化された数を含むことができる。いくつかの例では、デバイス識別子は、クライアントデバイスに関する情報(例えば、ウェブブラウザタイプ、オペレーティングシステム、以前のリソース要求、以前のコンテンツ項目要求など)をクライアントデバイスに記憶させ、かつ/またはコンテンツ項目選択システムおよび/またはリソースサーバへと送信させるように構成される。
【0017】
本明細書で議論されるシステムがユーザの個人情報を集める、もしくは個人情報を使用し得る状況では、プログラムまたは特徴がユーザ情報(例えば、ユーザのソーシャルネットワーク、社会的な行為もしくは活動、職業、ユーザの好み、またはユーザの現在の位置についての情報)を集めるかどうかを制御する、またはコンテンツサーバからユーザにより関連のある可能性があるコンテンツを受け取るかどうか、かつ/またはどのように受け取るかを制御する機会をユーザに提供することができる。加えて、個人的に識別可能な情報が除去されるように、特定のデータは、記憶または使用される前に、1つまたは複数のやり方で取り扱うことができる。例えば、個人的に識別可能な情報をユーザについて決定することができない、または位置情報が獲得される場合にユーザの地理的な位置を(市、郵便番号、または州レベルなど)一般化することができ、その結果、ユーザの特定の位置を決定することができないように、ユーザの識別情報を取り扱うことができる。したがって、ユーザは、どのようにして情報がユーザについて集められ、コンテンツサーバにより使用されるのかについて制御権を有することができる。
【0018】
第三者のコンテンツプロバイダは、インターネットまたは他のネットワークを介して、要求されたリソースで提示するため第三者のコンテンツ項目を提供するとき、第三者のコンテンツ項目の選択および供給を制御する、さもなければ影響を及ぼすため、コンテンツ項目管理サービスを利用することができる。例えば、第三者のコンテンツプロバイダは、第三者のコンテンツ項目の選択で使用される、選択基準(キーワードなど)および対応する付け値を指定することができる。付け値は、リソースで表示するためにコンテンツ項目を選択および供給するため、オークションで、コンテンツ項目選択システムが利用することができる。例えば、第三者のコンテンツプロバイダは、ユーザがプロバイダのコンテンツ項目と相互作用する場合、(例えば、ユーザがプロバイダのコンテンツ項目上でクリックする場合、プロバイダが$3支払うことに合意するといった)一定の量の金を支払う契約に対応するオークション中で入札をすることができる。他の実装形態では、第三者のコンテンツプロバイダは、コンテンツ項目が選択および供給される場合、(例えば、コンテンツ項目が選択および供給されるたびにプロバイダが$0.005支払うことに合意するといった)一定量の金を支払う契約に対応するオークション中で入札をすることができる。いくつかの例では、コンテンツ項目選択システムは、コンテンツ項目相互作用データを使用して、第三者のコンテンツプロバイダのコンテンツ項目の性能を決定する。例えば、ユーザは、他よりも、特定のウェブページ上の第三者のコンテンツ項目上でクリックする傾向がより高い可能性がある。したがって、より高い性能のウェブページ、ウェブページのカテゴリ、および/または他の基準について、第三者のコンテンツ項目を置くためのオークションの入札はより高い可能性があり、一方より低い性能のウェブページ、ウェブページのカテゴリ、および/または他の基準について、入札はより低い可能性がある。
【0019】
いくつかの例では、ウェブページまたは他のリソース(例えば、アプリケーションなど)は、選択および供給される第三者のコンテンツ項目を表示することができる、1つもしくは複数のコンテンツ項目スロットまたはユニットを含む。ウェブページまたは他のリソースについてのコンテンツ項目スロットを規定するコード(例えば、JavaScript(登録商標)、HTMLなど)は、コンテンツ項目選択システムからウェブページで表示される第三者のコンテンツ項目を要求する命令を含むことができる。そのようなコードは、クライアントデバイスが、第三者のコンテンツ項目を要求する前に他のタスクを実施するように実行することができる。例えば、コンテンツ項目選択システムに送信された要求が、クライアントデバイスのディスプレイ上に提示されるリソースについて、適切にサイズ決定されたコンテンツ項目をもたらすように、クライアントデバイスのタイプ、クライアントデバイスのスクリーンサイズ、クライアントデバイス上の第一者のコンテンツの閲覧可能サイズ、および/またはリソースのコンテンツ項目スロットもしくはユニットに対する親要素のサイズに基づいて、リソースで提示されるコンテンツ項目のサイズを自動的に決定するようコードを構成することができる。そのような応答性のあるコンテンツ項目スロットまたはユニットは、第一者のコンテンツが表示される可能性がある様々なサイズについて、コンテンツ項目のサイズを手動で規定する必要がない、第三者のコンテンツ項目を提示するための簡単な解決策および実装形態で、第一者のコンテンツプロバイダを提供する。
【0020】
上記は、コンテンツ項目のサイズを自動的に決定できるコンテンツ項目選択システムの概要を提供したが、そのようなシステムについてのより具体的な実装形態および方法がここで記載されることになる。
【0021】
図1は、ネットワーク106などの少なくとも1つのコンピュータネットワークを介して情報を提供するためのシステム100の実装形態のブロック図である。ネットワーク106としては、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、公衆交換電話網(PSTN)などの電話線ネットワーク、ワイヤレスリンク、イントラネット、インターネット、またはそれらの組合せが挙げられる。システム100は、コンテンツ項目選択システム108など、少なくとも1つのデータ処理システムまたは処理モジュールも含むことができる。コンテンツ項目選択システム108は、処理モジュールを有するコンピューティングデバイスなどの、少なくとも1つの論理デバイスを含み、ネットワーク106を介して、例えばリソースサーバ104、クライアントデバイス110、および/または第三者のコンテンツサーバ102と通信することができる。コンテンツ項目選択システム108は、本明細書に記載される1つまたは複数の動作を実施するため、メモリデバイスに記憶される命令を実行するように構成される、コンテンツ配置プロセッサなどの1つまたは複数のデータプロセッサを含むことができる。言い換えれば、コンテンツ項目選択システム108の1つまたは複数のデータプロセッサおよびメモリデバイスが処理モジュールを形成することができる。データプロセッサとしては、マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)など、またはそれらの組合せが挙げられる。メモリとしては、限定するものではないが、プロセッサにプログラム命令を提供することが可能な、電子的、光学的、磁気的、もしくは任意の他の記憶装置または伝送デバイスが挙げられる。メモリとしては、プロセッサが命令を読み取ることができる、フロッピー(登録商標)ディスク、コンパクトディスク読取り専用メモリ(CD-ROM)、デジタル多用途ディスク(DVD)、磁気ディスク、メモリチップ、読取り専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、電気消去可能プログラマブル読取り専用メモリ(EEPROM)、消去可能プログラマブル読取り専用メモリ(EPROM)、フラッシュメモリ、光学媒体、または任意の他の好適なメモリが挙げられる。命令は、限定するものではないが、ActionScript(登録商標)、C、C++、C#、HTML、Java(登録商標)、JavaScript(登録商標)、Perl(登録商標)、Python(登録商標)、Visual Basic(登録商標)、およびXMLなどの任意の好適なコンピュータプログラミング言語からのコードを含むことができる。処理モジュールは、命令および出力データを処理して、リソースサーバ104および/またはクライアントデバイス110に、1つまたは複数のコンテンツ項目の提示を実現することができる。処理モジュールに加えて、コンテンツ項目選択システム108は、データを記憶するように構成される1つまたは複数のデータベースを含むことができる。コンテンツ項目選択システム108は、ネットワーク106を介してデータを受け取り、コンテンツ項目選択システム108からネットワーク106上の他のデバイスのいずれかにデータを提供するように構成されるインターフェイスも含むことができる。コンテンツ項目選択システム108は、広告サーバまたはそれ以外などのサーバを含むことができる。
【0022】
クライアントデバイス110としては、コンピュータ、ラップトップ、デスクトップ、スマートフォン、タブレット、携帯情報端末、テレビジョンセットのためのセットトップボックス、スマートテレビジョン、またはネットワーク106を介して他のデバイスと通信するように構成されるサーバデバイスなどの、1つまたは複数のデバイスが挙げられる。デバイスは、データプロセッサおよびメモリ、すなわち処理モジュールを含む、携帯型電子デバイスの任意の形態であってよい。メモリは、プロセッサにより実行されると、プロセッサに、本明細書に記載される動作のうちの1つまたは複数を実施させる機械命令を記憶することができる。メモリは、コンピューティングデバイス上に、1つまたは複数のリソース、コンテンツ項目などの提示を実現するデータも記憶することができる。プロセッサとしては、マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)など、またはそれらの組合せが挙げられる。メモリとしては、限定するものではないが、プロセッサにプログラム命令を提供することが可能な、電子的、光学的、磁気的、もしくは任意の他の記憶装置または伝送デバイスが挙げられる。メモリとしては、プロセッサが命令を読み取ることができる、フロッピー(登録商標)ディスク、コンパクトディスク読取り専用メモリ(CD-ROM)、デジタル多用途ディスク(DVD)、磁気ディスク、メモリチップ、読取り専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、電気消去可能プログラマブル読取り専用メモリ(EEPROM)、消去可能プログラマブル読取り専用メモリ(EPROM)、フラッシュメモリ、光学媒体、または任意の他の好適なメモリが挙げられる。命令は、限定するものではないが、ActionScript(登録商標)、C、C++、C#、Java(登録商標)、ActionScript(登録商標)、JavaScript(登録商標)、JSON、Perl(登録商標)、HTML、HTML5、XML、Python(登録商標)、およびVisual Basic(登録商標)などの任意の好適なコンピュータプログラミング言語からのコードを含むことができる。
【0023】
クライアントデバイス110は、ネットワーク106を通して他のコンピューティングデバイスからコンテンツを取り出すためにソフトウェアアプリケーション(例えば、ウェブブラウザまたは他のアプリケーション)を実行することができる。そのようなアプリケーションは、リソースサーバ104から第一者のコンテンツを取り出すように構成することができる。いくつかの場合では、クライアントデバイス110上で動作するアプリケーションは、それ自体が第一者のコンテンツ(例えば、ゲーム、メディアプレイヤなど)であってよい。一実装形態では、クライアントデバイス110は、クライアントデバイスのディスプレイ上に、ブラウザウィンドウを提供する、ウェブブラウザアプリケーションを実行することができる。ブラウザウィンドウを提供するウェブブラウザアプリケーションは、入力デバイス(例えば、ポインティングデバイス、キーボード、タッチスクリーン、または別の形態の入力デバイス)からウェブアドレスなど、ユニフォームリソースロケータ(URL)の入力を受け入れることによって動作することができる。それに応じて、ウェブブラウザアプリケーションからの命令を実行するクライアントデバイスの1つまたは複数のプロセッサは、URLアドレスにより参照されるネットワーク106に接続された別のデバイス(例えば、リソースサーバ104)からデータを要求することができる。次いで、他のデバイスが、クライアントデバイス110にウェブページおよび/または他のデータを提供することができ、そのことによって、クライアントデバイス110のディスプレイにより表示される視覚表示をもたらす。したがって、ブラウザウィンドウは、様々なウェブサイトからのウェブページなどの、取り出された第一者のコンテンツを表示し、第一者のコンテンツとのユーザの相互作用を容易にする。
【0024】
リソースサーバ104は、ウェブページまたは他のリソースなど(例えば、記事、コメントのスレッド、音楽、映像、グラフィックス、検索結果、情報フィードなど)のリソースをホストするように構成されるサーバなどのコンピューティングデバイスを含むことができる。リソースサーバ104は、コンピュータサーバ(例えば、ファイル転送プロトコル(FTP)サーバ、ファイル共有サーバ、ウェブサーバなど)またはサーバの組合せ(例えば、データセンタ、クラウドコンピューティングプラットフォームなど)であってよい。リソースサーバ104は、リソースデータまたは他のコンテンツ(例えば、テキスト文書、PDFファイル、および他の形態の電子文書)をクライアントデバイス110に提供することができる。一実装形態では、クライアントデバイス110は、ネットワーク106を介してリソースサーバ104にアクセスしてデータを要求し、リソースサーバ104のリソースの提示を実現することができる。
【0025】
1つまたは複数の第三者のコンテンツプロバイダが、第三者のコンテンツサーバ102を有し、ネットワーク106を介して、コンテンツ項目選択システム108および/または他のコンピューティングデバイスに第三者のコンテンツ項目についてのデータを、直接または間接的に提供することができる。コンテンツ項目は、例えば、図式、テキスト、画像、音声、映像など、クライアントデバイス110のディスプレイ上に提示できる任意のフォーマットであってよい。コンテンツ項目は、フォーマットの組合せ(ハイブリッド)であってもよい。コンテンツ項目は、バナー型コンテンツ項目、すきま型コンテンツ項目、ポップアップ型コンテンツ項目、リッチメディア型コンテンツ項目、ハイブリッド型コンテンツ項目などであってよい。コンテンツ項目は、ハイパーリンク、メタデータ、リンク、機械実行可能命令、注釈などの埋込情報を含むこともできる。いくつかの例では、第三者のコンテンツサーバ102をコンテンツ項目選択システム108の中に一体化する場合があり、かつ/または第三者のコンテンツ項目についてのデータをコンテンツ項目選択システム108のデータベース中に記憶する場合がある。
【0026】
一実装形態では、コンテンツ項目選択システム108は、ネットワーク106を介して、リソースで提示するためのコンテンツ項目についての要求を受け取ることができる。受信要求は、リソースサーバ104、クライアントデバイス110、および/または任意の他のコンピューティングデバイスから受け取る場合がある。リソースサーバ104は、コンテンツ項目選択システム108についての命令を含むことができる第一者のコンテンツプロバイダによって所有され、または実行されて、リソースサーバ104上の第一者のコンテンツプロバイダの1つまたは複数のリソースで第三者のコンテンツ項目を提供することができる。一実装形態では、リソースは、ウェブページを含むことができる。クライアントデバイス110は、例えば、リソースサーバ104のリソースをアクセスするとき、リソースで提示される1つまたは複数のコンテンツ項目について、コンテンツ項目選択システム108に要求を行うことができる、(デバイス識別子により表される)ユーザにより操作されるコンピューティングデバイスであってよい。コンテンツ項目要求としては、要求デバイス情報(例えば、ウェブブラウザタイプ、オペレーティングシステムタイプ、要求デバイスからの1つまたは複数の以前のリソース要求、要求デバイスにより受け取られた1つまたは複数の以前のコンテンツ項目、要求デバイスについての言語設定、要求デバイスの地理的位置、要求デバイスにおける時刻、要求デバイスにおける曜日、要求デバイスにおける日付、要求デバイスにおける年間通算日など)およびリソース情報(例えば、要求されたリソースのURL、要求されたリソースのコンテンツの1つまたは複数のキーワード、リソースのコンテンツのテキスト、リソースのタイトル、リソースのカテゴリ、リソースのタイプ、リソースのプロパティ、リソースの双方向性レベル、リソースのランク付け、リソースの人気、リソースに関連する発行者のカテゴリ、リソースに関連する発行者のタイプ、リソースに関連する発行者のプロパティなど)が挙げられる。コンテンツ項目選択システム108が受け取る情報またはパラメータとしては、クライアントデバイス110を表すデバイス識別子(例えば、乱数)を含む、ハイパーテキスト転送プロトコル(HTTP)クッキーが挙げられる。いくつかの実装形態では、デバイスおよび/またはリソース情報もしくはパラメータは、コンテンツ項目要求URLに付加することができる(例えば、/page/contentitem?devid=abc123&devnfo=A34r0)。いくつかの実装形態では、デバイスおよび/またはリソース情報もしくはパラメータは、コンテンツ項目要求URLに付加される前に符号化することができる。要求デバイスおよび/またはリソース情報もしくはパラメータは、コンテンツ項目選択システム108により利用されて、要求されたリソースで供給されクライアントデバイス110のディスプレイ上に提示される第三者のコンテンツ項目を選択することができる。いくつかの実装形態では、コンテンツ項目選択システム108が、コンテンツ項目の選択の部分として高さおよび幅を使用できるように、高さの値および幅の値をコンテンツ項目要求と共に含むことができる。
【0027】
いくつかの例では、リソースサーバ104のリソースは、検索エンジンの特徴を含むことができる。検索エンジンの特徴は、入力の特徴(入力テキストボックスなど)を介して、検索クエリ(例えば、テキストの列)を受け取ることができる。検索エンジンは、検索クエリに基づく関連のある検索結果について、文書(例えば、ウェブページなどの他のリソース)のインデックスを検索することができる。検索結果は、クライアントデバイス110のディスプレイ上に、検索結果ウェブページなどの関連のある検索結果を提示するため、第2のリソースとして送信することができる。検索結果は、ウェブページのタイトル、ハイパーリンクなどを含むことができる。1つまたは複数の第三者のコンテンツ項目を、検索結果ウェブページのコンテンツ項目スロット中に検索結果で提示することもできる。したがって、リソースサーバ104および/またはクライアントデバイス110は、検索結果ウェブページのコンテンツ項目スロット中に提示される、コンテンツ項目選択システム108からの1つまたは複数のコンテンツ項目を要求することができる。コンテンツ項目要求としては、クライアントデバイス情報、リソース情報、コンテンツ項目の量、コンテンツ項目についてのフォーマット、検索クエリ列、検索クエリ列のキーワード、クエリに関する情報(例えば、地理的位置情報および/または時間的情報)などの追加情報が挙げられる。いくつかの実装形態では、混乱を回避するために、検索結果と第三者のコンテンツ項目との間に線引きを行うことができる。
【0028】
いくつかの実装形態では、第三者のコンテンツプロバイダが、コンテンツ項目選択システム108によるコンテンツ項目の選択および供給を管理することができる。例えば、第三者のコンテンツプロバイダは、コンテンツ項目の供給に関して1つもしくは複数のコンテンツ項目条件または制約を含むことができる付け値および/または選択基準を、ユーザインターフェイスを介して、設定することができる。第三者のコンテンツプロバイダは、特定の地理的位置または領域、特定の言語、特定のオペレーティングシステム、特定のウェブブラウザなどと関連するデバイス識別子を有するクライアントデバイス110について、コンテンツ項目および/またはコンテンツ項目の組が選択および供給されなければならないと規定することができる。別の実装形態では、第三者のコンテンツプロバイダは、ウェブページ、文書などのリソースが特定のキーワード、語句などと一致する、または関係するコンテンツを含むとき、コンテンツ項目またはコンテンツ項目の組が選択および供給されなければならないと規定することができる。第三者のコンテンツプロバイダは、いくつかのコンテンツ項目について単一の付け値を設定する、コンテンツ項目のサブセットについて付け値を設定する、かつ/または各コンテンツ項目について付け値を設定することができる。第三者のコンテンツプロバイダは、ユーザが第三者のコンテンツ項目上でクリックするかどうか、ユーザが第三者のコンテンツ項目の提示に基づく特定の行為を実施するかどうか、第三者のコンテンツ項目が選択および供給されるかどうかに基づく入札、ならびに/または他のタイプの入札など、付け値のタイプを設定することもできる。
【0029】
上記は、クライアントデバイス110に対してコンテンツ項目を選択および供給するためのシステム100の概要を提供してきたが、リソースで供給されるコンテンツ項目の例が、ここで、
図2A〜
図3Bを参照して記載されることになる。
図2Aは、ディスプレイ200上にリソースを表示するためのウェブブラウザ210を有する、
図1のクライアントデバイス110などのクライアントデバイスの、例示のディスプレイ200を描く(透視図で示される)。ウェブブラウザ210は、入力デバイス(例えば、ポインティングデバイス、キーボード、タッチスクリーン、または別の形態の入力デバイス)からウェブアドレスなど、アドレスバー中のURLの入力を受け取ることにより動作することができる。これに応じて、ウェブブラウザ210からの命令を実行するクライアントデバイスの1つまたは複数の処理モジュールは、URLアドレスにより参照される、ネットワーク106などのネットワークに接続される別のデバイス(例えば、リソースサーバ104)からデータを要求することができる。他のデバイスは、次いで、クライアントデバイスにリソースの提示を実現するためデータを提供することができ、そのことによって、クライアントデバイスのディスプレイ200により表示される視覚表示をもたらす。したがって、ウェブブラウザ210は、ウェブページなど、取り出されたリソース220を表示する。
【0030】
例示的なリソース220が、ウェブブラウザ210を使用してクライアントデバイスのディスプレイ200により表示されて示される。リソース220は、第1のコンテンツ部分222および第2のコンテンツ部分224を含む。第一者のコンテンツプロバイダは、div要素を介して、第1のコンテンツ部分222および第2のコンテンツ部分224を分離することができる。応答するウェブデザインの態様を実装するリソースなど、いくつかの実装形態では、第1のコンテンツ部分222および第2のコンテンツ部分224は、リソース220が表示されるべきデバイスのビューポートのパーセンテージに基づいて規定することができる。ビューポートは、リソース220を表示するとき、ブラウザ210または他のアプリケーション内で見える区域である。第1のコンテンツ部分222および/または第2のコンテンツ部分224は、ニュース記事、ソーシャルネットワークインターフェイス、アプリケーションなど、第一者のコンテンツプロバイダの第一者のコンテンツ226を含むことができる。リソース220は、第一者のコンテンツ226で提示されるべき、第三者のコンテンツ項目228などの1つまたは複数の第三者のコンテンツ項目を要求するコードを含むこともできる。
図2Aに示される実装形態では、第三者のコンテンツ項目228は、
図1のコンテンツ項目選択システム108の使用を通してなどで、第2のコンテンツ部分224中に供給されて示される。第一者のコンテンツプロバイダは、第三者のコンテンツ項目228が示されることになる、第2のコンテンツ部分224の全てまたは一部を識別するためのコードを含むことができる。例えば、第一者のコンテンツプロバイダは、第三者のコンテンツ項目が提示されるべき各点に、"ins class='contentitem' /ins"などの1つのコードを挿入することができる。他の実装形態では、挿入要素以外の要素、"div class='contentitem' /div"といったdiv要素などを使用することができる。加えて、カスケーディングスタイルシート(CSS)クラスは、「contentitem」以外のラベルを有することができる。下でより詳細に記載されるように、リソース220がクライアントデバイス上でレンダリングされるとき、JavaScript(登録商標)などのスクリプトを要求するために、非同期式タグを含むことができる。コンテンツ項目選択システムに送信される要求が、クライアントデバイスのディスプレイ200上に提示されるリソース220について、適切にサイズ決定されたコンテンツ項目をもたらすように、クライアントデバイスのタイプ、クライアントデバイスのスクリーンサイズ、ビューポートサイズ、および/または親要素(例えば、第2のコンテンツ部分224)のサイズに基づいて、リソース220で提示されるコンテンツ項目のサイズを自動的に決定するようにスクリプトが構成される。
【0031】
図2Bは、リソース220がやはりサイズ変更されるように、応答するウェブページデザインを通してなどで、サイズ変更されるウェブブラウザ210を示す
図2Aのディスプレイ200を描く。スクリプトは、リソース220のサイズ変更に基づいて、第三者のコンテンツ項目について、自動的に新しいサイズを決定するように構成することができる。いくつかの実装形態では、第三者のコンテンツ項目228についての新しいサイズは、第三者のコンテンツ項目228が単に提示され続けることができるように、同じであってよい。新しいサイズが異なる例では、対応する新しいサイズの第三者のコンテンツ項目230は、リソース220で表示されるコンテンツ項目選択システムから要求することができ、または以前に供給された第三者のコンテンツ項目228が、(例えば、シームカービング、ストレッチングなどを介して)コンテンツ項目選択システムへ要求することなくクライアントデバイスにおいてサイズ変更することができる。いくつかの実装形態では、第三者のコンテンツ項目230は、異なるサイズであるだけで、第三者のコンテンツ項目228と同じであってよい。
【0032】
図3Aは、クライアントデバイス300のディスプレイ302によってリソース320を表示することができる、スマートフォンまたはタブレットなどの、モバイルクライアントデバイス300を描く。実装形態では、ディスプレイ302上にリソース320を表示するために、モジュールクライアントデバイス300上でウェブブラウザ310が実行している様子を示す。ウェブブラウザ310は、入力デバイス(例えば、ポインティングデバイス、キーボード、タッチスクリーン、または別の形態の入力デバイス)からウェブアドレスなど、アドレスバー中のURLの入力を受け取ることにより動作することができる。これに応じて、ウェブブラウザ310からの命令を実行するクライアントデバイス300の1つまたは複数の処理モジュールは、URLアドレスにより参照される、ネットワーク106などのネットワークに接続される別のデバイス(例えば、リソースサーバ104)からデータを要求することができる。他のデバイスは、次いで、クライアントデバイス300にリソース320の提示を実現するためデータを提供することができ、そのことによって、クライアントデバイス300のディスプレイ302により表示される視覚表示をもたらす。したがって、ウェブブラウザ310は、ウェブページなど、取り出されたリソース320を表示する。
【0033】
例示的なリソース320が、ウェブブラウザ310を使用してクライアントデバイス300のディスプレイ302により表示されて示される。リソース320は、第1のコンテンツ部分322および第2のコンテンツ部分324を含む。第一者のコンテンツプロバイダは、div要素を介して、第1のコンテンツ部分322および第2のコンテンツ部分324を分離することができる。応答するウェブデザインの態様を実装するリソースなど、いくつかの実装形態では、第1のコンテンツ部分322および第2のコンテンツ部分324は、リソース320が表示されるべきデバイス300のビューポートのパーセンテージに基づいて規定することができる。第1のコンテンツ部分322および/または第2のコンテンツ部分324は、ニュース記事、ソーシャルネットワークインターフェイス、アプリケーションなど、第一者のコンテンツプロバイダの第一者のコンテンツ326を含む。リソース320は、第一者のコンテンツ326で提示されるべき、第三者のコンテンツ項目328などの1つまたは複数の第三者のコンテンツ項目を要求するコードを含むこともできる。
図3Aに示される実装形態では、第三者のコンテンツ項目328は、
図1のコンテンツ項目選択システム108の使用を通してなどで、第2のコンテンツ部分324中に供給されて示される。第一者のコンテンツプロバイダは、第三者のコンテンツ項目328が示されることになる、第2のコンテンツ部分324の全てまたは一部を識別するためのコードを含むことができる。例えば、第一者のコンテンツプロバイダは、第三者のコンテンツ項目328が提示されるべき各点に、"ins class='contentitem' /ins"などの1つのコードを挿入することができる。他の実装形態では、挿入要素以外の要素、"div class='contentitem' /div"といったdiv要素などを使用することができる。加えて、カスケーディングスタイルシート(CSS)クラスは、「contentitem」以外のラベルを有することができる。下でより詳細に記載されるように、リソース320がクライアントデバイス300上でレンダリングされるとき、JavaScript(登録商標)などのスクリプトを要求するために、クラスは、非同期式タグを含むことができる。コンテンツ項目選択システムに送信される要求が、クライアントデバイス300のディスプレイ302上に提示されるリソース320について、適切にサイズ決定されたコンテンツ項目をもたらすように、クライアントデバイス300のタイプ、クライアントデバイス300のスクリーンサイズ、ビューポートサイズ、および/または親要素(例えば、第2のコンテンツ部分324)のサイズに基づいて、リソース320で提示されるコンテンツ項目のサイズを自動的に決定するようにスクリプトが構成される。
【0034】
図3Bは、デバイス300のディスプレイ302上に提示されるリソース320が、縦長の向きから横長の向きに回転するように回転された、
図3Aのデバイス300を描く。いくつかの例では、リソース320についての向きの変更は、異なる構成またはサイズ決定で提示されるリソース320をもたらす場合がある。スクリプトは、リソース320の異なる構成またはサイズ決定に基づいて、第三者のコンテンツ項目について、自動的に新しいサイズを決定するように構成することができる。いくつかの実装形態では、第三者のコンテンツ項目328についての新しいサイズは、第三者のコンテンツ項目328が単に提示され続けることができるように、同じであってよい。新しいサイズが異なる例では、対応する新しいサイズの第三者のコンテンツ項目330は、リソース320で表示されるコンテンツ項目選択システムから要求することができ、または以前に供給された第三者のコンテンツ項目328が、(例えば、シームカービング、ストレッチングなどを介して)コンテンツ項目選択システムへ要求することなくクライアントデバイス300においてサイズ変更することができる。いくつかの実装形態では、第三者のコンテンツ項目330は、異なるサイズであるだけで、第三者のコンテンツ項目328と同じであってよい。理解できるように、第三者のコンテンツ項目のサイズ決定は、リソース220、320の所有者または作成者が、リソース220、320の様々なサイズまたは構成のための第三者のコンテンツ項目について正しいサイズを決定する必要がなくてよいように、自動的に決定することができる。
【0035】
「contentitem」など、上に記載されたCSSクラスは、スクリプトを要求する非同期式タグを含むことができる。非同期式タグは以下のようなタグであってよい。
script async
src="/pagead/js/contentitem.js" /script
ins class="contentitem" data-ad-client="ca-pub-1234" data-ad-slot="my-slot" /ins
script(content item = window.content item || []).push({}); /script
これは、第三者のコンテンツ項目が表示されるべきリソースの部分へと挿入される。いくつかの実装形態では、タグは、選択される可能性がある第三者のコンテンツ項目の幾何学的なタイプを制限するようにさらに構成することができる。例えば、タグは、「data-adformat」と名前を付けられた変数など、選択される可能性がある第三者のコンテンツ項目の幾何学的なタイプを制限する変数についての、1つまたは複数の値を含むことができる。そのような幾何学的なタイプとしては、水平、垂直、矩形などが挙げられる。したがって、タグ中に、data-ad-format="horizontal,vertical"という変数を含むことによって、そのタグについての選択で、水平および垂直のコンテンツ項目サイズのみが適格であることがもたらされる。data-ad-formatが省略される場合、コンテンツ項目の任意の幾何学的なタイプを選択することができる。
【0036】
contentitem.jsなどのスクリプトがクライアントデバイスにより受け取られて実行されるとき、スクリプトは、第三者のコンテンツ項目が供給されサイズ決定が必要なリソースの全ての部分を位置決めし(例えば、ins class='contentitem' /insまたは div class='contentitem' /divが位置決めされ)、ビューポートのサイズを決定し、第三者のコンテンツ項目が供給される各部について親要素の幅を決定し、第三者のコンテンツ項目が供給される各部についてコンテンツ項目サイズを決定するように構成することができる。いくつかの実装形態では、スクリプトは、リソースの全ての要素が必ずしもロードを終えていない場合であっても、リソースの要素の様々なサイズについて十分な情報があるように、DOMContentLoadedイベントに基づいて実行されるようにトリガすることができる。したがって、スクリプトは、応答するウェブページデザインを実装するウェブページなど、クライアントデバイスに基づいて異なってレンダリングされるリソースのための第三者のコンテンツ項目について、好適なサイズを決定することができる。コンテンツ項目サイズの決定は、本明細書でより詳細に記載されるように、少なくとも部分的に、ビューポートのサイズおよびリソースの親要素の幅に基づくことができる。スクリプトは、ins class='contentitem' /insまたはdiv class='contentitem' /divが位置決めされる親要素を見いだすように文書オブジェクトモデル(DOM)にクエリを行い、親要素の幅についてDOMにクエリを行うように構成することができる。いくつかの実装形態では、コンテンツ項目サイズの決定で、親要素の高さを使用することもできる。
【0037】
コンテンツ項目サイズの決定は、インタラクティブアドバタイジングビューロー(IAB)により指定された標準サイズなど、所定の標準サイズを選択するステップを含むことができる。そのような標準サイズとしては、320px×50px、234px×60px、468px×60px、728px×90px、970px×90px、125px×125px、180px×150px、200px×200px、250px×250px、300px×250px、336px×280px、120px×600px、160px×600px、300px×600pxおよび/または任意の他の標準コンテンツ項目サイズが挙げられる。本明細書で非常に詳細に記載されるように、標準サイズの組は、ランク付けすることができ、最も高くランク付けされた標準サイズを選択することができる。
【0038】
いくつかの実装形態では、ランク付けにとって適格となることができる標準サイズの組は、追加の制限を受ける場合がある。例えば、標準サイズの面積が、ビューポート面積の所定のパーセンテージについての閾値を超える場合、標準サイズをランク付けすることはできない。閾値は、10%と50%の間(10%および50%を含む)の値であってよい。一実装形態では、閾値は、15%であってよい。他の実装形態では、第一者のコンテンツプロバイダが閾値を指定することができる。ランク付けの中に標準コンテンツ項目サイズを含むための他の制限は、標準コンテンツ項目サイズの幅がビューポートの幅を超えるかどうか、標準コンテンツ項目サイズの高さがビューポートの高さを超えるかどうか、かつ/または標準コンテンツ項目サイズが、data-ad-formatの変数の1つまたは複数の値に基づいて、除外される幾何学的なタイプであるかどうかであってよい。
【0039】
適格な標準コンテンツ項目サイズの組が一度決定されたら、標準コンテンツ項目サイズの組のうちの各標準コンテンツ項目サイズを、ランク付けすることができる。ランク付けは、少なくとも部分的に、各所定の標準コンテンツ項目サイズの面積、各所定の標準コンテンツ項目サイズの推定収入値、および/または比率一致の値に基づくことができる。いくつかの実装形態では、各標準コンテンツ項目サイズについての格付けは、次式に基づくことができる。
格付け=面積*eRPM*比率一致(ratio_match)
いくつかの実装形態では、上式中の各乗数は、重み付けされる場合がある。各所定の標準コンテンツ項目サイズの面積は、16,000画素の面積を有する320px×50pxなどの、所定の標準コンテンツ項目サイズの画素面積であってよい。所定の標準コンテンツ項目サイズについての推定収入値(すなわち、上式中の、1000インプレッションごとの推定収入すなわちeRPM)は、その特定の所定の標準コンテンツ項目サイズについての一般的なデータに基づいて、各所定の標準コンテンツ項目サイズについて決定された値であってよい。すなわち、各標準コンテンツ項目サイズについての静的な値のリストは、履歴データに基づいて使用することができる。他の実装形態では、所定の標準コンテンツ項目サイズについての推定収入値は、発行者固有、ウェブサイト固有、ウェブページ固有、および/または位置固有である値であってよい。
【0040】
比率一致の値は、第三者のコンテンツ項目が供給されるリソースの部分について、所定の標準コンテンツ項目サイズがどれだけ好適であるのかの尺度を提供する。比率一致の値は、親要素の幅およびビューポートの幅に基づくことができる。簡単にいえば、垂直標準コンテンツ項目サイズは、表示されるリソースの、狭い柱状の部分の中に表示されることが好ましい場合があり、水平標準コンテンツ項目サイズは、表示されるリソースの、広い部分の中に表示されることが好ましい場合があり、矩形標準コンテンツ項目サイズは、表示されるリソースの、残りの部分の中に表示されることが好ましい場合がある。実装形態では、if-then文が使用されて、比率一致の値に基づいて、標準コンテンツ項目サイズを並べ替えることができる。例えば、以下である。
if 親要素の幅 <= 本体の幅の25%:
垂直、次いで正方形、次いで水平を選好する
else if 親要素の幅 <= 本体の幅の50%:
正方形、次いで水平、次いで垂直を選好する
else:
水平、次いで正方形、次いで垂直を選好する
【0041】
別の実装形態は、標準コンテンツ項目サイズが占有する親要素の幅のパーセンテージに基づいて、比率一致の値についての値を決定することができる。例えば、
図4は、ビューポート402の中に示される第一者のリソース400の実装形態の図である。リソース400は、要素404、406、408、410の複数の区分を含み、親要素410中の、728画素×90画素の標準コンテンツ項目サイズを有する例示の第三者のコンテンツ項目420を示す。親要素410は、800画素の幅を有し、ビューポート402の全幅に及ぶ。上に列挙したものなどの、標準コンテンツ項目サイズの組について、親要素410の幅を超えず、親要素410の幅の最も高いパーセンテージを占有する標準コンテンツ項目サイズは、728画素×90画素の標準コンテンツ項目サイズであり、このサイズの例示の第三者のコンテンツ項目420が、親要素410内に示される。したがって、728px×90pxの標準コンテンツ項目サイズについての比率一致の値は、800割る728、または0.91もしくは91%であると決定することができる。比率一致の値は、最良の格付けを有する標準コンテンツ項目サイズを決定して選択することができるように、上に記載された格付けの式で使用され、標準コンテンツ項目サイズについての格付けを決定することができる。他の標準コンテンツ項目サイズが、同様のやり方で決定される比率一致の値を有する場合もある。
【0042】
別の実装形態は、標準コンテンツ項目サイズが占有する親要素の幅のパーセンテージおよび標準コンテンツ項目サイズの高さ寸法が占有するビューポート幅の残りの部分のパーセンテージに基づく比率一致の値を決定することができる。
図5Aは、ビューポート502に示される第一者のリソース500の実装形態の図である。リソース500は、要素504、506、508、510の複数の区分を含み、親要素510中の、320画素×50画素の標準コンテンツ項目サイズを有する例示の第三者のコンテンツ項目520を示す。親要素510は、320画素の幅を有し、ビューポート502の幅の25%に及ぶ。コンテンツ項目520の標準コンテンツ項目サイズについて、標準コンテンツ項目サイズが占有する親要素510の幅のパーセンテージは100%である(すなわち、320px割る320pxは1)。しかし、
図5A〜
図5Bに見られるように、320画素×50画素の標準コンテンツ項目サイズは、親要素510の垂直の空間を、ほんの少しだけ占有する。したがって、
図5Bに示されるように、第2のパーセンテージは、ビューポート502の幅の残りの部分(すなわち、ビューポート502の全幅から親要素510の幅を減算した後)および標準コンテンツ項目サイズの高さ寸法に基づいて計算することができる。示される例におけるビューポート502の残りの部分の幅は、880画素である(1200画素引く320画素)。ビューポート502の残りの部分の幅に対する標準コンテンツ項目サイズの高さ寸法のパーセンテージは、50割る880、または約6%である。したがって、親要素510について、320画素×50画素の標準コンテンツ項目サイズについての比率一致の値は、第1のパーセンテージ、100%または1.0かける第2のパーセンテージ、6%または0.06であって、0.06の比率一致の値をもたらすことができる。
【0043】
対照的に、親要素510に表示される第三者のコンテンツ項目のための、300画素×600画素の標準コンテンツ項目サイズについて、第1のパーセンテージは約94%(標準コンテンツ項目サイズの300画素の幅割る親要素510についての320画素の幅)であり、第2のパーセンテージは約68%(標準コンテンツ項目サイズについての600画素の高さ割るビューポート502の残りの部分の880画素の幅)である。したがって、300画素×600画素の標準コンテンツ項目サイズについての比率一致の値は、0.94かける0.68、すなわち約0.64であってよい。理解できるように、300画素×600画素の標準コンテンツ項目サイズは、320画素×50画素の標準コンテンツ項目サイズよりも大きい比率一致の値を有し、このことは、300画素×600画素の標準コンテンツ項目サイズが、第三者のコンテンツ項目が供給されるリソースの部分により好適となる可能性があることを示す。
【0044】
いくつかの実装形態では、比率一致の値の第2のパーセンテージとの乗数を使用することができる。例えば、120px×600px、160px×600px、または300px×600pxなどの垂直標準コンテンツ項目サイズについて、垂直フォーマットが、リソースの残りに対して釣り合いが取れていないので、第2のパーセンテージについての乗数は、0であってよい。320px×50px、234px×60px、468px×60px、728px×90px、970px×90px、125px×125px、180px×150px、200px×200px、250px×250px、300px×250px、または336px×280pxなど、水平または矩形標準コンテンツ項目サイズについての乗数は、1と2の間(1および2を含む)であってよい。いくつかの実装形態では、320px×50px、234px×60px、468px×60px、728px×90px、または970px×90pxなど、水平標準コンテンツ項目サイズについての乗数は1であってよく、125px×125px、180px×150px、200px×200px、250px×250px、300px×250px、または336px×280pxなど、矩形標準コンテンツ項目サイズについての乗数は、1.5であってよい。
【0045】
標準コンテンツ項目サイズの組の各適格な標準コンテンツ項目サイズが一度ランク付けされると、最上位にランク付けされる標準コンテンツ項目サイズを決定することができる。コンテンツ項目要求の部分など、決定された標準コンテンツ項目サイズの高さの値と親要素の幅は、コンテンツ項目選択システムに送信される。
図4に示される実装形態では、高さの値は、決定された標準コンテンツ項目サイズの高さである90画素に設定され、幅の値は、親要素410の幅である800画素に設定される。親要素410の全幅は、テキストの第三者のコンテンツ項目がコンテンツ項目選択システムにより選択される場合、テキストのコンテンツ項目を表示するために親要素410の全幅を使用できるように送信される。画像の第三者のコンテンツ項目がコンテンツ項目選択システムにより選択される場合、標準コンテンツ項目サイズを使用することができる。選択されたコンテンツ項目がリソースで表示されるように、選択されたコンテンツ項目の表示を実現するデータをクライアントデバイスに送信することができる。
【0046】
いくつかの実装形態では、コンテンツ項目サイズを選択するときに、さらなる制限が適用される場合がある。例えば、全コンテンツ項目サイズの総面積がビューポート面積の所定のパーセンテージを超えないように合計制限閾値を使用することができ、またはたたみ目の上のコンテンツ項目サイズの総面積がビューポート面積の所定のパーセンテージを超えないように合計制限閾値を使用することができる。
【0047】
図6は、親要素に基づいてコンテンツ項目のサイズを自動的に決定するための、
図1のクライアントデバイス110などのクライアントデバイスにより実装することができるプロセス600の例示の流れ図を描く。プロセス600は、要求されたリソースの提示を実現するためにデータを受け取るステップを含む(ブロック602)。クライアントデバイスは、ユーザがウェブブラウザのアドレス部へURLを入力することを介して、リソースの提示を実現するデータを要求することができる。
図1のリソースサーバ104などのリソースサーバが、ネットワーク106を介して、クライアントデバイスに、リソースの提示を実現するためのデータを送信する。
【0048】
プロセス600は、スクリプトを受け取るステップをさらに含む(ブロック604)。いくつかの実装形態では、スクリプトは、
図1のコンテンツ項目選択システム108などの別のデバイスまたは別のデバイスから要求されて、受け取ることができる。いくつかの他の実装形態では、スクリプトは、クライアントデバイス上にキャッシュされ、取り出されて、実行することができる。
【0049】
スクリプトは、クライアントデバイスに、第三者のコンテンツ項目が供給され、サイズ決定が必要な、リソースの部分を位置決めさせるように構成される(ブロック606)。第三者のコンテンツ項目が供給され、サイズ決定が必要な、リソースの部分を位置決めするステップは、"ins class='contentitem' /ins"のための挿入要素を有するリソースの部分を識別するステップを含む場合がある。他の実装形態では、"div class='contentitem' /div"などの、第三者のコンテンツ項目が供給され、サイズ決定が必要なリソース中の位置を示す他の識別子を使用することができる。
【0050】
スクリプトは、クライアントデバイスに、ビューポートのサイズを決定させるようにさらに構成される(ブロック608)。いくつかの実装形態では、ビューポートのサイズの決定は、リソースの本体の幅および高さについて、body offsetWidthおよびbody offsetHeightのための値を取り出すステップを含むことができる。スクリプトは、クライアントデバイスに、第三者のコンテンツ項目が供給される各部について、親要素の幅を決定させるようにさらに構成される(ブロック610)。例えば、親要素の幅の決定は、ビューポートの幅、親要素の親要素、親要素の幅についての静的な値などに基づいて決定することができる。いくつかの実装形態では、スクリプトは、ins class='contentitem' /insまたはdiv class='contentitem' /divが位置決めされる場所の親要素を見いだすようにDOMにクエリを行い、親要素の幅についてDOMにクエリを行うように構成することができる。コンテンツ項目サイズの決定において、親要素の高さが、クエリされて、使用することもできる。
【0051】
スクリプトは、クライアントデバイスに、第三者のコンテンツ項目が供給される各部について、コンテンツ項目サイズを決定させるようにさらに構成される(ブロック612)。コンテンツ項目サイズの決定は、本明細書で非常に詳細に記載されるように、少なくとも部分的に、ビューポートのサイズおよびリソースの親要素の幅に基づくことができる。いくつかの実装形態では、コンテンツ項目サイズの決定で親要素の高さを使用することもできる。コンテンツ項目サイズの決定は、所定の標準サイズの組から、所定の標準コンテンツ項目サイズを選択するステップを含むことができる。所定の標準コンテンツ項目サイズの選択は、各所定の標準コンテンツ項目サイズのランク付けに基づくことができる。上述したように、ランク付けに適格となることができる標準サイズの組は、いくつかの実装形態において、追加の制限を受ける場合がある。例えば、ビューポートの面積の15%の閾値など、ビューポート面積の所定のパーセンテージについて標準サイズが閾値を超える場合、所定の標準コンテンツ項目サイズをランク付けしない場合がある。標準サイズの幅が親要素の幅を超える、かつ/または標準サイズの高さが親要素の高さを超える場合、所定の標準コンテンツ項目サイズをやはりランク付けしない場合がある。適格な標準コンテンツ項目サイズの組が一度決定されたら、標準コンテンツ項目サイズの組のうちの各標準コンテンツ項目サイズを、ランク付けすることができる。ランク付けは、少なくとも部分的に、各所定の標準コンテンツ項目サイズの面積、各所定の標準コンテンツ項目サイズの推定収入値、および/または比率一致の値に基づくことができる。いくつかの実装形態では、各標準コンテンツ項目サイズについての格付けは、次式に基づくことができる。
格付け=面積*eRPM*比率一致
いくつかの実装形態では、式中の各乗数は、重み付けされる場合がある。各所定の標準コンテンツ項目サイズの面積は、所定の標準コンテンツ項目サイズの画素面積であってよい。所定の標準コンテンツ項目サイズについての推定収入値(すなわち、上式中の、1000インプレッションごとの推定収入すなわちeRPM)は、その特定の所定の標準コンテンツ項目サイズについての一般的なデータに基づいて、各所定の標準コンテンツ項目サイズについて決定された値であってよい。他の実装形態では、所定の標準コンテンツ項目サイズについての推定収入値は、発行者固有、ウェブサイト固有、ウェブページ固有、および/または位置固有である値であってよい。
【0052】
比率一致の値は、少なくとも部分的に、親要素の幅およびビューポートの幅に基づくことができる。いくつかの実装形態では、各所定の標準コンテンツ項目サイズについての比率一致の値は、少なくとも部分的に、幅の寸法など、標準コンテンツ項目サイズの第1の寸法と親要素の幅との比率にやはり基づくことができる、または代わりに基づくことができる。さらなる実装形態では、各所定の標準コンテンツ項目サイズについての比率一致の値は、少なくとも部分的に、高さの寸法など、各標準コンテンツ項目サイズの第2の寸法と親要素の幅を引いたビューポートの幅との比率にやはり基づくことができる、または代わりに基づくことができる。標準コンテンツ項目サイズの組の各適格な標準コンテンツ項目サイズが一度ランク付けされると、最上位にランク付けされる標準コンテンツ項目サイズを決定することができる。
【0053】
コンテンツ項目は、第三者のコンテンツ項目を必要とするリソースの各部について、コンテンツ項目選択システムからクライアントデバイスにより要求することができる(ブロック614)。コンテンツ項目要求は、決定された標準コンテンツ項目サイズの高さの値および親要素の幅の値を含むことができる。他の実装形態では、コンテンツ項目要求は、決定された標準コンテンツ項目サイズの高さの値および幅の値を含むことができる。要求はコンテンツ項目要求URLの形であってよい。いくつかの実装形態では、デバイスおよび/もしくはリソースの情報またはパラメータは、コンテンツ項目要求URLに添付されるような、コンテンツ項目要求で含むこともできる(例えば、/page/contentitem?devid=abc123&devnfo=A34r0)。
【0054】
コンテンツ項目要求に応答して供給されるコンテンツ項目は、リソースで表示することができる(ブロック616)。クライアントデバイスは、コンテンツ項目選択システムから、供給されるコンテンツ項目の表示を実現するためのデータを受け取ることができる。受け取ったデータを使用して、クライアントデバイスが、供給されるコンテンツ項目をリソースで表示することができる。
【0055】
いくつかの実装形態では、プロセス600は、少なくとも部分的に、ビューポートの第2のサイズおよび/または親要素の第2の幅に基づく第2のコンテンツ項目サイズを決定することができる(ブロック608、610、612)。例えば、
図2Bおよび
図3Bに示されるように、リソースは、ウェブブラウザのウィンドウに対するサイズの縮小またはモバイルデバイスもしくはタブレットの向きの変更に応答して、修正またはサイズ変更することができる。スクリプトは、ins class='contentitem' /insまたはdiv class='contentitem' /divが位置決めされる親要素を見いだすようにDOMにクエリを行い、親要素の新しい幅についてDOMにクエリを行うように構成することができる。第2のコンテンツ項目サイズの決定において、親要素の新しい高さが、クエリされて、使用することもできる。いくつかの例では、クライアントデバイスは、コンテンツ項目選択システムから第2のコンテンツ項目を要求し(ブロック614)、供給される第2のコンテンツ項目をリソースで表示する(ブロック616)ことができる。他の実装形態では、スクリプトは、クライアントデバイスに、決定された第2のコンテンツ項目サイズに基づいて、(例えば、シームカービング、ストレッチングなどを介して)元々供給されたコンテンツ項目をサイズ変更させるように構成することができる。いくつかの実装形態では、供給される第2のコンテンツ項目は、以前に供給されたコンテンツ項目と同じであるが、決定された第2のコンテンツ項目サイズにしたがうサイズを有することができる。
【0056】
図7は、コンテンツ項目のサイズの自動決定に基づいて、コンテンツ項目を選択および供給するための、
図1のコンテンツ項目選択システム108などの、コンテンツ項目選択システムにより実装できるプロセス700の例示の流れ図を描く。プロセス700は、要求に応答してクライアントデバイスにスクリプトを供給するステップを含む(ブロック702)。スクリプトは、
図6のブロック606、608、610、612を参照して記載される動作のうちの1つまたは複数を含む、本明細書に記載されるいくつかの動作をクライアントデバイスに実施させるように構成される。例えば、スクリプトは、クライアントデバイスに、第三者のコンテンツ項目が供給され、サイズ決定が必要なリソースの部分を位置決めさせ、ビューポートのサイズを決定させ、第三者のコンテンツ項目が供給される各部について親要素の幅を決定させ、かつ/または第三者のコンテンツ項目が供給される各部についてコンテンツ項目サイズを決定させるように構成することができる。いくつかの実装形態では、コンテンツ項目サイズの決定で親要素の高さを使用することもできる。
【0057】
コンテンツ項目サイズの決定は、本明細書で非常に詳細に記載されるように、少なくとも部分的に、ビューポートのサイズおよびリソースの親要素の幅に基づくことができる。コンテンツ項目サイズの決定は、各所定の標準コンテンツ項目サイズのランク付けに基づいて、所定の標準コンテンツ項目サイズを選択するステップを含むことができる。いくつかの実装形態では、ランク付けにとって適格となることができる標準サイズの組は、追加の制限を受ける場合がある。例えば、ビューポートの面積の15%の閾値など、ビューポート面積の所定のパーセンテージについて標準サイズが閾値を超える場合、所定の標準コンテンツ項目サイズをランク付けしない場合がある。適格な標準コンテンツ項目サイズの組が一度決定されたら、標準コンテンツ項目サイズの組のうちの各標準コンテンツ項目サイズを、ランク付けすることができる。ランク付けは、少なくとも部分的に、各所定の標準コンテンツ項目サイズの面積、各所定の標準コンテンツ項目サイズの推定収入値、および/または比率一致の値に基づくことができる。いくつかの実装形態では、各標準コンテンツ項目サイズについての格付けは、次式に基づくことができる。
格付け=面積*eRPM*比率一致
いくつかの実装形態では、式中の各乗数は、重み付けされる場合がある。各所定の標準コンテンツ項目サイズの面積は、所定の標準コンテンツ項目サイズの画素面積であってよい。所定の標準コンテンツ項目サイズについての推定収入値(すなわち、上式中の、1000インプレッションごとの推定収入すなわちeRPM)は、その特定の所定の標準コンテンツ項目サイズについての一般的なデータに基づいて、各所定の標準コンテンツ項目サイズについて決定された値であってよい。他の実装形態では、所定の標準コンテンツ項目サイズについての推定収入値は、発行者固有、ウェブサイト固有、ウェブページ固有、および/または位置固有である値であってよい。
【0058】
比率一致の値は、少なくとも部分的に、親要素の幅およびビューポートの幅に基づくことができる。いくつかの実装形態では、各所定の標準コンテンツ項目サイズについての比率一致の値は、少なくとも部分的に、幅の寸法など、標準コンテンツ項目サイズの第1の寸法と親要素の幅との比率にやはり基づくことができる、または代わりに基づくことができる。さらなる実装形態では、各所定の標準コンテンツ項目サイズについての比率一致の値は、少なくとも部分的に、高さの寸法など、各標準コンテンツ項目サイズの第2の寸法と親要素の幅を引いたビューポートの幅との比率にやはり基づくことができる、または代わりに基づくことができる。標準コンテンツ項目サイズの組の各適格な標準コンテンツ項目サイズが一度ランク付けされると、最上位にランク付けされる標準コンテンツ項目サイズをクライアントデバイスが決定することができる。いくつかの実装形態では、スクリプトは、コンテンツ項目サイズが一度決定されると、リソースの移行表示を容易にするようにさらに構成され得る。例えば、スクリプトは、クライアントデバイスのディスプレイ上に表示されるリソースをなめらかに拡大するため、クライアントデバイスに、1/2秒にわたって、高さを決定されたコンテンツ項目サイズの高さへとゆっくり出させるように、"transition: height 0.5s ease-out;"を含むことができる。
【0059】
決定されたコンテンツ項目サイズの、高さまたは幅などの寸法を受け取ることができる(ブロック704)。決定されたコンテンツ項目サイズの寸法は、クライアントデバイスからのコンテンツ項目要求の部分として受け取ることができる。コンテンツ項目要求は、幅の値または高さの値など、親要素の寸法も含むことができる。一実装形態では、コンテンツ項目要求は、決定された標準コンテンツ項目サイズの高さの値および親要素の幅の値を含むことができる。要求はコンテンツ項目要求URLの形であってよい。いくつかの実装形態では、デバイスおよび/もしくはリソースの情報またはパラメータは、コンテンツ項目要求URLに添付されるような、コンテンツ項目要求で含むこともできる(例えば、/page/contentitem?devid=abc123&devnfo=A34r0)。
【0060】
コンテンツ項目の組は、少なくとも部分的に、決定されたコンテンツ項目サイズの受け取った寸法に基づいて決定することができる(ブロック706)。いくつかの実装形態では、受け取った寸法に基づいて決定されたコンテンツ項目サイズに対応するコンテンツ項目サイズを有する画像コンテンツ項目を、コンテンツ項目選択システムにより実施されるオークションについてのコンテンツ項目の組に含むことができる。コンテンツ項目の組は、テキストのコンテンツ項目または他のコンテンツ項目を含むこともできる。コンテンツ項目は、少なくとも部分的に、コンテンツ項目選択システムにより実施されるオークションに基づいて選択することができる(ブロック708)。コンテンツ項目の選択は、オークション中のコンテンツ項目の組のうちの各コンテンツ項目に関連する入札に基づくことができる。いくつかの実装形態では、オークション中のコンテンツ項目の組のうちの各コンテンツ項目についてスコアを生成することができ、スコアは、コンテンツ項目の組のうちの各コンテンツ項目をランク付けするために使用することができる。コンテンツ項目選択システムによるランクに基づいて、コンテンツ項目を選択することができる。
【0061】
リソースの親要素中の選択されたコンテンツ項目の表示を実現するためのデータを供給することができる(ブロック710)。データは、ネットワーク106を介して、コンテンツ項目選択システム108からクライアントデバイス110および/またはリソースサーバ104に送信することができる。
【0062】
いくつかの実装形態では、プロセス700は、
図6のブロック608、610、612を参照して記載されるような、スクリプトにより決定されるような、ビューポートの第2のサイズおよび/または親要素の第2の幅に基づいて第2のコンテンツ項目サイズの寸法を受け取ることができる。例えば、
図2Bおよび
図3Bに示されるように、リソースは、ウェブブラウザのウィンドウに対するサイズの縮小またはモバイルデバイスもしくはタブレットの向きの変更に応答して、修正またはサイズ変更することができる。いくつかの例では、プロセス700は、決定された第2のコンテンツ項目サイズの寸法を受け取るステップと、決定された第2のコンテンツ項目サイズの寸法に基づいて、リソースを有する選択されたコンテンツ項目の表示を実現するため第2のデータをクライアントデバイスに供給するステップとをさらに含むことができる。他の実装形態では、スクリプトは、クライアントデバイスに、決定された第2のコンテンツ項目サイズに基づいて、(例えば、シームカービング、ストレッチングなどを介して)元々供給されたコンテンツ項目をサイズ変更させるように構成することができる。
【0063】
いくつかの実装形態では、コンテンツ項目要求に含まれる決定されたコンテンツ項目サイズの寸法は、コンテンツ項目選択システムまたは別のシステムのデータベース中に記憶することができる。供給されるコンテンツ項目の寸法をデータベース中に記憶することがやはりできる。加えて、例えば、垂直、水平、および/または矩形といった、任意の特定の要求される形状をデータベース中に記憶することができる。要求される寸法および供給される寸法は、整数の幅および高さであってよい。要求される形状は、enumとして規定することができる。記憶される要求される寸法、供給される寸法、および/または要求される形状は、数値データまたは可視化など、報告データを生成するために使用することができる。要求される幅の寸法は、<120px、>=120px <125px、>=125px <160px、>=160px <180px、>=180px <200px、>=200px <234px、>=234px <250px、>=250px <300px、>=300px <320px、>=320px <336px、>=336px <468px、>=468px <728px、>=728px <970px、および/または>=970pxなどのバケットへとバケット化することができる。したがって、様々なサイズのコンテンツ項目の性能に関するリソースの第一者のコンテンツプロバイダについて、かつ/またはそれらの様々なサイズのコンテンツ項目の性能に関する第三者のコンテンツプロバイダについて、統計的データを生成することができる。
【0064】
いくつかの実装形態では、スクリプトの1つまたは複数の動作は、コンテンツ項目選択システムによって実施することができる。例えば、スクリプトは、コンテンツ項目選択システムにビューポートのサイズおよび親要素の幅を出力するように構成することができ、コンテンツ項目選択システムは、コンテンツ項目サイズを決定し、決定されたコンテンツ項目サイズに基づいてコンテンツ項目の組を決定し、コンテンツ項目を選択し、親要素中にリソースで表示されるべき選択されたコンテンツ項目をクライアントデバイスに供給するように構成することができる。
【0065】
図8は、クライアントデバイス110、コンテンツ項目選択システム108、第三者のコンテンツサーバ102、リソースサーバ104などを実装するために使用することができるコンピュータシステム800のブロック図である。コンピューティングシステム800は、情報を通信するためのバス805または他の通信構成要素、および情報を処理するためにバス805に結合されるプロセッサ810または処理モジュールを含む。コンピューティングシステム800は、情報を処理するための、バスに結合される、1つまたは複数のプロセッサ810または処理モジュールを含むこともできる。コンピューティングシステム800は、プロセッサ810により実行される情報および命令を記憶するため、バス805に結合される、RAMまたは他の動的な記憶デバイスなどのメインメモリ815をやはり含む。メインメモリ815は、プロセッサ810による命令の実行期間に、場所情報、一時的変数、または他の中間情報を記憶するために使用することもできる。コンピューティングシステム800は、プロセッサ810のための静的な情報および命令を記憶するため、バス805に結合されるROM820または他の静的な記憶デバイスをさらに含むことができる。固体デバイス、磁気ディスクまたは光学ディスクなどの記憶デバイス825が、情報および命令を持続的に記憶するため、バス805に結合される。コンピューティングデバイス800としては、限定するものではないが、ラップトップ、デスクトップ、ワークステーション、携帯情報端末、サーバ、ブレードサーバ、メインフレーム、セルラー電話、スマートフォン、モバイルコンピューティングデバイス(例えば、ノートパッド、電子リーダなど)などのデジタルコンピュータが挙げられる。
【0066】
コンピューティングシステム800は、ユーザに情報を表示するために、液晶ディスプレイ(LCD)、薄膜トランジスタLCD(TFT)、有機発光ダイオード(OLED)ディスプレイ、LEDディスプレイ、電子ペーパーディスプレイ、プラズマディスプレイパネル(PDP)、および/または他のディスプレイなどのディスプレイ835に、バス805を介して結合することができる。プロセッサ810に情報およびコマンド選択を通信するために、英数字キーおよび他のキーを含むキーボードなどの入力デバイス830を、バス805に結合することができる。別の実装形態では、入力デバイス830は、タッチスクリーンディスプレイ中など、ディスプレイ835と一体化することができる。入力デバイス830は、プロセッサ810に方向情報およびコマンド選択を通信するため、およびディスプレイ835上のカーソル移動を制御するために、マウス、トラックボール、またはカーソル方向キーなどのカーソル制御器を含むことができる。
【0067】
様々な実装形態によれば、本明細書に記載されるプロセスおよび/または方法は、プロセッサ810がメインメモリ815に含まれる命令の配置を実行することに応答するコンピューティングシステム800により実装することができる。そのような命令は、記憶デバイス825など、別のコンピュータ可読媒体からメインメモリ815へと読み取ることができる。メインメモリ815に含まれる命令の配置を実行することによって、コンピューティングシステム800に、本明細書に記載される例示的なプロセスおよび/または方法ステップを実施させる。メインメモリ815に含まれる命令を実行するように、多重処理装置中に1つまたは複数のプロセッサを採用することもできる。代替の実装形態では、例示的な実装形態を実現するために、ソフトウェア命令の代わりに、またはソフトウェア命令と組み合わせて、ハードワイヤード回路を使用することもできる。したがって、実装形態は、ハードウェア回路とソフトウェアの任意の特定の組合せに限定されない。
【0068】
コンピューティングシステム800の実装形態が
図8で記載されたが、本明細書に記載された主題および機能動作の実装形態は、本明細書に開示される構造およびそれらの構造的な等価物を含む、他のタイプのデジタル電子回路、またはコンピュータソフトウェア、ファームウェア、もしくはハードウェア、またはそれらの1つまたは複数の組合せに実装することができる。
【0069】
本明細書に記載された主題および動作の実装は、本明細書に開示される構造およびそれらの構造的な等価物を含む、デジタル電子回路、または有形の媒体上に具現化されるコンピュータソフトウェア、ファームウェア、もしくはハードウェア、またはそれらの1つまたは複数の組合せに実装することができる。本明細書に記載される主題は、データ処理装置が実行する、またはデータ処理装置の動作を制御するため、1つまたは複数のコンピュータ記憶媒体上に符号化される、1つまたは複数のコンピュータプログラム、すなわち、コンピュータプログラム命令の1つまたは複数のモジュールとして実装することができる。代替または追加として、プログラム命令は、例えば、データ処理装置による実行のために、好適な受信装置に伝送するため情報を符号化するように生成される、機械生成の電気的、光学的、または電磁的信号といった、人工的に生成される伝播信号上で符号化することができる。コンピュータ記憶媒体は、コンピュータ可読記憶デバイス、コンピュータ可読記憶基板、ランダムもしくはシリアルアクセスのメモリアレイもしくはデバイス、またはそれらの1つまたは複数の組合せであってよく、またはそれらに含まれる場合がある。さらに、コンピュータ記憶媒体が伝播信号でないとき、コンピュータ記憶媒体は、人工的に生成された伝播信号中に符号化されたコンピュータプログラム命令の送信元または送信先であってよい。コンピュータ記憶媒体は、1つもしくは複数の別個の構成要素または媒体(例えば、複数のCD、ディスク、または他の記憶デバイス)であってもよく、または含まれてもよい。したがって、コンピュータ記憶媒体は、有形および無形の両方である。
【0070】
この明細書に記載される動作は、1つもしくは複数のコンピュータ可読記憶デバイス上に記憶されるまたは他のソースから受け取られるデータに、データ処理装置によって実施することができる。
【0071】
「データ処理装置」、「コンピューティングデバイス」、「処理回路」、または「処理モジュール」といった用語は、例として、プログラム可能プロセッサ、コンピュータ、システムオンチップもしくは複数のチップ上のシステム、プログラムされたプロセッサの部分、または上記の組合せを含む、全ての種類の、データを処理するための装置、デバイスおよび機械を包含する。装置としては、例えば、FPGAまたはASICといった専用論理回路が挙げられる。装置としては、ハードウェアに加えて、例えば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、クロスプラットフォームランタイム環境、仮想機械、またはこれらのうちの1つもしくは複数の組合せを構成するコードといった、対象のコンピュータプログラムについての実行環境を作り出すコードを挙げることもできる。装置および実行環境は、ウェブサービス、分散コンピューティング、およびグリッドコンピューティングのインフラストラクチャなど、様々な異なるコンピューティングモデルのインフラストラクチャを実現することができる。
【0072】
(プログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプト、またはコードとしても知られる)コンピュータプログラムは、コンパイル型言語もしくはインタープリタ型言語、宣言型言語もしくは手続き型言語を含むプログラミング言語の任意の形式で書くことができ、コンピュータプログラムは、コンピューティング環境で使用するのに好適な、スタンドアローンプログラムとしてまたはモジュール、構成要素、サブルーチン、オブジェクト、もしくは他のユニットとして挙げられる任意の形式で展開することができる。コンピュータプログラムは、ファイルシステム中のファイルに対応することができるが、必ずしも対応しない場合もある。プログラムは、他のプログラムまたはデータ(例えば、マークアップ言語文書中に記憶される1つまたは複数のスクリプト)を保持するファイルの一部の中、対象のプログラム専用の単一のファイルの中、または複数の協調したファイル(例えば、1つもしくは複数のモジュール、サブプログラム、またはコードの部分を記憶するファイル)の中に、記憶することができる。コンピュータプログラムは、1つのコンピュータ、1つのサイトに配置される、もしくは複数のサイトにわたって分散され、通信ネットワークにより相互接続される複数のコンピュータ上で実行されるように展開することができる。
【0073】
コンピュータプログラムの実行に好適なプロセッサとしては、例として、汎用および専用マイクロプロセッサ、ならびに任意の種類のデジタルコンピュータのいずれか1つまたは複数のプロセッサが挙げられる。一般的に、プロセッサは、読取り専用メモリまたはランダムアクセスメモリあるいはその両方から命令およびデータを受け取ることになる。コンピュータの本質的な要素は、命令にしたがって行為を実施するためのプロセッサ、ならびに命令およびデータを記憶するための1つまたは複数のメモリデバイスである。一般的に、コンピュータは、やはり、例えば、磁気ディスク、光磁気ディスク、もしくは光ディスクといったデータを記憶するための1つもしくは複数の大容量記憶デバイスを含み、または1つもしくは複数の大容量記憶デバイスからデータを受け取り、または1つもしくは複数の大容量記憶デバイスにデータを転送し、あるいはその両方を行うために動作可能に結合することになる。しかし、コンピュータは、そのようなデバイスを有する必要はない。さらに、コンピュータは、例えば、数例を挙げると、モバイル電話、携帯情報端末(PDA)、モバイル音声プレイヤもしくはモバイル映像プレイヤ、ゲームコンソール、全地球測位システム(GPS)受信機、または携帯型記憶デバイス(例えば、ユニバーサルシリアルバス(USB)フラッシュドライブ)といった、別のデバイス中に内蔵することができる。コンピュータプログラム命令およびデータを記憶するのに好適なデバイスとしては、例として、例えば、EPROM、EEPROM、およびフラッシュメモリデバイスといった半導体メモリデバイス、例えば内蔵ハードディスクまたはリムーバブルディスクといった磁気ディスク、光磁気ディスク、ならびにCD ROMおよびDVDディスクを含む、不揮発性メモリ、媒体およびメモリデバイスの全ての形態が挙げられる。プロセッサおよびメモリは、専用論理回路によって補助する、または専用論理回路の中に組み込むことができる。
【0074】
ユーザとの相互作用を提供するために、この明細書に記載される主題の実装形態を、ユーザに情報を表示するための、例えばCRT(陰極線管)またはLCDモニタといったディスプレイデバイス、ならびにユーザがコンピュータに入力を提供できる、キーボードおよび例えばマウスまたはトラックボールといったポインティングデバイスを有するコンピュータ上に実装することができる。同様に、ユーザとの相互作用を提供するために、他の種類のデバイスを使用することができる。例えば、ユーザに提供されるフィードバックは、例えば、視覚的フィードバック、音声的フィードバック、または触覚的フィードバックといった感覚的フィードバックの任意の形態であってよく、ユーザからの入力は、音響、話し言葉、または触覚的入力を含む任意の形態で受け取ることができる。
【0075】
この明細書は、多くの特定の実装形態の詳細を含むが、これらは、特許請求することができる範囲への制限と解釈するべきではなく、むしろ、個々の実装形態に特定の特徴の記載であると解釈するべきである。別個の実装形態の文脈中でこの明細書に記載されるある種の特徴は、単一の実装形態で組み合わせて実装することもできる。逆に、単一の実装形態の文脈中に記載される様々な特徴は、複数の実装形態で別個に、または任意の好適な下位の組合せで実装することもできる。さらに、特徴は、ある種の組合せにおける行為として上に記載され、そのように最初に特許請求される場合がある、特許請求される組合せからの1つまたは複数の特徴は、いくつかの場合で組合せから削除することができ、特許請求される組合せは、下位の組合せまたは下位の組合せの変形形態を対象とすることができる。
【0076】
同様に、動作は、特定の順序で図面中に描かれているが、これは、望ましい結果を達成するために、示される特定の順序もしくは順番でそのような動作が実施されること、または全ての図示される動作が実施されることが必要であると理解するべきではない。ある種の環境では、マルチタスクおよび並列処理が有利となる場合がある。さらに、上に記載された実装形態中の様々なシステム構成要素の区切りは、全ての実装形態でそのような区切りが必要であると理解するべきでなく、記載されたプログラム構成要素およびシステムを、有形の媒体上に具体化される、単一のソフトウェア製品に統合できる、または複数のソフトウェア製品にパッケージングできると理解するべきである。
【0077】
「または、もしくは(or)」への言及は、包括的であると解釈することができ、その結果、「または、もしくは(or)」を使用して記載される任意の用語は、記載される用語のうちの1つ、1つよりも多く、および全てのうちのいずれかを示すことができる。
【0078】
こうして、主題の特定の実装形態が記載されてきた。他の実装形態は、以下の特許請求の範囲内である。いくつかの場合では、特許請求に記載される行為は、異なる順序で実施され、依然として望ましい結果を達成することができる。加えて、添付図面に描かれるプロセスは、望ましい結果を達成するため、示される特定の順序または順番を必ずしも必要としない。ある種の実装形態では、マルチタスクおよび並列処理が有利となる場合がある。
【0079】
請求項は、記載される順序または要素の趣旨を明記しない限り、記載される順序または要素に限定されるものと理解されるべきでない。添付の請求項の精神および範囲から逸脱することなく、形態および詳細において様々な変更を当業者が行うことができることを理解されたい。以下の請求項およびその等価物の精神および範囲内に入る全ての実装形態は、特許請求される。