(57)【要約】  コンテンツバインダライブラリを使用して、パブリッシャーページのコンテンツ要素を位置特定することを含む動作を行うための、コンピュータ記憶媒体上に符号化されたコンピュータプログラムを含む、方法、システム、および装置である。各コンテンツ要素について、ライブラリが、コンテンツ要素の提示属性を決定し、少なくとも1つの他のライブラリが、パブリッシャーページを要求しているユーザデバイスのタイプを指定するモードパラメータを検出する。ライブラリは、パブリッシャーページから特定のコンテンツ要素を、特定のコンテンツ要素の提示属性を使用してパブリッシャーページにおいてデジタルコンポーネントを位置決めするための基準点として選択する。ライブラリは、デジタルコンポーネントをレンダリングするためのパブリッシャーページのロケーションを決定し、ここで、ロケーションが、基準点およびモードパラメータに基づいて決定される。ライブラリは、パブリッシャーページのロケーションにおいて表示するために、デジタルコンポーネントを提供する。
2021512415.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータ実装方法であって、
コンテンツバインダライブラリを使用して、パブリッシャーページのコンテンツ要素を位置特定するステップと、
前記パブリッシャーページの各コンテンツ要素について、
前記コンテンツバインダライブラリを使用して、前記コンテンツ要素の提示属性を決定するステップであって、前記提示属性が、(i)前記コンテンツ要素のサイズを指定するサイズ属性、および(ii)前記パブリッシャーページの前記コンテンツ要素の相対位置を備える、ステップと、
前記パブリッシャーページを要求しているユーザデバイスのタイプを指定するモードパラメータを検出するステップと、
前記コンテンツバインダライブラリを使用して、前記パブリッシャーページから特定のコンテンツ要素を、前記特定のコンテンツ要素の前記提示属性を使用して前記パブリッシャーページにおいてデジタルコンポーネントを位置決めするための基準点として選択するステップと、
前記コンテンツバインダライブラリを使用して、前記デジタルコンポーネントをレンダリングするための前記パブリッシャーページのロケーションを決定するステップであって、前記ロケーションが、前記基準点および前記モードパラメータに基づいて決定される、ステップと、
前記コンテンツバインダライブラリを使用して、前記パブリッシャーページの前記ロケーションにおいて表示するために、前記デジタルコンポーネントを提供するステップと
を含むコンピュータ実装方法。
【請求項２】
前記コンテンツバインダライブラリが、
前記パブリッシャーページの前記ロケーションにおいて前記デジタルコンポーネントをレンダリングするためのセキュアiframeを挿入すること、レンダリングライブラリと通信すること、前記レンダリングライブラリから前記デジタルコンポーネントを受信すること、および、前記パブリッシャーページの前記ロケーションにおいて挿入された前記セキュアiframeを使用して、前記デジタルコンポーネントが前記パブリッシャーページに組み込まれることを引き起こすことを行うように構成され、前記ロケーションが、前記パブリッシャーページの前記特定のコンテンツ要素に隣接する、請求項1に記載のコンピュータ実装方法。
【請求項３】
前記特定のコンテンツ要素を選択するステップが、
前記モードパラメータによって指定された前記ユーザデバイスのタイプに基づいて、前記パブリッシャーページにおいてカットアウトを挿入するための第2の基準点を識別するステップであって、前記第2の基準点が、
前記特定のコンテンツ要素に隣接して、前記パブリッシャーページに組み込まれた前記デジタルコンポーネントの一部分をレンダリングすること、または
前記パブリッシャーページにおいて表示するために提供された、別の異なるデジタルコンポーネントをレンダリングすること
を行うための、前記パブリッシャーページの少なくとも1つの他のロケーションを表す、ステップ
を含む、請求項1または2に記載のコンピュータ実装方法。
【請求項４】
前記パブリッシャーページにおいて前記第2の基準点を識別するステップが、
各候補コンテンツ要素のそれぞれの深度値に基づいて、1つまたは複数の候補コンテンツ要素を識別するステップであって、各それぞれの深度値が、前記パブリッシャーページのルートノードに対して計算される、ステップと、
前記パブリッシャーページの最初のビューポートサイズのエリアと重複する1つまたは複数の候補コンテンツ要素をフィルタリングするステップと、
フィルタリングに応答して、残りの候補コンテンツ要素のセットの中からコンテンツ要素を選択するステップであって、前記コンテンツ要素は、前記コンテンツ要素が前記パブリッシャーページの前記ルートノードに最も近いことを示す、それぞれの深度値に基づいて選択される、ステップと、
前記選択されたコンテンツ要素に基づいて、前記パブリッシャーページにおいて前記第2の基準点を識別するステップと
を含む、請求項3に記載のコンピュータ実装方法。
【請求項５】
前記パブリッシャーページの前記ロケーションにおいて表示するために、前記デジタルコンポーネントを提供するステップが、
前記レンダリングライブラリからの要求に基づいて、前記パブリッシャーページの前記ロケーションにおいてレンダリングするために、前記デジタルコンポーネントを提供するステップ
を含む、請求項2に記載のコンピュータ実装方法。
【請求項６】
前記レンダリングライブラリが、複数の異なるタイプのパブリッシャーページにおいて表示するためにフォーマットされる、複数のデジタルコンポーネントを含み、
前記複数のデジタルコンポーネントが、バックドロップクリエイティブコンポーネント、またはリッチメディアクリエイティブコンポーネントのうちの少なくとも1つを含む、請求項2または5に記載のコンピュータ実装方法。
【請求項７】
前記モードパラメータが、前記ユーザデバイスのタイプをモバイルコンピューティングデバイスとして指定し、前記コンテンツ要素が、前記モバイルコンピューティングデバイスのために構成されたパブリッシャーページにおいて表示するためのものであり、前記パブリッシャーページのための前記ロケーションを決定するステップが、
各コンテンツ要素の前記サイズを指定する前記それぞれのサイズ属性と、前記モバイルコンピューティングデバイスのために構成された前記パブリッシャーページにおいて表示された各コンテンツ要素のそれぞれの前記相対位置とに基づいて、前記ロケーションを決定するステップ
を含む、請求項1から6のいずれか一項に記載のコンピュータ実装方法。
【請求項８】
前記コンテンツバインダライブラリを使用して、前記パブリッシャーページにおいて前記デジタルコンポーネントを組み込み、表示するためのレンダリングレイアウトを決定するステップであって、前記レンダリングレイアウトが、前記レンダリングライブラリから受信された前記デジタルコンポーネントのメタデータに基づいて決定される、ステップ
をさらに含む、請求項2、5または6に記載のコンピュータ実装方法。
【請求項９】
前記パブリッシャーページの前記ロケーションにおいて表示するために、前記デジタルコンポーネントを提供するステップが、
前記レンダリングライブラリから前記デジタルコンポーネントを提供するステップであって、前記レンダリングライブラリが、前記パブリッシャーページにアクセスすることから除外される第1のドメインを表す、ステップと、
前記コンテンツバインダライブラリにおいて、前記デジタルコンポーネントを受信するステップであって、前記コンテンツバインダライブラリが、第2のドメインを表し、前記第2のドメインが、前記第1のドメインとは別個であり、
前記レンダリングライブラリの前記第1のドメインによるアクセスのために構成され、
前記パブリッシャーページにおいて組み込まれるデジタルコンポーネントのための第3のドメインにアクセスするように構成される、ステップと
を含む、請求項2、5、6または8に記載のコンピュータ実装方法。
【請求項１０】
前記第3のドメインが、前記パブリッシャーページへのサードパーティアクセスを除外するように構成される、前記パブリッシャーページのサンドボックス化された実行環境であり、
前記第3のドメインが、前記レンダリングライブラリの前記第1のドメイン、および前記コンテンツバインダライブラリの前記第2のドメインとは別個であり、
前記パブリッシャーページにおいて組み込まれる前記第3のドメインのデジタルコンポーネントが、前記コンテンツバインダライブラリによって確立されたセキュア通信チャネルを介して、前記レンダリングライブラリと通信する、請求項9に記載のコンピュータ実装方法。
【請求項１１】
コンピューティングシステムであって、
パブリッシャーページにおいて表示するためのコンテンツ要素を位置特定する、コンテンツバインダライブラリであって、前記コンテンツバインダライブラリが、
前記パブリッシャーページにおいて表示された各コンテンツ要素について、前記コンテンツ要素の提示属性を決定することであって、前記提示属性が、(i)前記コンテンツ要素のサイズを指定するサイズ属性、および(ii)前記パブリッシャーページの前記コンテンツ要素の相対位置を備える、決定すること、ならびに
前記パブリッシャーページを要求しているユーザデバイスのタイプを指定するモードパラメータに関する情報を受信すること
を行うように構成される、コンテンツバインダライブラリと、
前記パブリッシャーページ、および前記コンテンツバインダライブラリのコンピューティング論理と通信する、データインテグレータであって、前記データインテグレータが、
前記パブリッシャーページから特定のコンテンツ要素を、前記特定のコンテンツ要素の前記提示属性を使用して前記パブリッシャーページにおいてデジタルコンポーネントを位置決めするための基準点として選択すること、
前記デジタルコンポーネントをレンダリングするための前記パブリッシャーページのロケーションを決定することであって、前記ロケーションが、前記基準点および前記モードパラメータに基づいて決定される、決定すること、ならびに
前記パブリッシャーページの前記ロケーションにおいて表示するために、前記デジタルコンポーネントを提供すること
を行うように構成される、データインテグレータと
を備えるコンピューティングシステム。
【請求項１２】
前記コンピューティングシステムが、レンダリングライブラリをさらに備え、前記レンダリングライブラリが、
前記コンテンツバインダライブラリに前記デジタルコンポーネントを提供するために、前記コンテンツバインダライブラリと通信するように構成され、前記コンテンツバインダライブラリが、前記パブリッシャーページの前記ロケーションにおいて前記デジタルコンポーネントをレンダリングするためのセキュアiframeを挿入するように、および、前記パブリッシャーページの前記ロケーションにおいて挿入された前記セキュアiframeを使用して、前記デジタルコンポーネントを前記パブリッシャーページに組み込むことを、前記データインテグレータに行わせるように構成され、前記ロケーションが、前記パブリッシャーページの前記特定のコンテンツ要素に隣接する、請求項11に記載のコンピューティングシステム。
【請求項１３】
前記データインテグレータが、前記モードパラメータによって指定された前記ユーザデバイスのタイプに基づいて、前記パブリッシャーページにおいてカットアウトを挿入するための第2の基準点を識別することによって、前記特定のコンテンツ要素を選択し、前記第2の基準点が、
前記特定のコンテンツ要素に隣接する、前記パブリッシャーページに組み込まれた前記デジタルコンポーネントの一部分、または
前記パブリッシャーページにおいて表示するために提供された、別の異なるデジタルコンポーネント
をレンダリングするための、前記パブリッシャーページの少なくとも1つの他のロケーションを表す、請求項11または12に記載のコンピューティングシステム。
【請求項１４】
前記データインテグレータが、
i)各候補コンテンツ要素のそれぞれの深度値に基づいて、1つまたは複数の候補コンテンツ要素を識別することであって、各それぞれの深度値が、前記パブリッシャーページのルートノードに対して計算される、識別すること、
ii)前記パブリッシャーページの最初のビューポートサイズのエリアと重複する1つまたは複数の候補コンテンツ要素をフィルタリングすること、
iii)フィルタリングに応答して、残りの候補コンテンツ要素のセットの中からコンテンツ要素を選択することであって、前記コンテンツ要素は、前記コンテンツ要素が前記パブリッシャーページの前記ルートノードに最も近いことを示す、それぞれの深度値に基づいて選択される、選択すること、および
iv)前記選択されたコンテンツ要素に基づいて、前記パブリッシャーページにおいて前記第2の基準点を識別すること
によって、前記パブリッシャーページにおいて前記第2の基準点を識別するように構成される、請求項13に記載のコンピューティングシステム。
【請求項１５】
前記データインテグレータが、前記レンダリングライブラリからの要求に基づいて、前記パブリッシャーページの前記ロケーションにおいて表示するために、前記デジタルコンポーネントを提供するように構成される、請求項12に記載のコンピューティングシステム。
【請求項１６】
前記レンダリングライブラリが、複数の異なるタイプのパブリッシャーページにおいて表示するためにフォーマットされる、複数のデジタルコンポーネントを含み、
前記複数のデジタルコンポーネントが、バックドロップクリエイティブコンポーネント、またはリッチメディアクリエイティブコンポーネントのうちの少なくとも1つを含む、請求項12または15に記載のコンピューティングシステム。
【請求項１７】
前記レンダリングライブラリが、前記パブリッシャーページにアクセスすることから除外される第1のドメインを表し、
前記コンテンツバインダライブラリが第2のドメインを表し、前記第2のドメインが、前記第1のドメインとは別個であり、
前記レンダリングライブラリの前記第1のドメインによるアクセスのために構成され、
前記パブリッシャーページにおいて組み込まれるデジタルコンポーネントのための第3のドメインにアクセスするように構成される、請求項12、15または16に記載のコンピューティングシステム。
【請求項１８】
前記第3のドメインが、前記パブリッシャーページへのサードパーティアクセスを除外するように構成される、前記パブリッシャーページのサンドボックス化された実行環境であり、
前記第3のドメインが、前記レンダリングライブラリによって表された前記第1のドメイン、および前記コンテンツバインダライブラリによって表された前記第2のドメインとは別個であり、
前記パブリッシャーページにおいて組み込まれる前記第3のドメインのデジタルコンポーネントが、前記コンテンツバインダライブラリによって確立されたセキュア通信チャネルを介して、前記レンダリングライブラリと通信する、請求項17に記載のコンピューティングシステム。
【請求項１９】
1つまたは複数の処理デバイスによって動作の実行を引き起こすために実行可能である命令を記憶するための、1つまたは複数の非一時的機械可読記憶デバイスであって、前記動作が、
コンテンツバインダライブラリを使用して、パブリッシャーページのコンテンツ要素を位置特定すること、
前記パブリッシャーページの各コンテンツ要素について、
前記コンテンツバインダライブラリを使用して、前記コンテンツ要素の提示属性を決定することであって、前記提示属性が、(i)前記コンテンツ要素のサイズを指定するサイズ属性、および(ii)前記パブリッシャーページの前記コンテンツ要素の相対位置を備える、決定すること、
前記パブリッシャーページを要求しているユーザデバイスのタイプを指定するモードパラメータを検出すること、
前記コンテンツバインダライブラリを使用して、前記パブリッシャーページから特定のコンテンツ要素を、前記特定のコンテンツ要素の前記提示属性を使用して前記パブリッシャーページにおいてデジタルコンポーネントを位置決めするための基準点として選択すること、
前記コンテンツバインダライブラリを使用して、前記デジタルコンポーネントをレンダリングするための前記パブリッシャーページのロケーションを決定することであって、前記ロケーションが、前記基準点および前記モードパラメータに基づいて決定される、決定すること、ならびに
前記コンテンツバインダライブラリを使用して、前記パブリッシャーページの前記ロケーションにおいて表示するために、前記デジタルコンポーネントを提供すること
を含む、1つまたは複数の非一時的機械可読記憶デバイス。
【請求項２０】
前記コンテンツバインダライブラリが、
前記パブリッシャーページの前記ロケーションにおいて前記デジタルコンポーネントをレンダリングするためのセキュアiframeを挿入すること、
レンダリングライブラリと通信し、前記レンダリングライブラリから前記デジタルコンポーネントを受信すること、および
前記パブリッシャーページの前記ロケーションにおいて挿入された前記セキュアiframeを使用して、前記デジタルコンポーネントが前記パブリッシャーページに組み込まれることを引き起こすことを行うように構成され、前記ロケーションが、前記パブリッシャーページの前記特定のコンテンツ要素に隣接する、請求項19に記載の非一時的機械可読記憶デバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書は、デジタルコンテンツのレンダリングに関する。
【背景技術】
【０００２】
ウェブページは、様々な異なるタイプのコンテンツを表示するように構成される。ウェブページにおいてレンダリングされるコンテンツは、パブリッシャー、またはページのホストによって、ならびにパブリッシャーのコンテンツと並行してレンダリングするための他のコンテンツを供給するサードパーティによって提供され得る。一般に、サードパーティによって提供された他のコンテンツの提示は、パブリッシャーによって制御される。いくつかの状況では、複数の異なるプロバイダからのコンテンツが、単一の電子ドキュメントに組み込まれて、複数のコンテンツ要素を表示するパブリッシャーウェブページなどの複合ドキュメントが作成され得る。たとえば、電子ドキュメント中に含まれたコンテンツの一部分は、電子ドキュメントまたはウェブページのパブリッシャーによって選択(または指定)され得る。コンテンツの異なる部分(たとえば、デジタルコンポーネント)は、サードパーティ(たとえば、ウェブページのパブリッシャーではない、かつ/またはパブリッシャーページのコンテンツを定義するコードを修正するためのアクセスを有していないエンティティ)によって提供され得る。コンテンツの異なる部分のレンダリングは、時には、サードパーティシステムがパブリッシャーページへのアクセスを許可され、サードパーティがページにおいてコンテンツのそれらの部分を挿入するために、パブリッシャーページを制御することができるようにすることを伴い得る。しかしながら、そのようなアクセスおよび制御は、パブリッシャーのシステム、またはウェブページを、悪意のある行為者による不正なネットワーク侵入および機密情報の潜在的な流出にさらす、セキュリティリスクを示すことがある。
【発明の概要】
【課題を解決するための手段】
【０００３】
コンテンツバインダライブラリを使用して、パブリッシャーページを構成するコンテンツ要素を位置特定するための、コンピュータ記憶媒体上に符号化されたコンピュータプログラムを含む、方法、システム、および装置が提供される。各コンテンツ要素について、コンテンツバインダライブラリは、コンテンツ要素の提示属性を決定し、パブリッシャーページを要求しているユーザデバイスのタイプを指定するモードパラメータを検出する。コンテンツバインダライブラリは、パブリッシャーページから特定のコンテンツ要素を、特定のコンテンツ要素の提示属性を使用してパブリッシャーページにおいて、デジタルコンポーネント(たとえば、公共広告(たとえば、気象警報)、システムメッセージ(たとえば、システムを備えるコンピュータネットワークの内部状態についての警告、またはコンピュータネットワークの1つもしくは複数の構成要素のためのスケジュールされたメンテナンス時間の事前通知)、広告コンテンツなど)を含む、バックドロップクリエイティブ(backdrop creative)を位置決めするための基準点として選択する。コンテンツバインダライブラリは、デジタルコンポーネントとともにバックドロップクリエイティブをレンダリングするためのパブリッシャーページのロケーションを決定する。バックドロップクリエイティブがレンダリングされるパブリッシャーページのロケーションは、基準点およびモードパラメータに基づいて決定される。コンテンツバインダライブラリは、パブリッシャーページのコンテンツ要素に隣接する、パブリッシャーページのロケーションにおいて組み込まれた表示のために、デジタルコンポーネントを提供する。
【０００４】
本明細書で説明する主題の一態様は、コンピュータ実装方法において具現化され得る。方法は、コンテンツバインダライブラリを使用して、パブリッシャーページのコンテンツ要素を位置特定するステップと、パブリッシャーページの各コンテンツ要素について、コンテンツバインダライブラリを使用して、コンテンツ要素の提示属性を決定するステップであって、提示属性が、(i)コンテンツ要素のサイズを指定するサイズ属性、および(ii)パブリッシャーページのコンテンツ要素の相対位置(すなわち、パブリッシャーページ内のコンテンツ要素の位置)を備える、ステップとを含む。方法は、パブリッシャーページを要求しているユーザデバイスのタイプを指定するモードパラメータを検出するステップと、コンテンツバインダライブラリを使用して、パブリッシャーページから特定のコンテンツ要素を、特定のコンテンツ要素の提示属性を使用してパブリッシャーページにおいてデジタルコンポーネントを位置決めするための基準点として選択するステップとを含む。方法は、コンテンツバインダライブラリを使用して、デジタルコンポーネントをレンダリングするためのパブリッシャーページのロケーションを決定するステップであって、ロケーションが、基準点およびモードパラメータに基づいて決定される、ステップと、コンテンツバインダライブラリを使用して、パブリッシャーページのロケーションにおいて表示するために、デジタルコンポーネントを提供するステップとを含む。
【０００５】
これらの実装形態および他の実装形態は、場合によっては、以下の特徴のうちの1つまたは複数を各々含み得る。たとえば、いくつかの実装形態では、コンテンツバインダライブラリが、パブリッシャーページのロケーションにおいてデジタルコンポーネントをレンダリングするためのセキュアiframeを挿入すること、レンダリングライブラリと通信すること、レンダリングライブラリからデジタルコンポーネントを受信すること、および、パブリッシャーページのロケーションにおいて挿入されたセキュアiframeを使用して、デジタルコンポーネントがパブリッシャーページに組み込まれることを引き起こすことを行うように構成され、ロケーションが、パブリッシャーページの特定のコンテンツ要素に隣接する(すなわち、ロケーションが、ある数未満のピクセルだけコンテンツ要素から離間していること、またはいかなるピクセルでもコンテンツ要素からまったく離間していない(すなわち、絶対的に隣接する)ことなど、コンテンツ要素に対する隣接基準を満たす)。
【０００６】
いくつかの実装形態では、特定のコンテンツ要素を選択するステップが、モードパラメータによって指定されたユーザデバイスのタイプに基づいて、パブリッシャーページにおいてカットアウトを挿入するための第2の基準点を識別するステップであって、第2の基準点が、特定のコンテンツ要素に隣接して、パブリッシャーページに組み込まれたデジタルコンポーネントの一部分をレンダリングすること、またはパブリッシャーページにおいて表示するために提供された、別の異なるデジタルコンポーネントをレンダリングすることを行うための、パブリッシャーページの少なくとも1つの他のロケーションを表す、ステップを含む。
【０００７】
いくつかの実装形態では、パブリッシャーページにおいて第2の基準点を識別するステップが、各候補コンテンツ要素のそれぞれの深度値に基づいて、1つまたは複数の候補コンテンツ要素を識別するステップであって、各それぞれの深度値が、パブリッシャーページのルートノードに対して計算される、ステップと、パブリッシャーページの最初のビューポートサイズのエリアと重複する1つまたは複数の候補コンテンツ要素をフィルタリングするステップと、フィルタリングに応答して、残りの候補コンテンツ要素のセットの中からコンテンツ要素を選択するステップであって、コンテンツ要素が、コンテンツ要素がパブリッシャーページのルートノードに最も近いことを示す、それぞれの深度値に基づいて選択される、ステップと、選択されたコンテンツ要素に基づいて、パブリッシャーページにおいて第2の基準点を識別するステップとを含む。
【０００８】
いくつかの実装形態では、パブリッシャーページのロケーションにおいて表示するために、デジタルコンポーネントを提供するステップが、レンダリングライブラリからの要求に基づいて、パブリッシャーページのロケーションにおいてレンダリングするために、デジタルコンポーネントを提供するステップを含む。
【０００９】
いくつかの実装形態では、レンダリングライブラリが、複数の異なるタイプのパブリッシャーページにおいて表示するためにフォーマットされる、複数のデジタルコンポーネントを含み、複数のデジタルコンポーネントが、バックドロップクリエイティブコンポーネント、またはリッチメディアクリエイティブコンポーネントのうちの少なくとも1つを含む。
【００１０】
いくつかの実装形態では、モードパラメータが、ユーザデバイスのタイプをモバイルコンピューティングデバイスとして指定し、コンテンツ要素が、モバイルコンピューティングデバイスのために構成されたパブリッシャーページにおいて表示するためのものであり、パブリッシャーページのためのロケーションを決定するステップが、各コンテンツ要素のサイズを指定するそれぞれのサイズ属性と、モバイルコンピューティングデバイスのために構成されたパブリッシャーページにおいて表示された各コンテンツ要素のそれぞれの相対位置とに基づいて、ロケーションを決定するステップを含む。
【００１１】
いくつかの実装形態では、方法が、コンテンツバインダライブラリを使用して、パブリッシャーページにおいてデジタルコンポーネントを組み込み、表示するためのレンダリングレイアウトを決定するステップであって、レンダリングレイアウトが、レンダリングライブラリから受信されたデジタルコンポーネントのメタデータに基づいて決定される、ステップをさらに含む。
【００１２】
いくつかの実装形態では、パブリッシャーページのロケーションにおいて表示するために、デジタルコンポーネントを提供するステップが、レンダリングライブラリからデジタルコンポーネントを提供するステップであって、レンダリングライブラリが、パブリッシャーページにアクセスすることから除外される第1のドメインを表す、ステップと、コンテンツバインダライブラリにおいて、デジタルコンポーネントを受信するステップであって、コンテンツバインダライブラリが、第2のドメインを表し、第2のドメインが、第1のドメインとは別個であり、レンダリングライブラリの第1のドメインによるアクセスのために構成され、パブリッシャーページにおいて組み込まれるデジタルコンポーネントのための第3のドメインにアクセスするように構成される、ステップとを含む。
【００１３】
いくつかの実装形態では、第3のドメインが、パブリッシャーページへのサードパーティアクセスを除外するように構成される、パブリッシャーページのサンドボックス化された実行環境であり、第3のドメインが、レンダリングライブラリの第1のドメイン、およびコンテンツバインダライブラリの第2のドメインとは別個であり、パブリッシャーページにおいて組み込まれる第3のドメインのデジタルコンポーネントが、コンテンツバインダライブラリによって確立されたセキュア通信チャネルを介して、レンダリングライブラリと通信する。
【００１４】
本明細書で説明する主題の別の態様は、コンピューティングシステムにおいて具現化され得る。コンピューティングシステムは、パブリッシャーページにおいて表示するためのコンテンツ要素を位置特定する、コンテンツバインダライブラリを含み、コンテンツバインダライブラリが、パブリッシャーページにおいて表示された各コンテンツ要素について、コンテンツ要素の提示属性を決定することであって、提示属性が、(i)コンテンツ要素のサイズを指定するサイズ属性、および(ii)パブリッシャーページのコンテンツ要素の相対位置を備える、決定すること、ならびに、パブリッシャーページを要求しているユーザデバイスのタイプを指定するモードパラメータに関する情報を受信することを行うように構成される。システムは、パブリッシャーページ、およびコンテンツバインダライブラリのコンピューティング論理と通信する、データインテグレータをさらに含み、データインテグレータが、パブリッシャーページから特定のコンテンツ要素を、特定のコンテンツ要素の提示属性を使用してパブリッシャーページにおいてデジタルコンポーネントを位置決めするための基準点として選択すること、デジタルコンポーネントをレンダリングするためのパブリッシャーページのロケーションを決定することであって、ロケーションが、基準点およびモードパラメータに基づいて決定される、決定すること、ならびに、パブリッシャーページのロケーションにおいて表示するために、デジタルコンポーネントを提供することを行うように構成される。
【００１５】
これらの実装形態および他の実装形態は、場合によっては、以下の特徴のうちの1つまたは複数を各々含み得る。たとえば、いくつかの実装形態では、システムは、レンダリングライブラリをさらに含み、レンダリングライブラリが、コンテンツバインダライブラリにデジタルコンポーネントを提供するために、コンテンツバインダライブラリと通信するように構成され、コンテンツバインダライブラリが、パブリッシャーページのロケーションにおいてデジタルコンポーネントをレンダリングするためのセキュアiframeを挿入するように、および、パブリッシャーページのロケーションにおいて挿入されたセキュアiframeを使用して、デジタルコンポーネントをパブリッシャーページに組み込むことを、データインテグレータに行わせるように構成され、ロケーションが、パブリッシャーページの特定のコンテンツ要素に隣接する。
【００１６】
いくつかの実装形態では、データインテグレータが、モードパラメータによって指定されたユーザデバイスのタイプに基づいて、パブリッシャーページにおいて第2の基準点を識別することによって、特定のコンテンツ要素を選択し、第2の基準点が、特定のコンテンツ要素に隣接する、パブリッシャーページに組み込まれたデジタルコンポーネントの一部分、またはパブリッシャーページにおいて表示するために提供された、別の異なるデジタルコンポーネントをレンダリングするための、パブリッシャーページの少なくとも1つの他のロケーションを表す。
【００１７】
いくつかの実装形態では、データインテグレータが、i)各候補コンテンツ要素のそれぞれの深度値に基づいて、1つまたは複数の候補コンテンツ要素を識別することであって、各それぞれの深度値が、パブリッシャーページのルートノードに対して計算される、識別すること、ii)パブリッシャーページの最初のビューポートサイズのエリアと重複する1つまたは複数の候補コンテンツ要素をフィルタリングすること、iii)フィルタリングに応答して、残りの候補コンテンツ要素のセットの中からコンテンツ要素を選択することであって、コンテンツ要素が、コンテンツ要素がパブリッシャーページのルートノードに最も近いことを示す、それぞれの深度値に基づいて選択される、選択すること、およびiv)選択されたコンテンツ要素に基づいて、パブリッシャーページにおいて第2の基準点を識別することによって、パブリッシャーページにおいて第2の基準点を識別するように構成される。いくつかの実装形態では、データインテグレータが、レンダリングライブラリからの要求に基づいて、パブリッシャーページのロケーションにおいて表示するために、デジタルコンポーネントを提供するように構成される。
【００１８】
この態様および他の態様の他の実装形態は、方法のアクションを行うように構成された、対応するシステム、装置、およびコンピュータ記憶デバイス上に符号化されたコンピュータプログラムを含む。1つまたは複数のコンピュータまたはハードウェア回路のコンピューティングシステムは、動作中にシステムにアクションを行わせる、システム上にインストールされたソフトウェア、ファームウェア、ハードウェア、またはそれらの組合せによって、そのように構成され得る。1つまたは複数のコンピュータプログラムは、データ処理装置によって実行されると、装置にアクションを行わせる命令を有することによって、そのように構成され得る。
【００１９】
本明細書で説明する主題の特定の実施形態は、以下の利点のうちの1つまたは複数を実現するように実装され得る。コンピューティングシステムのレンダリングモジュールは、ウェブページにおいてデジタルコンポーネントを組み込むために対話する、コンテンツバインダライブラリおよびレンダリングライブラリを実装するための特定のコンピューティングルールを実行する。デジタルコンポーネントは、パブリッシャーウェブページにおいてコンテンツを不明瞭にすることなしに、ウェブページのコンテンツ要素をラップするかまたは囲むために組み込まれ得る、バックドロップクリエイティブに関連付けられる。レンダリングモジュールは、パブリッシャーページのコンテンツ(たとえば、パブリッシャーページを構成するコンテンツアイテム)を不明瞭にすることなしに、ページを要求するユーザデバイスのタイプに基づいて、パブリッシャーページにおいてデジタルコンポーネントを組み込み、効果的に表示するために、異なるバックドロップフォーマットを効率的に生成する。ウェブページにおいてセキュアiframeを挿入するための技法について説明し、この技法は、ウェブページへの直接アクセスをサードパーティに与えることなしに、デジタルコンポーネントがページのコンテンツ要素に隣接して位置決めされることを可能にする。
【００２０】
説明するコンピューティングプロセスは、以前はコンピュータシステムによって効率的な方法で行うことができなかった、サードパーティコンテンツを有効に表示し、安全に組み込むための、繰り返し可能な自動化されたプロセスを可能にする。たとえば、システムは、さもなければ必要とされる主観的な人間の設計解析を必要とすることなしに、様々なパブリッシャーページにおいて組み込まれ得るデジタルコンポーネントを、サードパーティプロバイダが生成することを一貫して効率的に可能にする、特定の計算ルールのセットを使用する。特定のコンピューティングルールは、ページがそれらのコンテンツを編成またはフォーマットし得る異なる方法にかかわらず、パブリッシャーページにおいてデジタルコンポーネントを組み込むためのバックドロップフォーマットを生成するために使用され得る。したがって、説明する技法は、どのように設計者がページ上のコンテンツの提示のためのロケーションを選択したかの主観的性質、どのようにウェブページが提示されるかの動的性質(たとえば、ウェブページが提示され得る異なるデバイス、およびユーザがデバイス画面を回転させて、ウェブページの提示を再フォーマットする能力のために、ウェブページ提示がデバイスの向きに基づいて変化する能力)、ページのコンテンツを不明瞭にするか、またはページのセキュリティを損なうことなしに、ウェブページにおけるサードパーティコンテンツの組込みを安全に可能にするための、標準化されたプロセスの開発に伴う難題のために、コンピュータが以前に行うことができなかった動作を、コンピュータが行うことを可能にする。
【００２１】
本明細書で説明する主題の1つまたは複数の実施形態の詳細が、添付の図面および以下の説明において記載される。主題の他の特徴、態様、および利点は、説明、図面、および特許請求の範囲から明らかになるであろう。
【図面の簡単な説明】
【００２２】
【図１】パブリッシャーページにおいてデジタルコンポーネントをレンダリングするための例示的なコンピューティングシステムのブロック図である。
【図２】パブリッシャーページにおいてバックドロップとしてデジタルコンポーネントをレンダリングするための例示的なプロセスのフローチャートである。
【図３】パブリッシャーページにおいてバックドロップとしてデジタルコンポーネントをレンダリングするための例示的なコンピューティングアーキテクチャのブロック図である。
【図４Ａ】複数のコンテンツ要素を含むパブリッシャーページを示す図である。
【図４Ｂ】パブリッシャーページにおいてレンダリングされたデジタルコンポーネントの一例を示す図である。
【図４Ｃ】パブリッシャーページにおいてレンダリングされたデジタルコンポーネントの一例を示す図である。
【図５】本明細書で説明する方法に関連して使用され得るコンピューティングシステムのブロック図である。
【発明を実施するための形態】
【００２３】
様々な図面における同様の参照番号および名称は、同様の要素を示す。
【００２４】
本明細書は、ウェブページにおいてバックドロップクリエイティブとして組み込まれるデジタルコンポーネントをレンダリングするための方法について説明する。「バックドロップクリエイティブ」または「クリエイティブアセット」は、電子ドキュメントを構成するコンテンツ要素の解析に基づいて(たとえば、ウェブページのドキュメントオブジェクトモデル(DOM)において指定されるコンテンツおよび/またはコンテンツコンテナの解析に基づいて)、HTMLウェブページなどの電子ドキュメントにおいて挿入されたiframeを参照することができる。iframeは、ウェブページとは別個であるサンドボックス化された実行環境においてデジタルコンポーネントをレンダリングするように構成され、それによって、デジタルコンポーネントがウェブページ自体のコンテンツ要素のうちの1つとして現れることを可能にすることができる。概して、コンテンツ要素は、ウェブページの一部であるコンテンツの一部分を表すことがあり、ここで、ウェブページのコンテンツは、コンテンツ要素、コンテンツ要素とともに組み込まれるデジタルコンポーネント、またはウェブページの様々なアイテムを定義し得る他のコンテンツを含み得る。いくつかの実装形態では、デジタルコンポーネントを含むバックドロップクリエイティブは、パブリッシャーページにおいて組み込むためにクリエイティブ設計者によって設計されたウェブページであり得る。デジタルコンポーネントは、ウェブページにおいて包含するために、クリエイティブ設計者によって巧みに作られたメッセージコンテンツを表すことがある。
【００２５】
本明細書全体にわたって詳細に説明するように、コンピューティングシステムは、コンテンツプロバイダ(たとえば、サードパーティプロバイダ)がクリエイティブエクスペリエンスを低下させることなしに、様々なパブリッシャーウェブページ上で実行するサイト全体のクリエイティブを作成することを可能にする、特定の計算プロセス/ルールを使用する。たとえば、システムは、パブリッシャーページにおいて1つまたは複数のデジタルコンポーネントをレンダリングするバックドロップクリエイティブを動的に位置決めし、組み込むための基準点として使用される、ページのコンテンツ要素を自動的に位置特定および選択するために、パブリッシャーページをスキャンするコンテンツバインダライブラリを含む。基準点として使用されるコンテンツ要素は、特定のコンテンツ要素がページ上のパブリッシャーのコンテンツの大部分(または、主な部分もしくは焦点)を含むHTML要素であることを示す、提示属性(たとえば、コンテンツのサイズおよび相対ロケーション)に基づいて選択される。コンテンツバインダライブラリは、基準点を使用して、パブリッシャーページにおいて1つまたは複数のデジタルコンポーネント(たとえば、パブリッシャーとは異なるサードパーティによって提供されたコンテンツ)をレンダリングするバックドロップクリエイティブを位置決めし、組み込むためのロケーションを決定する。
【００２６】
パブリッシャーページへのバックドロップクリエイティブの組込みを容易にするために、コンテンツバインダライブラリは、システムのレンダリングライブラリから、デジタルコンポーネントをレンダリングするための要求を受信する。バックドロップクリエイティブが、パブリッシャーページにおける表示のために選択されるとき、1つまたは複数のレンダリングライブラリが、少なくともコンテンツバインダライブラリを使用して、パブリッシャーページに置かれ得る。たとえば、レンダリングライブラリは、コンテンツバインダライブラリがパブリッシャーページに、決定されたロケーションにおいてデジタルコンポーネントを組み込むことを要求することができる。受信された要求に基づいて、コンテンツバインダライブラリは、バックドロップクリエイティブを定義するため、および、たとえば、選択されたコンテンツ要素によって示された基準点に隣接するロケーションにおいて、バックドロップクリエイティブ内のデジタルコンポーネントを位置決めするための、iframeを挿入するために、特定のコンピューティングルール(以下でより詳細に説明する)を使用する。コンテンツバインダライブラリは、パブリッシャーページにおいて組み込まれるバックドロップクリエイティブを取得するために、システムの他のコンピューティングサーバとのセキュア通信に従事するように、iframeに指示する。バックドロップクリエイティブに対応するウェブページが、iframeに受信およびロードされ、パブリッシャーページにおいてレンダリングされる。バックドロップクリエイティブは、サードパーティがパブリッシャーのページへの制御またはアクセスを得ることを防止し、それによって悪意のある行為者がパブリッシャーのページの制御を得ることを防止するために、サンドボックス化された実行コンテキスト(たとえば、セキュアiframe)を使用して、パブリッシャーページにおいてレンダリングされる。いくつかの実装形態では、デジタルコンポーネントが単にページのスロットに挿入されたように見えるのではなく、パブリッシャーのページへの統合されたルックアンドフィールがあるように、クリエイティブ設計者によって生成されたコンテンツスキンにおいて、パブリッシャーのページがラップされた外観を与えるように、デジタルコンポーネントがバックドロップクリエイティブ内で位置決めされる。
【００２７】
本明細書全体にわたって使用する「デジタルコンポーネント」という句は、ウェブページ、デジタルコンテンツまたはデジタル情報の個別のユニット(たとえば、ビデオクリップ、オーディオクリップ、マルチメディアクリップ、リッチメディア、画像、テキスト、またはコンテンツの別のユニット)を指す。デジタルコンポーネントは、単一のファイルとして、またはファイルの集合において物理メモリデバイス中に電子的に記憶され得、デジタルコンポーネントは、ビデオファイル、オーディオファイル、マルチメディアファイル、画像ファイル、またはテキストファイルの形態をとり、広告がデジタルコンポーネントの1つのタイプであるように、広告情報を含み得る。「デジタルコンポーネント」という句は、デジタルコンポーネントのプロバイダとは異なるエンティティによって提供される電子ドキュメントに埋め込まれる、デジタルコンテンツの一部分を指すことがある。
【００２８】
図1は、パブリッシャーページにおいてデジタルコンポーネントをレンダリングするためのコンピューティングシステム100のブロック図を示す。システム100は、レンダリングモジュール104のアクセス、実装、または実行のためのソフトウェア命令を使用する、コンピューティングサーバ102を含む。図1に示されるように、レンダリングモジュール104は、パブリッシャーページ106においてデジタルコンポーネントをレンダリングするために、特定のコンピューティングルールを使用することができる。たとえば、レンダリングモジュール104は、パブリッシャーページを構成するコンテンツ要素のための提示属性を解析するために、パブリッシャーページ106と対話することができる。レンダリングモジュール104は、提示属性を使用して、パブリッシャーページにおいて(たとえば、バックドロップクリエイティブ中に)バックドロップとしてデジタルコンポーネントを組み込み、表示するための、パブリッシャーページ106の少なくとも1つのロケーションを決定する。「パブリッシャーページのロケーション」という用語は、本明細書では、パブリッシャーページ内の位置、たとえば、パブリッシャーページに基づいて生成された表示内の位置を意味するために使用される。
【００２９】
コンピューティングサーバ102は、レンダリングモジュール104を使用して、パブリッシャーページ106において(たとえば、バックドロップクリエイティブ中に)バックドロップとして表示するためにフォーマットされるデジタルコンポーネントにアクセスし、デジタルコンポーネントを提供するように構成される。いくつかの実装形態では、レンダリングモジュール104は、1つまたは複数のプロセッサマイクロチップを含むハードウェア回路のサブシステムとして、サーバ102内に含まれる。概して、サーバ102は、サーバ102のコンピュータシステムを集合的に形成する、プロセッサと、メモリと、データ記憶デバイスとを含み得る。コンピュータシステムのプロセッサは、ユーザデバイスにおける出力のためにグラフィカル情報を表示するために、メモリ中またはデータ記憶デバイス上に記憶された命令を含む、サーバ102による実行のための命令を処理する。
【００３０】
記憶された命令の実行は、本明細書で説明するアクションのうちの1つまたは複数が、サーバ102またはレンダリングモジュール104によって行われることを引き起こすことができる。いくつかの実装形態では、複数のプロセッサが、適宜に複数のメモリおよび複数のタイプのメモリとともに使用され得る。たとえば、サーバ102は、複数の他のコンピューティングデバイスと接続されることがあり、各デバイス(たとえば、サーババンク、サーバのグループ、モジュール、またはマルチプロセッサシステム)が、本明細書で説明するアクション、動作、または論理フローの部分を行う。
【００３１】
レンダリングモジュール104は、コンテンツバインダライブラリ108(「バインダライブラリ108」)と、レンダリングライブラリ110と、アセットインデックス112とを含む。バインダライブラリ108は、パブリッシャーページ106を構成するコンテンツ要素を位置特定するように、ならびにパブリッシャーページ106において表示するために、バックドロップクリエイティブおよび/またはデジタルコンポーネントを位置決めするための1つまたは複数のロケーションを決定するように構成される。たとえば、バインダライブラリ108は、広告コンテンツを含む任意のコンテンツを含み得る、サードパーティコンテンツを含む、バックドロップクリエイティブを使用して、その上にデジタルコンポーネントをインストールするための、パブリッシャーページ106のヘッダおよびページ要素を位置特定するように構成される。バインダライブラリ108は、パブリッシャーページ106においてバックドロップクリエイティブを注入、バインド、または別様に組み込むこと、ならびに、バックドロップクリエイティブを正しく組み込むため、およびバックドロップクリエイティブを使用して、デジタルコンポーネントを表示するために必要とされ得る変更を、ページに対して実行することができる。たとえば、実行されるいくつかの変更は、パブリッシャーページ106の背景色を調整もしくは変更すること、パブリッシャーページ106のコンテンツをシフトもしくは移動させる(たとえば、コンテンツを上方もしくは下方にシフトさせる)ように機能する、1つもしくは複数の「スペーサ」要素を挿入すること、パブリッシャーページ106の幅を調整すること、パブリッシャーページ106の様々なコンテンツ要素のCSS(カスケーディングスタイルシート)位置プロパティを調整すること、またはパブリッシャーページ106のスクロール位置を調整することを含み得る。いくつかの調整(たとえば、スクロール位置およびページ幅の変更)は、パブリッシャーページ106においてバックドロップクリエイティブを組み込むためのコンピューティングプロセスを実行する直前に行われ得、次いで、その直後に元に戻すように変更される。いくつかの実装形態では、背景色の調整などの他の変更は、ユーザがウェブページを訪問する時間の持続時間の間、そのままである。
【００３２】
以下でより詳細に説明するように、バインダライブラリ108は、パブリッシャーページ106をスキャンして、(たとえば、コンテンツ要素をヘッダ要素として指定するための位置決めおよび範囲ルールを使用して)ページのどのコンテンツ要素がヘッダ要素であるかを決定する。バインダライブラリ108は、1つまたは複数の基準に基づいて、パブリッシャーページ106のコンテンツ要素がヘッダ要素であるか否かを決定する。たとえば、パブリッシャーページ106の要素は、要素が以下の基準を満たす場合、ヘッダ要素と見なされ得、すなわち、i)要素がページの上部にあるか、またはヘッダ要素としてすでに識別されている別の要素のすぐ下にあると決定されること、ii)要素がパブリッシャーページ106の最初のビューポートを超えて延在していないこと、iii)要素がパブリッシャーページ106の全幅に延在していること、およびiv)要素が最小アスペクト比しきい値を満たす(たとえば、要素が、パブリッシャーページ106の例示的なビューポートに対して十分に短く、幅広い要素である)ことである。いくつかの実装形態では、バインダライブラリ108は、場合によってはページ上で人間の眼によって見ることができる要素など、可視の要素について、パブリッシャーページ106をスキャンする。バインダライブラリ108は、要素が可視であるべきであると要素のCSSプロパティが示すか否か、およびまた要素が先祖要素によってページから「マスク」されるか否かなどの可視性基準を、要素が満足するか否かに基づいて、要素が可視であるか否かを決定する。たとえば、要素が親要素の境界の外側に置かれ、親要素が、親要素の境界を過ぎて延在するものは示さないように設定されるCSSプロパティを有するとき、要素がマスクされ得る。したがって、単に別の要素の後ろにある要素は考慮されることになるが、その親要素によって「マスク」される要素は考慮されないことになる。
【００３３】
レンダリングライブラリ110は、バインダライブラリ108によって決定されるようなパブリッシャーページ106の所与のロケーションにおいて組み込むために、デジタルコンポーネントを提供するために、バインダライブラリ108と通信する。いくつかの実装形態では、所与のロケーションは、パブリッシャーページ106の特定のコンテンツ要素(たとえば、ヘッダ要素)に少なくとも近い(たとえば、指定された数のピクセル内など、実質的に近い)か、またはすぐ隣接している。たとえば、バインダライブラリ108は、パブリッシャーページ106の各コンテンツ要素の提示属性に基づいて、所与のロケーションを決定し、決定されたロケーションに基づいて、パブリッシャーページ106においてデジタルコンポーネントを位置決めし、組み込むために、レンダリングライブラリ110と通信する。いくつかの実装形態では、デジタルコンポーネントは、バインダライブラリ108における処理のために受信されるレンダリングライブラリ110からの1つまたは複数の要求に応答して、パブリッシャーページ106において組み込まれる。レンダリングモジュール104の制御下にあるように示されるが、バインダライブラリ108およびレンダリングライブラリ110は、サーバ102の独立したコンピューティングライブラリとして存在し得、レンダリングモジュール104などのコンピューティングエンティティの直接制御の外側にある。
【００３４】
バインダライブラリ108は、パブリッシャーページ106における表示のためにバックドロップクリエイティブに組み込まれるデジタルコンポーネントと通信するためのiframeへの参照(たとえば、リソースロケータ)を含む、アセットインデックス112を生成することができる。いくつかの実装形態では、デジタルコンポーネントは、サードパーティまたは悪意のある行為者がパブリッシャーページ106へのアクセスまたはその制御を得ることを防止するために、(たとえば、バックドロップクリエイティブのセキュアiframeを使用して)サンドボックス化された実行コンテキストにおいて、パブリッシャーページ106においてレンダリングされ、組み込まれ、かつ/または別様に表示され得る。たとえば、バインダライブラリ108は、パブリッシャーページ106においてデジタルコンポーネントを位置決めし、組み込むために、パブリッシャーページ106において、パブリッシャーページ106にiframeを挿入することができる。たとえば、バインダライブラリ108は、ウェブページなどのHTMLドキュメント中で区分またはセクションを定義するタグ(たとえば、<iframe>タグ)を使用して、パブリッシャーページ106においてiframeを挿入することができる。iframeの挿入に応答して、バインダライブラリ108は、iframeへのポインタ(たとえば、参照ポインタ)を生成し、返すことができる。バインダライブラリ108が参照ポインタを返すとき、バックドロップクリエイティブを形成するために、デジタルコンポーネントがiframeにおいて含まれ得る。
【００３５】
レンダリングライブラリ110は、パブリッシャーページ106への直接制御またはアクセスを必要とすることなしに、ポインタデータを使用して、ロードされたiframe、またはiframeによってレンダリングされるデジタルコンポーネントと通信することができる。いくつかの実装形態では、バインダライブラリ108は、少なくとも1つのスクリプティングファイルを実行して、パブリッシャーページ106において挿入されたデジタルコンポーネントと通信するために、レンダリングライブラリ110に参照データを送る。たとえば、レンダリングモジュール104は、例示的なセキュアメッセージングリンク/チャネル114を生成し、セキュアリンク114のポストメッセージング機能を使用して、少なくともバックドロップクリエイティブのiframeによってパブリッシャーページ106において組み込まれたデジタルコンポーネントと、レンダリングライブラリ110との間で、データ通信を安全に交換することができる。いくつかの実装形態では、バインダライブラリ108は、レンダリングライブラリ110と、インデックス112中に含まれたiframeのデジタルコンポーネントとの間の通信を容易にするために、アセットインデックス112を使用して、パブリッシャーページ106のiframeまたはデジタルコンポーネントにアクセスおよび通信するための参照データをシリアル化し、アセットインデックス112についてのデータをレンダリングライブラリ110に返す。
【００３６】
レンダリングモジュール104は、パブリッシャーページ106を要求しているか、または要求したユーザデバイスのタイプを検出することができる。たとえば、レンダリングモジュール104は、パブリッシャーページ106から、またはパブリッシャーページ106をホストするか、レンダリングするか、もしくはそれと通信するデバイスから受信されたパラメータデータに基づいて、ユーザデバイスがモバイルデバイスであるか、非モバイルデバイスであるかを検出する。いくつかの実装形態では、モバイルデバイスであるユーザデバイスには、スマートフォン、または他の同様のハンドヘルド電子デバイス(たとえば、iPod(登録商標)、ミニタブレットデバイスなど)が含まれる。概して、これらのモバイルデバイスは、これらのモバイルデバイス中に含まれたハードウェアディスプレイのために構成されるページレイアウトおよびコンテンツフォーマットに基づいて、パブリッシャーページのコンテンツ要素をレンダリングするように構成される。非モバイルデバイスであるユーザデバイスには、デスクトップもしくはラップトップコンピュータ、または他の同様のより大きいコンピューティングデバイス(たとえば、フルサイズタブレットデバイス、電子リーダー、クロームブックなど)が含まれる。概して、これらの非モバイルデバイスは、これらの非モバイルデバイス中に含まれたハードウェアディスプレイのために構成されるページレイアウトおよびコンテンツフォーマットに基づいて、パブリッシャーページのコンテンツをレンダリングするように構成される。一般に、モバイルデバイス中に含まれるハードウェアディスプレイは、非モバイルデバイスのハードウェアディスプレイよりも小さくなる。追加として、異なるモバイルデバイスは、異なるサイズおよび/またはアスペクト比のディスプレイを有し得る。さらに、いくつかのデバイスは、大画面の高精細度テレビジョン画面など、(たとえば、同じ室内で)デバイスと併置される別個のディスプレイにマルチメディアコンテンツをブロードキャストする能力を有し、この情報が、パブリッシャーページ106を最終的に提示することになるディスプレイのディスプレイ属性を決定するために、レンダリングモジュール104に同様に提供され得る。
【００３７】
図2は、パブリッシャーページにおいて(たとえば、バックドロップクリエイティブのiframe中に)バックドロップとしてデジタルコンポーネントをレンダリングするための例示的なプロセス200のフローチャートである。具体的には、プロセス200は、デジタルコンポーネントをレンダリングするためのパブリッシャーページのロケーションを決定するため、およびパブリッシャーページのロケーションにおいてコンポーネントを組み込み、表示するためのデジタルコンポーネントを提供するための例示的なプロセスフローである。プロセス200は、上記で説明したシステム100を使用して実装または実行され得る。したがって、プロセス200の説明では、上述のシステム100のコンピューティングリソースを参照することがある。概して、プロセス200の説明中に含まれるコンピューティングステップおよびプロセスフローは、異なる順序で発生するようにグループ化または配置され得、本明細書で説明する番号順に限定されない。
【００３８】
次にプロセス200を参照すると、ブロック202で、システム100は、バインダライブラリ108を使用して、パブリッシャーページ106において表示されたコンテンツを位置特定し、ブロック204で、パブリッシャーページ106の各位置特定されたコンテンツについて、バインダライブラリ108は、コンテンツの提示属性を決定する。たとえば、レンダリングモジュール104は、パブリッシャーページにおいて表示された複数のコンテンツ要素を位置特定するために、バインダライブラリ108を使用して、パブリッシャーページ106において含まれた情報を解析する。パブリッシャーページ106のどのコンテンツがコンテンツ要素であるかを位置特定および決定するために、バインダライブラリ108は、マルチステップコンピューティング方式(以下で説明する)を行うことができる。いくつかの実装形態では、コンピューティング方式を実行するとき、パブリッシャーページ106のすべての可視コンテンツが、単一のコンテンツ要素のための候補であり得、バインダライブラリ108は、パブリッシャーページ106のすべての可視コンテンツを含む候補コンテンツ要素のリストを生成することができる。
【００３９】
この方式の各プロセスステップで、単一のコンテンツ要素が残るまで、リストの候補コンテンツ要素がフィルタリングされるか、または減らされる。いくつかの実装形態では、単一のコンテンツ要素が発見または位置特定されるとき、コンピューティング方式は、この方式の他のプロセスステップが完了していないか否かにかかわらず、位置特定プロセスを終了する。したがって、単一のコンテンツ要素を位置特定すると、コンピューティング方式は、マルチステッププロセスを終了し、単一のコンテンツ要素についてのデータを含む単一のコンテンツ要素を返すことになる。いくつかの実装形態では、複数の候補コンテンツ要素が、コンピューティング方式のすべてのプロセスステップが完了した後に残り得る。この事例では、バインダライブラリ108は、候補コンテンツ要素のリスティング中の最初のコンテンツ要素を、単一のコンテンツ要素として選択するように構成される。
【００４０】
次に、コンピューティング方式のマルチステッププロセスについて説明する。最初に、バインダライブラリ108は、パブリッシャーページ106のヘッダ要素のロケーションを識別し、すべての可能な候補コンテンツ要素のリストを生成する。バインダライブラリ108は、コンテンツ要素がカットアウトを挿入するために位置特定されているか、バナーを挿入するために位置特定されているか(各々について以下で説明する)に基づいて、異なる方法でリストを生成する。カットアウトの場合、生成されるリストは、上記で説明したように、CSSプロパティに基づいて、「可視」であるすべての候補コンテンツ要素を含むことになる。バナー(たとえば、デスクトップバナーまたはモバイルバナー)の場合、生成されるリストは、上記で説明したように、パブリッシャーページのビューポートに固定されない(たとえば、「固定」ではないCSS位置プロパティをもつ要素)、ヘッダ要素ではない、かつ先祖または親要素によってマスクされない、すべての候補コンテンツ要素を含むことになる。バインダライブラリ108は、パブリッシャーページ106の少なくともしきい値部分と重複しないコンテンツ要素を破棄する。図4Aを参照しながらより詳細に説明するように、パブリッシャーページ106のしきい値部分は、パブリッシャーページの106の例示的なビューポートによって定義され得、パブリッシャーページ106の最初の30%に対応し得る。パブリッシャーページ106のしきい値部分は、ページの上部においてページの最下部のヘッダによって、およびページの下部においてビューポートの下部によって境界される、エリアに対応し得る。いくつかの実装形態では、バインダライブラリ108は、位置特定されたコンテンツ要素を使用して、パブリッシャーページ106においてデジタルコンポーネントを位置決めし、表示する。したがって、たとえば、広告を表すデジタルコンポーネントが、パブリッシャーページ106の上部において、またはページの少なくとも上部しきい値部分において、ユーザにとって可視であることが望ましくなり得る。したがって、コンピューティング方式を使用して、バインダライブラリ108が、パブリッシャーページ106の上部に少なくとも近い(たとえば、上部の指定された数のピクセル内、またはページの下部よりもページの上部に近い相対ロケ
ーションにある)、単一のコンテンツ要素を位置特定および/または選択することを保証することができる。
【００４１】
次に、バインダライブラリ108は、パブリッシャーページ106の上部から下部に伸びる、重複する一連の領域(たとえば、垂直領域)など、一連の領域をセットアップすることができ、これらの領域の最大数と交差するコンテンツ要素のみを保持する。いくつかの実装形態では、単一の重複しない領域のセットが、どのコンテンツ要素がパブリッシャーページ106の大量の垂直スペースをカバーするかを決定するために十分である。バインダライブラリ108は、重複する領域のセットを使用して、特定の領域と辛うじて交差するのみであるコンテンツ要素が、特定の領域のより多くをカバーするコンテンツ要素と同じ重みで重み付けされないことを保証する。いくつかの実装形態では、バインダライブラリ108は、垂直領域の代わりに、重複する水平ウィンドウまたは領域のセットを使用する。水平領域の使用は、長く細いメニューバーなど、パブリッシャーページ106のいくつかのコンテンツ要素が、パブリッシャーページ106の他のより実質的なコンテンツ要素対応部分よりも選択されることがないように保証するために役立つ。
【００４２】
コンピューティング方式の少なくとも1つのステップにおいて、バインダライブラリ108は、パブリッシャーページ106のコンテンツ要素のリスティング中の各候補コンテンツ要素(または、各残りの候補要素)のコンテンツ要素深度を比較することができる。たとえば、パブリッシャーページ106は、パブリッシャーページ106のコンテンツ要素の構造を定義するドキュメントオブジェクトモデル(DOM)ツリーを含み得る。各コンテンツ要素は、DOMツリーのルートに対するそれぞれの深度値を有し得る。たとえば、パブリッシャーページ106のコンテンツ要素のDOMツリーは、<html>がルートにあり、次いで<head>および<body>がその子である、構造を含み得る。
【００４３】
バインダライブラリ108は、各候補コンテンツ要素のそれぞれの深度値に基づいて、パブリッシャーページ106の1つまたは複数の候補コンテンツ要素を識別することができる。たとえば、バインダライブラリ108は、パブリッシャーページ106においてインストールされた、コード化されたスクリプトを使用して、パブリッシャーページ106と通信する。コード化されたスクリプトを使用して、バインダライブラリ108は、パブリッシャーページ106において含まれたコンテンツ要素の提示属性を決定するための情報を取得することができる。バインダライブラリ108によって決定された提示属性は、パブリッシャーページ106におけるアイテムの深度値と、コンテンツ要素のサイズを指定するサイズ属性とを含み得る。いくつかの事例では、コンテンツ要素の深度値は、パブリッシャーページ106におけるコンテンツ要素の、ページのルートに対する相対位置を示す。たとえば、各それぞれの深度値は、パブリッシャーページ106のDOMツリーのルートノードに対して計算され得る。
【００４４】
バックドロップクリエイティブを挿入するための基準点として、コンテンツ要素を位置特定および選択するために、バインダライブラリ108は、パブリッシャーページ106の最初のビューポートサイズのエリアと重複する1つまたは複数の候補コンテンツ要素をフィルタリングするように構成される。フィルタリングに応答して、バインダライブラリ108は、残りの候補コンテンツ要素のセットの中からコンテンツ要素を選択し、ここで、コンテンツ要素が、DOMツリーのルートに対するコンテンツ要素位置を示すそれぞれの深度値に少なくとも部分的に基づいて選択される。たとえば、バインダライブラリ108は、トップバナーをレンダリングするためのiframeを挿入するため、またはシーム要素(以下で説明する)を識別するための位置または基準点として、パブリッシャーページのルートノードに最も近いコンテンツ要素を識別または選択することができる。
【００４５】
代替的に、バインダライブラリ108は、各要素のそれぞれの深度値によって決定されるような、ルートから最も遠いコンテンツ要素を保つか、または保持することができる。たとえば、各コンテンツ要素のそれぞれの深度値の比較に基づいて、バインダライブラリ108は、実際の大部分のコンテンツ要素をラップし、ページにスペースを追加するように機能するのみである、パブリッシャーページ106の幅広いコンテンツ要素とは対照的に、大部分のコンテンツに最も近いコンテンツ要素が選ばれることを保証するために役立つように、ルートから最も遠いいくつかのコンテンツ要素を保つことができる。以下で説明するように、バインダライブラリ108は、単一のコンテンツ要素の周囲またはコンテンツ要素内に、バックドロップクリエイティブを位置決めすることによって、デジタルコンポーネントを含むバックドロップクリエイティブを組み込むことができる。したがって、本明細書で説明するように、ウェブページのコンテンツ要素は、ニュース記事、「ハウツー」チュートリアルコンテンツ、または意見記事など、ユーザがパブリッシャーのウェブページを訪問して消費するコンテンツの大部分を含むコンテンツ要素として定義され得る。
【００４６】
ブロック206で、バインダライブラリ108は、パブリッシャーページ106を要求しているユーザデバイスのタイプを指定するモードパラメータを検出する。上記で説明したように、レンダリングモジュール104は、パブリッシャーページ106を要求しているか、または要求したユーザデバイスのタイプを検出することができる。たとえば、バインダライブラリ108は、ユーザデバイスのタイプを指定するモードパラメータを含むかまたは定義する、パラメータデータを受信することができる。いくつかの実装形態では、モードパラメータは、バインダライブラリ108を使用して、およびパブリッシャーページ106においてインストールされた、実行されたコードスクリプト(たとえば、JavaScriptファイル)に基づいて取得される。モードパラメータによって、バインダライブラリ108が、パブリッシャーページ106を要求するユーザデバイスのタイプがモバイルデバイスであるか、非モバイルデバイスであるか、および/またはユーザデバイスが別のデバイスに(たとえば、ワイヤレスで)コンテンツをブロードキャストしているか否かを検出することが可能になる。いくつかの実装形態では、モードパラメータは、パブリッシャーページ106に置かれたレンダリングライブラリがバインダライブラリ108に対して行うことになる、バックドロップクリエイティブについての要求の種類を伝える。したがって、バインダライブラリ108は、たとえば、レンダリングライブラリからの要求中に含まれたモードパラメータに基づいて、モバイルベースのコンテンツ要素検出機能を使用するか、デスクトップベースのコンテンツ要素検出機能を使用するかを理解する。バインダライブラリ108は、モードパラメータに基づいて、どのコンテンツ要素検出機能を使用するかを決定し、バックドロップクリエイティブを組み込むための基準点を決定するために、本明細書で説明するようなコンテンツ要素検出アルゴリズムを実行する。
【００４７】
プロセス200のブロック208で、バインダライブラリ108は、パブリッシャーページ106から単一のコンテンツ要素(すなわち、特定のコンテンツ要素)を、単一のコンテンツ要素の提示属性を使用してページにおいてデジタルコンポーネントを位置決めするための基準点として選択する。いくつかの実装形態では、レンダリングモジュール104は、パブリッシャーページ106の単一のコンテンツ要素の選択を可能にするために、パブリッシャーページ106およびバインダライブラリ108のコンピューティング論理と通信するように構成された、データインテグレータ(たとえば、1つまたは複数のコード化されたスクリプト)を含む。ブロック210で、バインダライブラリ108、および/またはデータインテグレータは、デジタルコンポーネントをレンダリングするためのパブリッシャーページのロケーションを決定し、ここで、ロケーションが、少なくとも基準点およびモードパラメータに基づいて決定される。たとえば、ロケーションは、パブリッシャーページ106の特定のコンテンツ要素(たとえば、ヘッダ要素)に少なくとも近い(たとえば、実質的に近い)か、または絶対的に隣接する、基準点を使用して定義または決定され得る。
【００４８】
バインダライブラリ108がコンテンツ要素を選択し、ロケーションを決定すると、バインダライブラリ108は、レンダリングライブラリ110から受信された要求に応答して、(たとえば、iframeを使用し、デジタルコンポーネントを含む)新しいバックドロップクリエイティブをパブリッシャーページ106に描画するか、または組み込むことができる。以下でより詳細に説明するように、バインダライブラリ108がパブリッシャーページ106において新しいバックドロップクリエイティブを組み込む方法は、パブリッシャーページ106を要求するユーザデバイスのタイプに応じて異なる。たとえば、レンダリングモジュール104は、パブリッシャーページ106を要求している、かつ/またはレンダリングすることになるユーザデバイスのタイプに応じて、パブリッシャーページ106においてデジタルコンポーネントをレンダリングするために、異なるコンピューティングルールのセットを使用する、コンピューティングアーキテクチャ(または複数のアーキテクチャ)を含み得る。代替的に、レンダリングモジュール104は、パブリッシャーページにおいてデジタルコンポーネントをレンダリングするための異なるコンピューティングアーキテクチャを含み、使用することができ、ここで、あるアーキテクチャが、モバイルユーザデバイスによって要求されたパブリッシャーページ106においてデジタルコンポーネントをレンダリングするための、モバイルレンダリングモードを表し、別のアーキテクチャが、非モバイルユーザデバイスによって要求されたパブリッシャーページ106においてデジタルコンポーネントをレンダリングするための、非モバイル(たとえば、デスクトップ)レンダリングモードを表す。
【００４９】
ただし、モバイルレンダリングモードとデスクトップレンダリングモードの両方の場合に、レンダリングライブラリ110は、トップバナーのためのiframeがパブリッシャーページ106において描画されることを要求することができる。たとえば、トップバナーは、デジタルコンポーネントの流動的な表現を提供するように、パブリッシャーページ106のフローに組み込まれることになり、たとえば、ユーザがパブリッシャーページをナビゲートするとき、トップバナーは絶対的に位置決めされない。いくつかの実装形態では、トップバナーは、パブリッシャーページ106を要求するユーザデバイスのタイプにかかわらず、(たとえば、モバイルレンダリングモードのための)パブリッシャーページ106の幅の100%に設定される幅属性と、幅に比例して設定される高さ属性とを有することになる。トップバナーは、特定のバックドロップアセットに設定される、ソースパス、またはセキュアリンク(たとえば、システム100のコンテンツサーバによって確立されたURL)をもつ、サンドボックス化されたiframeを有する、div要素(本明細書で単に「div」と呼ばれる)を含み得る。特定のバックドロップアセットは、ユーザデバイスのタイプが非モバイル(またはモバイル)ユーザデバイスであることを示すモードパラメータに基づいて、バックドロップ(またはカットアウト)レンダリングのために特に構成される、デジタルコンポーネントであり得る。いくつかの実装形態では、トップバナーのためのiframeは、<div>タグと対話して、トップバナーに子アセットを追加することを可能にし、ここで、子アセットが、iframeの兄弟としてdivに追加される。
【００５０】
プロセス200のブロック212で、バインダライブラリ108、および/またはレンダリングモジュール104のデータインテグレータは、ロケーションにおいて挿入されたセキュアiframeを使用して、パブリッシャーページ106のロケーションにおいて表示するために、デジタルコンポーネントを提供する。たとえば、バインダライブラリ108は、バインダライブラリ108において受信されたレンダリングライブラリ110からの要求に基づいて、パブリッシャーページ106の決定されたロケーションにおいてレンダリングするために、デジタルコンポーネントを提供する。したがって、バインダライブラリ108は、i)(デジタルコンポーネントを提供する)レンダリングライブラリ110と通信し、ii)レンダリングライブラリ110からデジタルコンポーネントを受信し、iii)バインダライブラリ108によってロケーションにおいて挿入されたセキュアiframeを使用して、デジタルコンポーネントがロケーションにおいてパブリッシャーページ106に組み込まれることを引き起こす。レンダリングライブラリ110は、バインダライブラリ108を介してパブリッシャーページにおいて挿入された1つまたは複数のiframeを使用して、様々な異なるタイプのパブリッシャーページにおいて表示するために各々フォーマットされる、様々な異なるデジタルコンポーネントを含み得る。デジタルコンポーネントは、バックドロップクリエイティブコンポーネント、またはリッチメディアクリエイティブコンポーネントのうちの少なくとも1つを含み得る。いくつかの実装形態では、デジタルコンポーネントを組み込むためのロケーションは、ニュース記事、「ハウツー」チュートリアルコンテンツ、または意見記事など、ユーザがパブリッシャーのページを訪問して消費するコンテンツの大部分を含むコンテンツ要素など、パブリッシャーページの選択されたコンテンツ要素に隣接する。
【００５１】
いくつかの実装形態では、レンダリングライブラリ110は、パブリッシャーページ(たとえば、ホストページドメイン)にアクセスすることから除外される第1のドメイン(たとえば、クリエイティブドメイン)を表し、バインダライブラリ108は、第1のドメインとは別個である第2のドメインを表す。第2のドメインは、i)レンダリングライブラリ110の第1のドメインによるアクセスのために構成され、ii)パブリッシャーページにおいて組み込まれるデジタルコンポーネントのための第3のドメイン(たとえば、アセットドメイン)にアクセスするように構成され、iii)ホストページドメイン、第1のドメイン、および第3のドメインの各々の間の重複する通信のために構成される。本明細書で使用するとき、説明するドメインは、そのドメインの特定のセキュリティコンテキストと整合するアクションを行うために、プログラムされた命令が実行される、異なるコンピューティング環境を各々表し得る。
【００５２】
第3のドメインは、パブリッシャーページ106およびホストページドメインへのサードパーティアクセスを除外するように構成される、パブリッシャーページ106のサンドボックス化された実行環境(たとえば、iframe)であり得る。この第3のドメインは、レンダリングライブラリの第1のドメイン、およびコンテンツバインダライブラリの第2のドメインとは別個である。パブリッシャーページ106において組み込まれる第3のドメインのデジタルコンポーネントは、バインダライブラリ108によって確立されたセキュア通信チャネル(たとえば、セキュアリンク114)を介して、レンダリングライブラリ110と通信する。いくつかの実装形態では、セキュア通信チャネルは、所与のシステム内の同じマシンまたはマシンのセット上の異なるドメイン(たとえば、第1のドメインおよび第3のドメイン)の間で通信するために使用される。
【００５３】
図3は、パブリッシャーページ106においてバックドロップとしてデジタルコンポーネントをレンダリングするための、レンダリングモジュール104およびサーバ102の、例示的なコンピューティングアーキテクチャ300のブロック図を示す。上述のように、バインダライブラリ108は、パブリッシャーページ106を要求しているか、または要求したユーザデバイスのタイプに基づいて、異なるようにパブリッシャーページ106において新しいバックドロップクリエイティブを組み込む。たとえば、レンダリングモジュール104は、パブリッシャーページ106においてデジタルコンポーネントをレンダリングするための異なるコンピューティングルールのセットを実行する、コンピューティングアーキテクチャ300を含み得る。いくつかの実装形態では、あるコンピューティングルールのセットは、モバイルレンダリングモードに対応し、別のコンピューティングルールのセットは、非モバイル(たとえば、デスクトップ)レンダリングモードに対応する。
【００５４】
アーキテクチャ300は、パブリッシャーページ106においてデジタルコンポーネントを組み込むバックドロップクリエイティブのために、PrimaryFileオブジェクトがどのように構築され得るかを示す。メタデータ302は、モデルファクトリ304に文字列データを提供し、モデルファクトリ304は、(たとえば、下位オブジェクトを通して)UserAgent文字列を検査またはクエリし、UserAgent文字列の値に基づいて、モバイルPrimaryFileオブジェクト308またはデスクトップPrimaryFileオブジェクト310のいずれかを作り出す。たとえば、パブリッシャーページ106においてサービスするクリエイティブは、プライマリファイルのメタデータにおいて、クリエイティブがバックドロップクリエイティブであるという指示を含めることができる。いくつかの実装形態では、バックドロップクリエイティブのためのメタデータ302、および関連するデジタルコンポーネントは、レンダリングライブラリ110によって管理および提供される。
【００５５】
バックドロップクリエイティブは、「Backdrop」に設定されるrenderAs値を有する、単一のプライマリアセットを含み得る。モデルファクトリ304は、renderAs値を識別または取得すること、ならびに異なるタイプのPrimaryFileモデルオブジェクト308および310を作り出すために、その値を信号インジケータとして使用することによって、クリエイティブメタデータ302からモデルオブジェクトを作り出す。各PrimaryFileモデルオブジェクト308、310は、PrimaryFileオブジェクトが非モバイル(デスクトップ)デバイスアセットとして現れるべきであるか、モバイルデバイスアセットとして現れるべきであるかを示す、異なるユニフォームリソースロケータ(URL)フラグメントを有し得る。たとえば、モデルファクトリ304は、UserAgent文字列をクエリして、クリエイティブがモバイルレンダリングのために作り出されるべきであるか、非モバイルレンダリングのために作り出されるべきであるかを決定するために、renderAs値を識別または取得することができる。
【００５６】
renderAs値に基づいて、UserAgent文字列が、クリエイティブがモバイル環境において(たとえば、スマートフォンのディスプレイにおいて)レンダリングされることになることを示す場合、モデルファクトリ304は、トップバナーおよびカットアウト(以下で説明する)を含むバックドロップクリエイティブのためのモバイルPrimaryFileオブジェクト308を生成することができる。同様に、UserAgent文字列が、クリエイティブが非モバイル環境において(たとえば、デスクトップコンピュータのディスプレイにおいて)レンダリングされることになることを示す場合、モデルファクトリ304は、トップバナーおよびデスクトップ背景を含むバックドロップクリエイティブのためのデスクトップPrimaryFileオブジェクト310を生成することができる。
【００５７】
説明するアーキテクチャ300のコンピューティングルールは、レンダリングモジュール104を使用して実装され得る。たとえば、レンダリングモジュール104は、バインダライブラリ108を使用して、パブリッシャーページ106においてデジタルコンポーネントを組み込み、表示するためのレンダリングレイアウトを決定することができる。いくつかの実装形態では、レンダリングレイアウトは、レンダリングライブラリ110から受信されたバックドロップクリエイティブによって定義されるような、デジタルコンポーネントのメタデータに基づいて決定される。たとえば、バインダライブラリ108は、クリエイティブのUserAgent文字列を検査またはクエリすることによって、あるいは、パブリッシャーページに置かれた1つまたは複数のレンダリングライブラリからバインダライブラリ108に提供された情報に基づいて、パブリッシャーページ106においてデジタルコンポーネントを組み込み、表示するためのレンダリングレイアウトを決定する。
【００５８】
データインテグレータに関連付けられたバックドロップレンダラは、DOMドキュメントを含むサービスワーカーまたはウィンドウのプロトコルなど、クロスドメインメッセージングプロトコルを使用して、パブリッシャーページ106上でバインダライブラリ108との接続を開始するように構成される。レンダラは、オブジェクトが選択されたコンテンツ要素に対してどこに位置決めされるか、または位置決めされるべきであるかなど、ファイルオブジェクトについての追加のメタデータ、および選択されたコンテンツ要素の提示属性とともに、バインダライブラリ108にPrimaryFileオブジェクト308、310のURLを渡すために、接続を使用する。いくつかの実装形態では、バックドロップレンダラは、デジタルコンポーネントを含む、要求されたクリエイティブアセットが、コンテンツ要素の周囲に描画されるか、または組み込まれることを引き起こす。レンダラは、パブリッシャーページ106においてレンダリングされた、組み込まれたアセットへのセキュア接続またはリンク114を確立するための参照コンテキストを取得する手段を戻すために、return関数を使用することができる。
【００５９】
図4Aは、「コンテンツヘッダ」として識別される、複数のアイテム/コンテンツ要素を含む、パブリッシャーページ400の例示的なコンテンツを示す。図4Aの表現は、デジタルコンポーネントを位置決めするためのパブリッシャーページ106の特定のコンテンツ要素を選択するために、パブリッシャーページのコンテンツを位置特定するための追加のコンテキストを提供するために参照され得る。上記で説明したように、パブリッシャーページ400の上部分における要素は、パブリッシャーページ400がユーザデバイスにおいてロードするとき、バックドロップクリエイティブがユーザにとって直接可視であり得ることを保証するために、候補として保持される。ビューポート402は、コンテンツ要素406の一部分を含み、要素406のコンテンツヘッダ408a、408bが候補コンテンツ要素として保持されるために、それと重複しなければならない、パブリッシャーページ400の領域を定義する。したがって、サイトヘッダ要素404およびコンテンツヘッダ408a、408bは、ビューポート402によって定義されるようなパブリッシャーページ400の上部と重複し、候補として保持されるが、コンテンツヘッダ410は、候補コンテンツ要素としての考慮から破棄またはフィルタリングされる他の要素を表す。
【００６０】
図4Bおよび図4Cは、バックドロップクリエイティブの一部としてパブリッシャーページにおいてレンダリングされたデジタルコンポーネントの例を示す。具体的には、図4Bの実装形態は、非モバイルユーザデバイス(たとえば、デスクトップ/ラップトップコンピュータ)における表示のために構成されたウェブサイトまたはパブリッシャーページ420においてレンダリングされた、バックドロップクリエイティブ中に含まれたデジタルコンポーネント428の一例を示す。いくつかの実装形態では、レンダリングライブラリ110は、メタデータ302が、バックドロップクリエイティブがデスクトップ環境における表示のためのものであることを示し、かつ/またはモードパラメータが、非モバイルユーザデバイスがページ420を要求していることを指定するときのみ、背景要素422がページ420において組み込まれることを要求するように構成される。
【００６１】
背景要素422は、ページ420の例示的なビューポート426に対して固定され、水平にセンタリングされるように位置決めされ、背景要素422の上部が、パブリッシャーページ上で最下部のヘッダの下部と同一平面上にあるようにすることができる。上記で説明したように、システム100は、少なくとも2つのモード、たとえば、(スマートフォンタイプのデバイスのための)モバイルモード、または(デスクトップ/ラップトップタイプのデバイスのための)非モバイルモードにおいて、デジタルコンポーネントを伴うバックドロップクリエイティブを描画することが可能である。デスクトップ/非モバイルモードでは、バインダライブラリ108は、コンテンツ要素429a/bの垂直エッジと、パブリッシャーページ420のビューポート426の垂直エッジとの間に、幅広いガターがあることを検出する。したがって、このモードでは、バインダライブラリ108は、デジタルコンポーネントを組み込むための2つのタイプのバックドロップクリエイティブ、すなわち、トップバナー424、およびデスクトップ背景要素422をレンダリングするように構成される。
【００６２】
背景要素422は、セキュアなサンドボックス化されたiframeと、iframeを使用してページ420においてレンダリングされるデジタルコンポーネント428をロードおよびリロードするための、レンダリングライブラリ110へのセキュアリンクとをラップする、<div>タグを含み得る。<div>タグは、DOMツリーのボディ構造の最初の子の前に挿入され、コンテンツ要素が背景の上部に描画され、背景がコンテンツ要素を不明瞭にしないようにすることができる。いくつかの実装形態では、閉じるボタン(図示せず)が、背景要素422の右上隅において、たとえば、背景要素422のオーバーレイフィーチャとして挿入され得る。閉じるボタンは、背景要素422のためのdivの子として位置決めされる。閉じるボタンを制御するバインディングは、ユーザクリックを検出するように構成され、ボタンがクリックされるとき、ページ420から背景クリエイティブを除去するように、バインダライブラリ108に通知する。
【００６３】
図4Cの実装形態では、モバイルデバイスのために構成されたパブリッシャーページ430においてレンダリングされた、バックドロップクリエイティブの一例が示される。モバイルレンダリングのコンテキストでは、バインダライブラリ108は、少なくとも2つのアセット、すなわち、i)トップバナー432、およびii)カットアウト434をレンダリングするために、レンダリングモジュール104によって使用される。いくつかの実装形態では、レンダリングライブラリ110は、メタデータ302が、バックドロップクリエイティブがモバイル環境における表示のためのものであることを示し、かつ/またはモードパラメータが、モバイルユーザデバイスがパブリッシャーページ430を要求していることを指定するときのみ、カットアウト434がページ430において挿入されることを要求するように構成される。図4Cのビジュアルでは、トップバナー432およびカットアウト434が1つの画面上に示されている。ただし、カットアウト434が、モバイルユーザデバイスにおいて閲覧可能であるパブリッシャーページのしきい値部分の下(たとえば、ページがロードするときに、カットアウトが位置決めされるとき、ビューポートのビロウザフォールド(below the fold)、すなわちビューポートの下部の下)にレンダリングされる場合、トップバナー432およびカットアウト434は、同時に可視ではないことがある。
【００６４】
システム100が、(スマートフォンタイプのデバイスのための)モバイルモードにおいて、デジタルコンポーネントを伴うバックドロップクリエイティブを挿入するとき、バインダライブラリ108は、デスクトップモードとは異なるレンダリング詳細およびコンピューティングルールを使用する。たとえば、パブリッシャーページのコンテンツ要素は、一般にモバイルデバイスにおいて利用可能なディスプレイ画面のはるかにより多くを占めるので、パブリッシャーページの背景においてバックドロップクリエイティブの背景コンテンツまたはビジュアルをレンダリングするのではなく、システム100は、代わりに、バインダライブラリ108を使用して、ページにおいて挿入されたカットアウト434中に背景コンテンツ/ビジュアルをレンダリングする。本明細書で使用する場合、カットアウトは、コンテンツ436a(および436b)の部分を別々にプッシュするために、パブリッシャーページ430のフローに挿入された要素であり、それによって、ユーザがパブリッシャーのページ430をスクロールダウンするとき、背景のビューをユーザに与えるものである。したがって、この(スマートフォンタイプのデバイスのための)モバイルモードでは、バインダライブラリ108は、モバイルユーザデバイスにおいてレンダリングするためのパブリッシャーページ430において、デジタルコンポーネント433(または、デジタルコンポーネント433の様々な部分)を組み込むように一意に構成される、2つのタイプのアセット、すなわち、トップバナー432およびモバイルカットアウト434をレンダリングするためのコンピューティングルールを指定する。
【００６５】
いくつかの実装形態では、バインダライブラリ108は、パブリッシャーページ430のコンテンツ436a/bを消費しながら、背景を通り過ぎてスクロールするユーザエクスペリエンスを生じるために、ビューポート438の下部エッジのすぐ下にカットアウト434を挿入する。モバイルモードの場合、バックドロップクリエイティブのデジタルコンポーネントを位置決めするための特定のコンテンツ要素を選択することは、モードパラメータによって指定されたユーザデバイスのタイプ(たとえば、モバイルユーザデバイス)に基づいて、パブリッシャーページ430のシーム要素を識別することを含み得る。シーム要素は、パブリッシャーページにおいて組み込まれたデジタルコンポーネントの一部分をレンダリングするための、パブリッシャーページ430の少なくとも1つの他のロケーションを表す。シーム要素は、選択されたコンテンツ要素に隣接して、デジタルコンポーネントの一部分をレンダリングするため、または選択されたコンテンツ要素に隣接して、別の異なるデジタルコンポーネントをレンダリングするために使用され得る。
【００６６】
モバイルモードでは、シーム要素は、カットアウトのスペーサ<div>タグの直後にくることができ、バインダライブラリ108は、パブリッシャーページ430のどのコンテンツ要素がシーム要素であるかを決定することができ、シーム要素を使用して、パブリッシャーページ430においてカットアウト434を挿入するためのロケーションを決定することができる。カットアウト434は、レンダリングレイアウト/フォーマットのモバイル固有の部分であり得る。外観では、カットアウトは、ユーザがページの他のコンテンツ要素を通り過ぎてスクロールするとき、ユーザにページの背景を見せる、パブリッシャーページ430のフローにおいてレンダリングされた要素である。実際には、この効果は、パブリッシャーページ430に挿入されたスペーサ<div>タグと、あらかじめ定義された寸法に基づいてクロップされる固定された背景要素との組合せによって達成される。デスクトップモードの背景要素のように、カットアウト434は、スペーサdivを含み得るが、絶対的に位置決めされたiframeを伴う。divは、例示的なビューポート高さの半分であり得る固定された高さ、およびビューポート幅の100%において、パブリッシャーページのフローにおいてレンダリングされ得る。
【００６７】
iframeは、スペーサdivの子としてレンダリングされ得、スペーサdivのオーバーフローパラメータは、スペーサを通り過ぎて延在するiframeの部分が可視でなくなるように、非表示に設定され得る。ユーザがスクロールするとき、カットアウト434を制御するバインディングは、スペーサがパブリッシャーページ430の下部にあるとき、背景の下部が示されるように、およびスペーサがページの上部にあるとき、背景の上部が示されるように、背景の位置を変更することができる。いくつかの実装形態では、この移動を行うために必要とされる計算は、背景がビューポートよりも短い場合、スペーサdivがビューポートの最も端にあるとき、空きスペースの一部分が現れ得ることを保証する。デスクトップ背景の場合のように、カットアウト434は、ユーザクリックを検出するように、および閉じるボタンのユーザクリックの検出に応答して、背景クリエイティブを破棄するために、バインダライブラリ108にインジケータを提供するように構成された、バインディングを有する、閉じるボタンを含み得る。
【００６８】
図5は、クライアントとして、またはサーバもしくは複数のサーバとしてのいずれかで、本明細書で説明するシステムおよび方法を実装するために使用され得る、コンピューティングデバイス500、550のブロック図である。コンピューティングデバイス500は、ラップトップ、デスクトップ、ワークステーション、携帯情報端末、サーバ、ブレードサーバ、メインフレーム、および他の適切なコンピュータなど、様々な形態のデジタルコンピュータを表すものである。コンピューティングデバイス550は、携帯情報端末、セルラー電話、スマートフォン、スマートウオッチ、頭部装着型デバイス、および他の同様のコンピューティングデバイスなど、様々な形態のモバイルデバイスを表すものである。ここで示される構成要素、それらの接続および関係、ならびにそれらの機能は、例示的なものに過ぎないように意図され、本明細書で説明および/または請求する実装形態を限定するように意図されない。
【００６９】
コンピューティングデバイス500は、プロセッサ502と、メモリ504と、記憶デバイス506と、メモリ504および高速拡張ポート510に接続する高速インターフェース508と、低速バス514および記憶デバイス506に接続する低速インターフェース512とを含む。構成要素502、504、506、508、510、および512の各々は、様々なバスを使用して相互接続され、共通マザーボード上に、または適宜に他の方法で搭載され得る。プロセッサ502は、高速インターフェース508に結合されたディスプレイ516など、外部入出力デバイス上のGUIのためのグラフィカル情報を表示するための、メモリ504内または記憶デバイス506上に記憶された命令を含む、コンピューティングデバイス500内の実行のための命令を処理することができる。他の実装形態では、複数のプロセッサおよび/または複数のバスが、適宜に、複数のメモリおよび複数のタイプのメモリとともに使用され得る。また、複数のコンピューティングデバイス500が接続され得、各デバイスは、たとえば、サーババンク、ブレードサーバのグループ、またはマルチプロセッサシステムとして、必要な動作の部分を提供する。
【００７０】
メモリ504は、コンピューティングデバイス500内に情報を記憶する。一実装形態では、メモリ504は、コンピュータ可読媒体である。一実装形態では、メモリ504は、1つまたは複数の揮発性メモリユニットである。別の実装形態では、メモリ504は、1つまたは複数の不揮発性メモリユニットである。
【００７１】
記憶デバイス506は、コンピューティングデバイス500のための大容量記憶装置を提供することが可能である。一実装形態では、記憶デバイス506は、コンピュータ可読媒体である。様々な異なる実装形態では、記憶デバイス506は、フロッピーディスクデバイス、ハードディスクデバイス、光ディスクデバイス、もしくはテープデバイス、フラッシュメモリもしくは他の同様のソリッドステートメモリデバイス、または、ストレージエリアネットワークもしくは他の構成におけるデバイスを含む、デバイスのアレイであり得る。一実装形態では、コンピュータプログラム製品は、情報キャリアにおいて有形に具現化される。コンピュータプログラム製品は、実行されると、上記で説明したものなど、1つまたは複数の方法を行う命令を含む。情報キャリアは、メモリ504、記憶デバイス506、またはプロセッサ502上のメモリなど、コンピュータまたは機械可読媒体である。
【００７２】
高速コントローラ508は、コンピューティングデバイス500のための帯域幅集中的な動作を管理するが、低速コントローラ512は、より低い帯域幅集中的な動作を管理する。そのような機能の割振りは、例示的なものに過ぎない。一実装形態では、高速コントローラ508は、メモリ504、たとえば、グラフィックスプロセッサまたはアクセラレータを通してディスプレイ516に、および高速拡張ポート510に結合され、高速拡張ポート510は、様々な拡張カード(図示せず)を受け入れ得る。この実装形態では、低速コントローラ512は、記憶デバイス506および低速拡張ポート514に結合される。低速拡張ポートは、様々な通信ポート、たとえば、USB、Bluetooth、イーサネット、ワイヤレスイーサネットを含むことがあり、キーボード、ポインティングデバイス、スキャナなどの1つもしくは複数の入出力デバイスに、または、たとえば、ネットワークアダプタを通して、スイッチもしくはルータなどのネットワーキングデバイスに結合され得る。
【００７３】
コンピューティングデバイス500は、図に示されているように、いくつかの異なる形態で実装され得る。たとえば、コンピューティングデバイス500は、標準的なサーバ520として、またはそのようなサーバのグループにおいて複数回、実装され得る。コンピューティングデバイス500はまた、ラックサーバシステム524の一部としても実装され得る。加えて、コンピューティングデバイス500は、ラップトップコンピュータ522など、パーソナルコンピュータにおいて実装され得る。代替的に、コンピューティングデバイス500からの構成要素は、デバイス550など、モバイルデバイス(図示せず)における他の構成要素と組み合わせられ得る。そのようなデバイスの各々は、コンピューティングデバイス500、550のうちの1つまたは複数を含み得、システム全体が、互いに通信する複数のコンピューティングデバイス500、550から構成され得る。
【００７４】
コンピューティングデバイス550は、構成要素の中でも、プロセッサ552と、メモリ564と、ディスプレイ554などの入出力デバイスと、通信インターフェース566と、トランシーバ568とを含む。デバイス550はまた、追加のストレージを提供するために、マイクロドライブまたは他のデバイスなど、記憶デバイスを備え得る。構成要素552、564、554、566、および568の各々は、様々なバスを使用して相互接続され、構成要素のうちのいくつかは、共通マザーボード上に、または適宜に他の方法で搭載され得る。
【００７５】
プロセッサ552は、メモリ564において記憶された命令を含む、コンピューティングデバイス550内の実行のための命令を処理することができる。プロセッサはまた、別個のアナログおよびデジタルプロセッサを含み得る。プロセッサは、たとえば、ユーザインターフェース、デバイス550によって実行されたアプリケーション、およびデバイス550によるワイヤレス通信の制御など、デバイス550の他の構成要素の協調を提供し得る。
【００７６】
プロセッサ552は、ディスプレイ554に結合された制御インターフェース558およびディスプレイインターフェース556を通して、ユーザと通信し得る。ディスプレイ554は、たとえば、TFT LCDディスプレイもしくはOLEDディスプレイ、または他の適切なディスプレイ技術であり得る。ディスプレイインターフェース556は、ディスプレイ554を駆動して、グラフィカルおよび他の情報をユーザに提示するための、適切な回路を含み得る。制御インターフェース558は、ユーザからコマンドを受信し、プロセッサ552へのサブミッションのために、それらのコマンドを変換し得る。加えて、外部インターフェース562は、デバイス550と他のデバイスとの近いエリアの通信を可能にするために、プロセッサ552と通信するように設けられ得る。外部インターフェース562は、たとえば、たとえばドッキング手順を介したワイヤード通信、または、たとえば、Bluetoothもしくは他のそのような技術を介したワイヤレス通信を提供し得る。
【００７７】
メモリ564は、コンピューティングデバイス550内で情報を記憶する。一実装形態では、メモリ564は、コンピュータ可読媒体である。一実装形態では、メモリ564は、1つまたは複数の揮発性メモリユニットである。別の実装形態では、メモリ564は、1つまたは複数の不揮発性メモリユニットである。拡張メモリ574もまた設けられ、たとえば、SIMMカードインターフェースを含み得る、拡張インターフェース572を通して、デバイス550に接続され得る。そのような拡張メモリ574は、デバイス550のために余分の記憶空間を提供し得るか、または、デバイス550のためのアプリケーションもしくは他の情報も記憶し得る。具体的には、拡張メモリ574は、上記で説明したプロセスを実行するかまたは補うための命令を含み得、また、セキュアな情報も含み得る。したがって、たとえば、拡張メモリ574は、デバイス550のためのセキュリティモジュールとして設けられ得、デバイス550のセキュアな使用を可能にする命令とともにプログラムされ得る。加えて、セキュアアプリケーションは、ハッキング不可能な方法でSIMMカード上に識別情報を置くなど、追加の情報とともに、SIMMカードを介して提供され得る。
【００７８】
メモリは、たとえば、以下で説明するように、フラッシュメモリおよび/またはMRAMメモリを含み得る。一実装形態では、コンピュータプログラム製品は、情報キャリアにおいて有形に具現化される。コンピュータプログラム製品は、実行されると、上記で説明したものなど、1つまたは複数の方法を行う命令を含む。情報キャリアは、メモリ564、拡張メモリ574、またはプロセッサ552上のメモリなど、コンピュータまたは機械可読媒体である。
【００７９】
デバイス550は、必要な場合、デジタル信号処理回路を含み得る通信インターフェース566を通して、ワイヤレス通信し得る。通信インターフェース566は、特に、GSM音声通話、SMSメッセージング、EMSメッセージング、もしくはMMSメッセージング、CDMA、TDMA、PDC、WCDMA(登録商標)、CDMA2000、またはGPRSなど、様々なモードまたはプロトコルの下で通信を提供し得る。そのような通信は、たとえば、無線周波数トランシーバ568を通して発生し得る。加えて、短距離通信は、Bluetooth、WiFi、または他のそのようなトランシーバ(図示せず)などを使用して発生し得る。加えて、GPS受信機モジュール570は、デバイス550上で実行しているアプリケーションによって適宜に使用され得る追加のワイヤレスデータを、デバイス550に与え得る。
【００８０】
デバイス550はまた、オーディオコーデック560を使用して、可聴的に通信し得、オーディオコーデック560は、ユーザから話された情報を受信し、その情報を使用可能なデジタル情報に変換し得る。オーディオコーデック560は、同様に、たとえば、デバイス550のハンドセットにおいて、スピーカーを通してなど、ユーザのための可聴音を生成し得る。そのような音は、音声通話からの音を含み得、記録された音、たとえば、音声メッセージ、音楽ファイルなどを含み得、また、デバイス550上で動作するアプリケーションによって生成された音も含み得る。
【００８１】
コンピューティングデバイス550は、図に示されているように、いくつかの異なる形態で実装され得る。たとえば、コンピューティングデバイス550は、セルラー電話580として実装され得る。コンピューティングデバイス550はまた、スマートフォン582、携帯情報端末、または他の同様のモバイルデバイスの一部としても実装され得る。
【００８２】
本明細書で説明するシステムおよび技法の様々な実装形態は、デジタル電子回路、集積回路、特別に設計されたASIC、コンピュータハードウェア、ファームウェア、ソフトウェア、および/またはそれらの組合せにおいて実現され得る。これらの様々な実装形態は、少なくとも1つのプログラマブルプロセッサを含むプログラマブルシステム上で実行可能および/または解釈可能である、1つまたは複数のコンピュータプログラムにおける実装形態を含み得、プログラマブルプロセッサは、専用であっても汎用であってもよく、記憶システム、少なくとも1つの入力デバイス、および少なくとも1つの出力デバイスから、データおよび命令を受信し、それらにデータおよび命令を送信するために結合され得る。
【００８３】
プログラム、ソフトウェア、ソフトウェアアプリケーション、またはコードとしても知られる、これらのコンピュータプログラムは、プログラマブルプロセッサのための機械命令を含み、高水準の手続き型および/もしくはオブジェクト指向プログラミング言語において、かつ/またはアセンブリ/機械言語において実装され得る。本明細書で使用する「機械可読媒体」、「コンピュータ可読媒体」という用語は、機械命令を機械可読信号として受信する機械可読媒体を含む、機械命令および/またはデータをプログラマブルプロセッサに与えるために使用される、任意のコンピュータプログラム製品、装置および/またはデバイス、たとえば、磁気ディスク、光ディスク、メモリ、プログラマブル論理デバイス(PLD)を指す。「機械可読信号」という用語は、機械命令および/またはデータをプログラマブルプロセッサに与えるために使用される、任意の信号を指す。
【００８４】
ユーザとの対話を提供するために、本明細書で説明するシステムおよび技法は、ユーザに情報を表示するためのディスプレイデバイス、たとえば、CRT(陰極線管)またはLCD(液晶ディスプレイ)モニタと、それによってユーザがコンピュータに入力を与えることができるキーボードおよびポインティングデバイス、たとえば、マウスまたはトラックボールとを有する、コンピュータ上で実装され得る。他の種類のデバイスが、ユーザとの対話を提供するために同様に使用され得、たとえば、ユーザに与えられるフィードバックは、任意の形態の感覚フィードバック、たとえば、視覚フィードバック、聴覚フィードバック、または触覚フィードバックであり得、ユーザからの入力は、音響入力、音声入力、または触覚入力を含む、任意の形態で受信され得る。
【００８５】
本明細書で説明するシステムおよび技法は、たとえば、データサーバとしてバックエンド構成要素を含むか、あるいは、アプリケーションサーバなどのミドルウェア構成要素を含むか、あるいは、それを通してユーザが、本明細書で説明するシステムおよび技法の実装形態と対話することができる、グラフィカルユーザインターフェースもしくはウェブブラウザを有する、クライアントコンピュータなどのフロントエンド構成要素、または、そのようなバックエンド構成要素、ミドルウェア構成要素、もしくはフロントエンド構成要素の任意の組合せを含む、コンピューティングシステムにおいて実装され得る。システムの構成要素は、通信ネットワークなど、任意の形態または任意の媒体のデジタルデータ通信によって相互接続され得る。通信ネットワークの例には、ローカルエリアネットワーク(「LAN」)、ワイドエリアネットワーク(「WAN」)、およびインターネットが含まれる。
【００８６】
コンピューティングシステムは、クライアントおよびサーバを含み得る。クライアントおよびサーバは、一般に互いから遠隔であり、典型的には、通信ネットワークを通して対話する。クライアントおよびサーバの関係は、それぞれのコンピュータ上で実行しており、互いにクライアントサーバ関係を有する、コンピュータプログラムによって生じる。
【００８７】
本明細書で使用する「モジュール」という用語は、限定はしないが、コンピュータの処理ユニット/デバイスに1つまたは複数の機能を実行させるプログラムコードを含む、1つまたは複数のソフトウェアプログラムを実行するように構成された、1つまたは複数のコンピュータを含むものである。「コンピュータ」という用語は、デスクトップコンピュータ、ラップトップコンピュータ、メインフレームコンピュータ、携帯情報端末、サーバ、ハンドヘルドデバイス、スマートフォン、タブレットコンピュータ、電子リーダー、またはデータを処理することが可能な任意の他の電子デバイスなど、任意のデータ処理またはコンピューティングデバイス/システムを含むものである。
【００８８】
いくつかの実施形態について説明した。それにもかかわらず、本発明の趣旨および範囲から逸脱することなしに、様々な変更が行われ得ることは理解されよう。したがって、他の実施形態は、以下の特許請求の範囲内である。本明細書は、多数の特定の実装詳細を含むが、これらは、請求され得るものの範囲の限定として解釈されるべきではなく、むしろ、特定の実施形態に固有であり得る特徴の説明として解釈されるべきである。別個の実施形態との関連において本明細書で説明するいくつかの特徴はまた、単一の実施形態において組み合わせて実装され得る。
【００８９】
逆に、単一の実施形態との関連において説明する様々な特徴はまた、複数の実施形態において別個に、または任意の好適な部分組合せにおいても実装され得る。その上、特徴について、いくつかの組合せにおいて作用するとして上記で説明することがあり、最初にそのようなものとして請求されることさえあるが、請求される組合せからの1つまたは複数の特徴は、場合によっては、その組合せから削除され得、請求される組合せは、部分組合せ、または部分組合せの変形形態を対象とし得る。
【００９０】
同様に、動作は、図面において特定の順序で図示されるが、これは、望ましい結果を達成するために、そのような動作が図示された特定の順序で、もしくは順番に行われること、またはすべての図示された動作が行われることを必要とするものとして理解されるべきではない。いくつかの状況では、マルチタスキングおよび並列処理が有利であり得る。その上、上記で説明した実施形態における様々なシステムモジュールおよび構成要素の分離は、すべての実施形態においてそのような分離を必要とするものとして理解されるべきではなく、説明したプログラム構成要素およびシステムは、一般に単一のソフトウェア製品にともに統合され得るか、または複数のソフトウェア製品にパッケージ化され得ることを理解されたい。
【００９１】
主題の特定の実施形態について説明した。他の実施形態は、以下の特許請求の範囲内である。たとえば、特許請求の範囲に記載されているアクションは、異なる順序で行われ、なお、望ましい結果を達成することが可能である。一例として、添付の図面に図示されたいくつかのプロセスは、望ましい結果を達成するために、必ずしも図示された特定の順序、または順番を必要とするとは限らない。
【符号の説明】
【００９２】
100  コンピューティングシステム、システム
102  コンピューティングサーバ、サーバ
104  レンダリングモジュール
106、400  パブリッシャーページ
108  コンテンツバインダライブラリ、バインダライブラリ
110  レンダリングライブラリ
112  アセットインデックス、インデックス
114  セキュアメッセージングリンク/チャネル、セキュアリンク、セキュア接続またはリンク
300  コンピューティングアーキテクチャ、アーキテクチャ
302  メタデータ、クリエイティブメタデータ
304  モデルファクトリ
308  モバイルPrimaryFileオブジェクト、PrimaryFileモデルオブジェクト、PrimaryFileオブジェクト
310  デスクトップPrimaryFileオブジェクト、PrimaryFileモデルオブジェクト、PrimaryFileオブジェクト
402、426、438  ビューポート
404  サイトヘッダ要素
406  コンテンツ要素、要素
408a、408b、410  コンテンツヘッダ
420  ウェブサイトまたはパブリッシャーページ、ページ、パブリッシャーページ
422  背景要素、デスクトップ背景要素
424、432  トップバナー
428、433  デジタルコンポーネント
429a/b  コンテンツ要素
430  パブリッシャーページ、ページ、パブリッシャーのページ
434  カットアウト、モバイルカットアウト
436a、436b  コンテンツ
500  コンピューティングデバイス
502、552  プロセッサ、構成要素
504、564  メモリ、構成要素
506  記憶デバイス、構成要素
508  高速インターフェース、構成要素、高速コントローラ
510  高速拡張ポート、構成要素
512  低速インターフェース、構成要素、低速コントローラ
514  低速バス、低速拡張ポート
516  ディスプレイ
520  標準的なサーバ
522  ラップトップコンピュータ
524  ラックサーバシステム
550  コンピューティングデバイス、デバイス
554  ディスプレイ、構成要素
556  ディスプレイインターフェース
558  制御インターフェース
560  オーディオコーデック
562  外部インターフェース
566  通信インターフェース、構成要素
568  トランシーバ、構成要素、無線周波数トランシーバ
570  GPS受信機モジュール
572  拡張インターフェース
574  拡張メモリ
580  セルラー電話
582  スマートフォン
【図１】
2021512415.tif 000003
【図２】
2021512415.tif 000004
【図３】
2021512415.tif 000005
【図４Ａ】
2021512415.tif 000006
【図４Ｂ】
2021512415.tif 000007
【図４Ｃ】
2021512415.tif 000008
【図５】
2021512415.tif 000009
2021512415.tif 000010
2021512415.tif 000011
2021512415.tif 000012
2021512415.tif 000013
2021512415.tif 000014
2021512415.tif 000015
2021512415.tif 000016
【手続補正書】
【提出日】令和2年9月24日(2020.9.24)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
コンピュータ実装方法であって、
パブリッシャーページのコンテンツ要素を識別するステップと、
前記パブリッシャーページを要求するユーザデバイスのタイプを指定するモードパラメータを検出するステップと、
前記パブリッシャーページの他のコンテンツに対する前記コンテンツ要素の深度を示す、前記コンテンツ要素の深度値を決定するステップと、
前記深度値および前記モードパラメータに基づいて、前記コンテンツ要素が、前記パブリッシャーページにおいてデジタルコンポーネントを組み込むための基準点に対応すると決定するステップと、
前記基準点に隣接する前記パブリッシャーページのロケーションにおいて組み込まれるために、前記デジタルコンポーネントを提供するステップと
を含むコンピュータ実装方法。
【請求項２】
前記パブリッシャーページが、前記コンテンツ要素を含む動的コンテンツを備え、
前記コンテンツ要素が前記基準点に対応すると決定するステップが、前記モードパラメータによって指定された前記ユーザデバイスのタイプに基づいて、前記コンテンツ要素を前記基準点として選択するステップを含む、請求項1に記載のコンピュータ実装方法。
【請求項３】
前記ユーザデバイスの特定のタイプの向き、および前記ユーザデバイスの特定のタイプにおいてインストールされたディスプレイの構成に基づいて、前記動的コンテンツの提示が変化するとき、前記動的コンテンツを不明瞭にすることなしに、前記パブリッシャーページの前記ロケーションにおいて前記デジタルコンポーネントを組み込むステップ
をさらに含む、請求項2に記載のコンピュータ実装方法。
【請求項４】
前記パブリッシャーページのコンテンツの構造を定義するドキュメントオブジェクトモデル内の前記コンテンツ要素の位置と、
前記パブリッシャーページにおいて組み込まれるための前記デジタルコンポーネントの特定のタイプと、
前記デジタルコンポーネントが前記パブリッシャーページにおいて組み込まれるときにレンダリングされることになる特定の環境を示すために、メタデータ文字列を使用する、レンダリングモードと
のうちの1つまたは複数に基づいて、前記コンテンツ要素を前記基準点として選択するステップをさらに含む、請求項2に記載のコンピュータ実装方法。
【請求項５】
前記パブリッシャーページとは別個であるサンドボックス化された実行環境において前記デジタルコンポーネントをレンダリングするために、バックドロップクリエイティブに対応するセキュアiframeを構成するステップ
をさらに含む、請求項1に記載のコンピュータ実装方法。
【請求項６】
前記パブリッシャーページの前記ロケーションにおいて組み込まれるために、前記デジタルコンポーネントを提供するステップが、
前記パブリッシャーページにアクセスすることから除外される第1のドメインから、第2のドメインに前記デジタルコンポーネントを提供するステップと、
前記パブリッシャーページの前記ロケーションにおいて組み込まれるために、前記第2のドメインから前記パブリッシャーページに前記デジタルコンポーネントを提供するステップと
を含む、請求項5に記載のコンピュータ実装方法。
【請求項７】
前記第1のドメインがレンダリングライブラリであり、前記コンピュータ実装方法が、
前記レンダリングライブラリを使用して、1つまたは複数のパブリッシャーページにおいてデジタルコンポーネントをレンダリングするための要求を生成するステップと、
前記レンダリングライブラリによって、前記1つまたは複数のパブリッシャーページにおいて前記デジタルコンポーネントを組み込むそれぞれのiframeへのポインタを使用して、前記1つまたは複数のパブリッシャーページにおいてレンダリングされたデジタルコンポーネントと通信するステップと
を含む、請求項6に記載のコンピュータ実装方法。
【請求項８】
前記第2のドメインがコンテンツバインダライブラリであり、前記コンピュータ実装方法が、
前記コンテンツバインダライブラリを使用して、前記レンダリングライブラリから受信された要求に基づいて、前記パブリッシャーページをスキャンするステップと、
前記コンテンツバインダライブラリを使用して、前記パブリッシャーページのコンテンツ要素を、そのパブリッシャーページにおいてバックドロップクリエイティブを組み込むための基準点として自動的に識別および選択するステップと、
前記バックドロップクリエイティブを使用して、前記パブリッシャーページにおいてデジタルコンポーネントを動的に位置決めするステップと
を含む、請求項7に記載のコンピュータ実装方法。
【請求項９】
前記コンテンツバインダライブラリを使用して、コンピューティングサーバとのセキュア通信に従事するように、前記セキュアiframeに指示するステップと、
前記コンピューティングサーバとの前記セキュア通信に基づいて、前記コンテンツバインダライブラリを使用して、前記パブリッシャーページにおいて組み込まれるためのバックドロップクリエイティブに対応するデータを取得するステップと
をさらに含む、請求項8に記載のコンピュータ実装方法。
【請求項１０】
前記バックドロップクリエイティブおよび前記セキュアiframeを使用して、前記パブリッシャーページにおいて、前記デジタルコンポーネントを動的に位置決めし、組み込むステップ
をさらに含む、請求項9に記載のコンピュータ実装方法。
【請求項１１】
システムであって、
1つまたは複数の処理デバイスと、
前記1つまたは複数の処理デバイスによって動作の実行を引き起こすために実行可能である命令を記憶する、1つまたは複数の非一時的機械可読記憶デバイスとを備え、前記動作が、
パブリッシャーページのコンテンツ要素を識別すること、
前記パブリッシャーページを要求するユーザデバイスのタイプを指定するモードパラメータを検出すること、
前記パブリッシャーページの他のコンテンツに対する前記コンテンツ要素の深度を示す、前記コンテンツ要素の深度値を決定すること、
前記深度値および前記モードパラメータに基づいて、前記コンテンツ要素が、前記パブリッシャーページにおいてデジタルコンポーネントを組み込むための基準点に対応すると決定すること、ならびに
前記基準点に隣接する前記パブリッシャーページのロケーションにおいて組み込まれるために、前記デジタルコンポーネントを提供すること
を含む、システム。
【請求項１２】
前記パブリッシャーページが、前記コンテンツ要素を含む動的コンテンツを備え、
前記コンテンツ要素が前記基準点に対応すると決定することが、前記モードパラメータによって指定された前記ユーザデバイスのタイプに基づいて、前記コンテンツ要素を前記基準点として選択することを含む、請求項11に記載のシステム。
【請求項１３】
前記動作が、
前記ユーザデバイスの特定のタイプの向き、および前記ユーザデバイスの特定のタイプにおいてインストールされたディスプレイの構成に基づいて、前記動的コンテンツの提示が変化するとき、前記動的コンテンツを不明瞭にすることなしに、前記パブリッシャーページの前記ロケーションにおいて前記デジタルコンポーネントを組み込むこと
をさらに含む、請求項12に記載のシステム。
【請求項１４】
前記動作が、
前記パブリッシャーページのコンテンツの構造を定義するドキュメントオブジェクトモデル内の前記コンテンツ要素の位置と、
前記パブリッシャーページにおいて組み込まれるための前記デジタルコンポーネントの特定のタイプと、
前記デジタルコンポーネントが前記パブリッシャーページにおいて組み込まれるときにレンダリングされることになる特定の環境を示すために、メタデータ文字列を使用する、レンダリングモードと
のうちの1つまたは複数に基づいて、前記コンテンツ要素を前記基準点として選択することをさらに含む、請求項12に記載のシステム。
【請求項１５】
前記動作が、
前記パブリッシャーページとは別個であるサンドボックス化された実行環境において前記デジタルコンポーネントをレンダリングするために、バックドロップクリエイティブに対応するセキュアiframeを構成すること
をさらに含む、請求項11に記載のシステム。
【請求項１６】
前記パブリッシャーページの前記ロケーションにおいて組み込まれるために、前記デジタルコンポーネントを提供することが、
前記パブリッシャーページにアクセスすることから除外される第1のドメインから、第2のドメインに前記デジタルコンポーネントを提供すること、および
前記パブリッシャーページの前記ロケーションにおいて組み込まれるために、前記第2のドメインから前記パブリッシャーページに前記デジタルコンポーネントを提供すること
を含む、請求項15に記載のシステム。
【請求項１７】
前記第1のドメインがレンダリングライブラリであり、前記動作が、
前記レンダリングライブラリを使用して、1つまたは複数のパブリッシャーページにおいてデジタルコンポーネントをレンダリングするための要求を生成すること、および
前記レンダリングライブラリによって、前記1つまたは複数のパブリッシャーページにおいて前記デジタルコンポーネントを組み込むそれぞれのiframeへのポインタを使用して、前記1つまたは複数のパブリッシャーページにおいてレンダリングされたデジタルコンポーネントと通信すること
をさらに含む、請求項16に記載のシステム。
【請求項１８】
前記第2のドメインがコンテンツバインダライブラリであり、前記動作が、
前記コンテンツバインダライブラリを使用して、前記レンダリングライブラリから受信された要求に基づいて、前記パブリッシャーページをスキャンすること、
前記コンテンツバインダライブラリを使用して、前記パブリッシャーページのコンテンツ要素を、そのパブリッシャーページにおいてバックドロップクリエイティブを組み込むための基準点として自動的に識別および選択すること、ならびに
前記バックドロップクリエイティブを使用して、前記パブリッシャーページにおいてデジタルコンポーネントを動的に位置決めすること
をさらに含む、請求項17に記載のシステム。
【請求項１９】
前記動作が、
前記コンテンツバインダライブラリを使用して、コンピューティングサーバとのセキュア通信に従事するように、前記セキュアiframeに指示すること、
前記コンピューティングサーバとの前記セキュア通信に基づいて、前記コンテンツバインダライブラリを使用して、前記パブリッシャーページにおいて組み込まれるためのバックドロップクリエイティブに対応するデータを取得すること、ならびに
前記バックドロップクリエイティブおよび前記セキュアiframeを使用して、前記パブリッシャーページにおいて前記デジタルコンポーネントを動的に位置決めし、組み込むこと
をさらに含む、請求項18に記載のシステム。
【請求項２０】
1つまたは複数の処理デバイスによって動作の実行を引き起こすために実行可能である命令を記憶する、1つまたは複数の非一時的機械可読記憶デバイスであって、前記動作が、
パブリッシャーページのコンテンツ要素を識別すること、
前記パブリッシャーページを要求するユーザデバイスのタイプを指定するモードパラメータを検出すること、
前記パブリッシャーページの他のコンテンツに対する前記コンテンツ要素の深度を示す、前記コンテンツ要素の深度値を決定すること、
前記深度値および前記モードパラメータに基づいて、前記コンテンツ要素が、前記パブリッシャーページにおいてデジタルコンポーネントを組み込むための基準点に対応すると決定すること、ならびに
前記基準点に隣接する前記パブリッシャーページのロケーションにおいて組み込まれるために、前記デジタルコンポーネントを提供すること
を含む、1つまたは複数の非一時的機械可読記憶デバイス。
【国際調査報告】
2021512415.tif 000017
2021512415.tif 000018
2021512415.tif 000019