(57)【要約】  方法、システム、およびコンピュータ記憶媒体上に符号化されたコンピュータプログラムは、同じページ内の単一のスタイル定義を条件的に解釈することに関する。方法は、パブリッシャにより提供されるコンテンツページ上のサードパーティコンテンツブロックにサードパーティコンテンツを提示するための要求を受信するステップを含む。単一のスタイル識別子および1つまたは複数の属性は、コンテンツページから取得される。続いて、サードパーティコンテンツ項目が、コンテンツソースから選択される。単一のスタイル識別子および1つまたは複数の属性を使用して、それぞれの複数のサードパーティコンテンツブロックに対する異なるスタイルを指定する複数の規則の中から、サードパーティコンテンツブロックにおいて提示するために選択されるコンテンツに対するスタイルパラメータのセットを指定する、第1の規則が特定される。サードパーティコンテンツ項目は、第1の規則のスタイルパラメータに従ってフォーマットされ、サードパーティコンテンツブロック内に提示するために提供される。
2021526672.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータにより実施される方法であって、
パブリッシャによって提供されるコンテンツページ上のサードパーティコンテンツブロックにサードパーティコンテンツを提示するための要求を受信するステップであって、前記サードパーティコンテンツが前記パブリッシャとは異なるエンティティによって提供される、ステップと、
前記コンテンツページから単一のスタイル識別子および1つまたは複数の属性を取得するステップと、
前記要求を受信した後で、サードパーティコンテンツを記憶するコンテンツソースからサードパーティコンテンツ項目を選択するステップと、
前記単一のスタイル識別子および前記1つまたは複数の属性を使用して、前記コンテンツページ上のそれぞれの複数のサードパーティコンテンツブロックに対する異なるスタイルを指定する複数の規則の中から、前記サードパーティコンテンツブロックに提示するために選択されるコンテンツに対して選択されるスタイルパラメータのセットを指定する第1の規則を特定するステップと、
前記第1の規則において指定されるスタイルパラメータの前記セットに従って前記サードパーティコンテンツ項目をフォーマットするステップと、
前記コンテンツページの前記サードパーティコンテンツブロック内で提示するために前記サードパーティコンテンツ項目を提供するステップと
を備える、コンピュータにより実施される方法。
【請求項２】
前記1つまたは複数の属性が、ユーザエージェント、ブラウザのスクリーンサイズ、サードパーティコンテンツブロックの名称、またはデバイスタイプを含む、請求項1に記載のコンピュータにより実施される方法。
【請求項３】
前記第1の規則において指定されるスタイルパラメータの前記セットを修正するステップをさらに備え、
前記第1の規則において指定されるスタイルパラメータの前記セットに従って前記サードパーティコンテンツ項目をフォーマットするステップが、前記単一のスタイル識別子の受信に応答して、前記第1の規則において指定されるスタイルパラメータの前記修正されたセットを使用して前記サードパーティコンテンツ項目をフォーマットするステップを含む、請求項1に記載のコンピュータにより実施される方法。
【請求項４】
前記サードパーティコンテンツブロック内に提示された前記サードパーティコンテンツ項目に対するユーザ活動の量を決定するステップと、
ユーザ活動の前記量に応答して、前記第1の規則において指定されるスタイルパラメータの前記セットを修正するステップと、
前記単一のスタイル識別子の受信に応答して、前記第1の規則において指定されるスタイルパラメータの前記修正されたセットを使用して前記サードパーティコンテンツ項目をフォーマットするステップと、
スタイルパラメータの前記修正されたセットを使用して前記サードパーティコンテンツ項目をフォーマットした後で、前記コンテンツページの前記サードパーティコンテンツブロック内で提示するために前記サードパーティコンテンツ項目を提供するステップと
をさらに備える、請求項1に記載のコンピュータにより実施される方法。
【請求項５】
前記コンテンツページから、スタイルパラメータの1つまたは複数のセットを取得するステップであって、スタイルパラメータの各セットが、1つまたは複数のサードパーティコンテンツブロックにおいて提示するためにコンテンツがフォーマットされるべき方式を指定する、ステップと、
前記1つまたは複数のスタイルパラメータのうちのスタイルパラメータの各セットに対して、スタイルパラメータの前記セットを含む規則を生成するステップと、
前記単一のスタイル識別子に対する規則として、各々の生成された規則を前記複数の規則とともに記憶するステップと
をさらに備える、請求項1に記載のコンピュータにより実施される方法。
【請求項６】
前記第1の規則において指定されるスタイルパラメータの前記セットが、前記パブリッシャによって選択される、請求項1に記載のコンピュータにより実施される方法。
【請求項７】
前記スタイルパラメータが少なくとも、前記サードパーティコンテンツに適用可能な、最大文字数、フォントの色、フォントタイプ、フォントサイズ、向き、または境界を含む、請求項1に記載のコンピュータにより実施される方法。
【請求項８】
前記サードパーティコンテンツブロックが、前記コンテンツページに埋め込まれた埋め込み可能な表示要素を備える、請求項1に記載のコンピュータにより実施される方法。
【請求項９】
命令を記憶する1つまたは複数のメモリデバイスと、
前記1つまたは複数のメモリデバイスと対話し、前記命令が実行されると動作を実行するように構成される1つまたは複数のデータ処理装置と
を備え、前記動作が、
パブリッシャによって提供されるコンテンツページ上のサードパーティコンテンツブロックにサードパーティコンテンツを提示するための要求を受信することであって、前記サードパーティコンテンツが前記パブリッシャとは異なるエンティティによって提供される、受信することと、
前記コンテンツページから単一のスタイル識別子および1つまたは複数の属性を取得することと、
前記要求を受信した後で、サードパーティコンテンツを記憶するコンテンツソースからサードパーティコンテンツ項目を選択することと、
前記単一のスタイル識別子および前記1つまたは複数の属性を使用して、前記コンテンツページ上のそれぞれの複数のサードパーティコンテンツブロックに対する異なるスタイルを指定する複数の規則の中から、前記サードパーティコンテンツブロックに提示するために選択されるコンテンツに対して選択されるスタイルパラメータのセットを指定する第1の規則を特定することと、
前記第1の規則において指定されるスタイルパラメータの前記セットに従って前記サードパーティコンテンツ項目をフォーマットすることと、
前記コンテンツページの前記サードパーティコンテンツブロック内で提示するために前記サードパーティコンテンツ項目を提供することと
を含む、システム。
【請求項１０】
前記1つまたは複数の属性が、ユーザエージェント、ブラウザのスクリーンサイズ、サードパーティコンテンツブロックの名称、またはデバイスタイプを含む、請求項9に記載のシステム。
【請求項１１】
前記1つまたは複数のデータ処理装置が、前記1つまたは複数のメモリデバイスと対話し、前記命令が実行されると動作を実行するように構成され、前記動作がさらに、
前記第1の規則において指定されるスタイルパラメータの前記セットを修正することを備え、
前記第1の規則において指定されるスタイルパラメータの前記セットに従って前記サードパーティコンテンツ項目をフォーマットすることが、前記単一のスタイル識別子の受信に応答して、前記第1の規則において指定されるスタイルパラメータの前記修正されたセットを使用して前記サードパーティコンテンツ項目をフォーマットすることを含む、請求項9に記載のシステム。
【請求項１２】
前記1つまたは複数のデータ処理装置が、前記1つまたは複数のメモリデバイスと対話し、前記命令が実行されると動作を実行するように構成され、前記動作がさらに、
前記サードパーティコンテンツブロック内に提示された前記サードパーティコンテンツ項目に対するユーザ活動の量を決定することと、
ユーザ活動の前記量に応答して、前記第1の規則において指定されるスタイルパラメータの前記セットを修正することと、
前記単一のスタイル識別子の受信に応答して、前記第1の規則において指定されるスタイルパラメータの前記修正されたセットを使用して前記サードパーティコンテンツ項目をフォーマットすることと、
スタイルパラメータの前記修正されたセットを使用して前記サードパーティコンテンツ項目をフォーマットした後で、前記コンテンツページの前記サードパーティコンテンツブロック内で提示するために前記サードパーティコンテンツ項目を提供することと
を備える、請求項9に記載のシステム。
【請求項１３】
前記1つまたは複数のデータ処理装置が、前記1つまたは複数のメモリデバイスと対話し、前記命令が実行されると動作を実行するように構成され、前記動作がさらに、
前記コンテンツページから、スタイルパラメータの1つまたは複数のセットを取得することであって、スタイルパラメータの各セットが、1つまたは複数のサードパーティコンテンツブロックにおいて提示するためにコンテンツがフォーマットされるべき方式を指定する、取得することと、
前記1つまたは複数のスタイルパラメータのうちのスタイルパラメータの各セットに対して、スタイルパラメータの前記セットを含む規則を生成することと、
前記単一のスタイル識別子に対する規則として、各々の生成された規則を前記複数の規則とともに記憶することと
を備える、請求項9に記載のシステム。
【請求項１４】
前記第1の規則において指定されるスタイルパラメータの前記セットが、前記パブリッシャによって選択される、請求項9に記載のシステム。
【請求項１５】
前記スタイルパラメータが少なくとも、前記サードパーティコンテンツに適用可能な、最大文字数、フォントの色、フォントタイプ、フォントサイズ、向き、または境界を含む、請求項9に記載のシステム。
【請求項１６】
前記サードパーティコンテンツブロックが、前記コンテンツページに埋め込まれた埋め込み可能な表示要素を備える、請求項9に記載のシステム。
【請求項１７】
1つまたは複数のデータ処理装置によって実行されると、前記1つまたは複数のデータ処理装置に動作を実行させる命令を記憶した、非一時的コンピュータ可読記録媒体であって、前記動作が、
パブリッシャによって提供されるコンテンツページ上のサードパーティコンテンツブロックにサードパーティコンテンツを提示するための要求を受信することであって、前記サードパーティコンテンツが前記パブリッシャとは異なるエンティティによって提供される、受信することと、
前記コンテンツページから単一のスタイル識別子および1つまたは複数の属性を取得することと、
前記要求を受信した後で、サードパーティコンテンツを記憶するコンテンツソースからサードパーティコンテンツ項目を選択することと、
前記単一のスタイル識別子および前記1つまたは複数の属性を使用して、前記コンテンツページ上のそれぞれの複数のサードパーティコンテンツブロックに対する異なるスタイルを指定する複数の規則の中から、前記サードパーティコンテンツブロックに提示するために選択されるコンテンツに対して選択されるスタイルパラメータのセットを指定する第1の規則を特定することと、
前記第1の規則において指定されるスタイルパラメータの前記セットに従って前記サードパーティコンテンツ項目をフォーマットすることと、
前記コンテンツページの前記サードパーティコンテンツブロック内で提示するために前記サードパーティコンテンツ項目を提供することと
を備える、非一時的コンピュータ可読記録媒体。
【請求項１８】
前記1つまたは複数の属性が、ユーザエージェント、ブラウザのスクリーンサイズ、サードパーティコンテンツブロックの名称、またはデバイスタイプを含む、請求項17に記載の非一時的コンピュータ可読記録媒体。
【請求項１９】
前記命令が、1つまたは複数のデータ処理装置によって実行されると、前記1つまたは複数のデータ処理装置に動作を実行させ、前記動作が、
前記第1の規則において指定されるスタイルパラメータの前記セットを修正することを備え、
前記第1の規則において指定されるスタイルパラメータの前記セットに従って前記サードパーティコンテンツ項目をフォーマットすることが、前記単一のスタイル識別子の受信に応答して、前記第1の規則において指定されるスタイルパラメータの前記修正されたセットを使用して前記サードパーティコンテンツ項目をフォーマットすることを含む、請求項17に記載の非一時的コンピュータ可読記録媒体。
【請求項２０】
前記命令が、1つまたは複数のデータ処理装置によって実行されると、前記1つまたは複数のデータ処理装置に動作を実行させ、前記動作が、
前記サードパーティコンテンツブロック内に提示された前記サードパーティコンテンツ項目に対するユーザ活動の量を決定することと、
ユーザ活動の前記量に応答して、前記第1の規則において指定されるスタイルパラメータの前記セットを修正することと、
前記単一のスタイル識別子の受信に応答して、前記第1の規則において指定されるスタイルパラメータの前記修正されたセットを使用して前記サードパーティコンテンツ項目をフォーマットすることと、
スタイルパラメータの前記修正されたセットを使用して前記サードパーティコンテンツ項目をフォーマットした後で、前記コンテンツページの前記サードパーティコンテンツブロック内で提示するために前記サードパーティコンテンツ項目を提供することと
を備える、請求項17に記載の非一時的コンピュータ可読記録媒体。
【請求項２１】
前記命令が、1つまたは複数のデータ処理装置によって実行されると、前記1つまたは複数のデータ処理装置に動作を実行させ、前記動作が、
前記コンテンツページから、スタイルパラメータの1つまたは複数のセットを取得することであって、スタイルパラメータの各セットが、1つまたは複数のサードパーティコンテンツブロックにおいて提示するためにコンテンツがフォーマットされるべき方式を指定する、取得することと、
前記1つまたは複数のスタイルパラメータのうちのスタイルパラメータの各セットに対して、スタイルパラメータの前記セットを含む規則を生成することと、
前記単一のスタイル識別子に対する規則として、各々の生成された規則を前記複数の規則とともに記憶することと
を備える、請求項17に記載の非一時的コンピュータ可読記録媒体。
【請求項２２】
前記第1の規則において指定されるスタイルパラメータの前記セットが、前記パブリッシャによって選択される、請求項17に記載の非一時的コンピュータ可読記録媒体。
【請求項２３】
前記スタイルパラメータが少なくとも、前記サードパーティコンテンツに適用可能な、最大文字数、フォントの色、フォントタイプ、フォントサイズ、向き、または境界を含む、請求項17に記載の非一時的コンピュータ可読記録媒体。
【請求項２４】
前記サードパーティコンテンツブロックが、前記コンテンツページに埋め込まれた埋め込み可能な表示要素を備える、請求項17に記載の非一時的コンピュータ可読記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書は、データ処理と、同じページ内の単一のスタイル定義を条件的に解釈することとに関する。
【背景技術】
【０００２】
ユーザは、パブリッシャ(たとえば、検索エンジン、ソーシャルメディアプラットフォーム、ニュースプラットフォーム、データアグリゲータプラットフォームなど)によって提供されるコンテンツページ上のコンテンツ(たとえば、ニュース、音楽、ソーシャルメディア)にアクセスすることができる。コンテンツページ上のコンテンツは、パブリッシャによって、またはサードパーティコンテンツを記憶する1つまたは複数のコンテンツソースによって提供され得る。このサードパーティコンテンツは、パブリッシャのコンテンツページ上のサードパーティコンテンツブロックにおいて提示するために提供される。パブリッシャは、コンテンツページに提示される自身のコンテンツのタイプおよび性質を統制することができるが、サードパーティコンテンツブロックにおいて提示するために提供されるサードパーティコンテンツのタイプおよび性質を統制することは一般にはできない。たとえば、アクセス制限により、サードパーティコンテンツブロックに提示されるサードパーティコンテンツをパブリッシャが修正できないことがある。
【発明の概要】
【課題を解決するための手段】
【０００３】
全般に、本明細書で説明される主題の1つの革新的な態様は、パブリッシャによって提供されるコンテンツページ上のサードパーティコンテンツブロックにサードパーティコンテンツを提示するための要求を受信する動作であって、サードパーティコンテンツがパブリッシャとは異なるエンティティによって提供される、動作と、コンテンツページから単一のスタイル識別子および1つまたは複数の属性を取得する動作と、要求を受信した後で、サードパーティコンテンツを記憶するコンテンツソースからサードパーティコンテンツ項目を選択する動作と、単一のスタイル識別子および1つまたは複数の属性を使用して、コンテンツページ上のそれぞれの複数のサードパーティコンテンツブロックに対する異なるスタイルを指定する複数の規則の中から、サードパーティコンテンツブロックに提示するために選択されるコンテンツに対して選択されるスタイルパラメータのセットを指定する第1の規則を特定する動作と、第1の規則において指定されるスタイルパラメータのセットに従ってサードパーティコンテンツ項目をフォーマットする動作と、コンテンツページのサードパーティコンテンツブロック内で提示するためにそのサードパーティコンテンツ項目を提供する動作とを含む方法において、具現化され得る。本態様の他の実施形態は、その方法の活動を実行するように構成される対応するシステム、デバイス、装置、およびコンピュータプログラムを含む。コンピュータプログラム(たとえば、命令)は、コンピュータ記憶デバイス上に符号化され得る。これらのおよび他の実施形態は各々、以下の特徴のうちの1つまたは複数を任意選択で含み得る。
【０００４】
いくつかの実装形態では、1つまたは複数の属性は、ユーザエージェント、ブラウザのスクリーンサイズ、サードパーティコンテンツブロックの名称、またはデバイスタイプを含み得る。
【０００５】
方法は、第1の規則において指定されるスタイルパラメータのセットを修正する動作を含むことができ、第1の規則において指定されるスタイルパラメータのセットに従ってサードパーティコンテンツ項目をフォーマットするステップは、単一のスタイル識別子の受信に応答して、第1の規則において指定されるスタイルパラメータの修正されたセットを使用してサードパーティコンテンツ項目をフォーマットするステップを含む。
【０００６】
方法は、サードパーティコンテンツブロック内に提示されたサードパーティコンテンツ項目に対するユーザ活動の量を決定する動作と、ユーザ活動の量に応答して、第1の規則において指定されるスタイルパラメータのセットを修正する動作と、単一のスタイル識別子の受信に応答して、第1の規則において指定されるスタイルパラメータの修正されたセットを使用してサードパーティコンテンツ項目をフォーマットする動作と、スタイルパラメータの修正されたセットを使用してサードパーティコンテンツ項目をフォーマットした後で、コンテンツページのサードパーティコンテンツブロック内で提示するためにそのサードパーティコンテンツ項目を提供する動作とを含み得る。
【０００７】
方法は、コンテンツページから、スタイルパラメータの1つまたは複数のセットを取得する動作であって、スタイルパラメータの各セットが、1つまたは複数のサードパーティコンテンツブロックにおいて提示するためにコンテンツがフォーマットされるべき方式を指定する、動作と、1つまたは複数のスタイルパラメータのうちのスタイルパラメータの各セットに対して、スタイルパラメータのセットを含む規則を生成する動作と、単一のスタイル識別子に対する規則として、各々の生成された規則を複数の規則とともに記憶する動作とを含み得る。
【０００８】
いくつかの実装形態では、第1の規則において指定されるスタイルパラメータのセットは、パブリッシャによって選択され得る。
【０００９】
いくつかの実装形態では、スタイルパラメータは少なくとも、サードパーティコンテンツに適用可能な、最大文字数、フォントの色、フォントタイプ、フォントサイズ、向き、または境界を含む。
【００１０】
いくつかの実装形態では、サードパーティコンテンツブロックは、コンテンツページに埋め込まれた埋め込み可能な表示要素を備える。
【００１１】
本明細書で説明される主題の特定の実施形態は、以下の利点のうちの1つまたは複数を実現するために実装され得る。たとえば、本明細書で説明される革新は、コンテンツページを修正することなくパブリッシャのコンテンツページ上の異なるサードパーティコンテンツブロックに対するスタイル(たとえば、フォーマッティング情報)を指定および/または修正する際の容易さおよび柔軟性を、パブリッシャに与える。従来は、パブリッシャは、パブリッシャによって提供されるコンテンツページのサードパーティコンテンツブロックにおけるコンテンツのスタイリング(すなわち、コンテンツが提示されるべき方式)を指定するために、コード(たとえば、JavaScript(登録商標)またはカスケーディングスタイルシート)を書かなければならなかった。パブリッシャがサードパーティコンテンツブロックに対するスタイルを変更したい場合、パブリッシャはそのブロックに対する対応するコードを書き直し、または修正しなければならない。本明細書で説明される革新を使用すると、パブリッシャは、コンテンツ管理システムに対して、ページ上のコードを修正することなく異なるサードパーティコンテンツブロックおよび/またはデバイスに対するスタイルを指定することができる。このコンテンツ管理システムは、パブリッシャによって選択されるこれらのスタイルを使用して、サードパーティコンテンツを自動的にフォーマットし、次いで、コンテンツページ上の適切なサードパーティコンテンツブロック内にこのフォーマットされたコンテンツを提示する。パブリッシャが1つまたは複数のサードパーティコンテンツブロックに対するスタイルを後で修正したい場合、従来の手法の場合のようにコンテンツページ上のコードを書き直すこと、または修正することは必要ではない。代わりに、本明細書で説明される革新は、コンテンツ管理システムによって維持されるスタイル情報をパブリッシャが修正することを可能にする。これにより、コンテンツ管理システムは、修正されたスタイル情報を使用して、コンテンツを後でフォーマットして適切なサードパーティコンテンツブロック内に提示する。
【００１２】
本明細書で説明される革新はまた、コーディングの知識がほとんどまたはまったくないパブリッシャのコンテンツページの運営者が、コンテンツページ上のサードパーティコンテンツブロックに対するスタイル情報を修正することを可能にする。本明細書で説明されるように、コンテンツ管理システムは、異なるタイプのスタイルパラメータ(たとえば、フォントサイズ、色、境界、向きなど)を記憶し、運営者がこれらの異なるスタイルパラメータに対する望ましい値を指定または選択することができるユーザ入力フィールド(たとえば、テキストボックス、ドロップダウンメニュー、チェックボックスなど)をフロントエンドインターフェースに提供する。運営者の選択を使用して、コンテンツ管理システムは、サードパーティコンテンツ項目をフォーマットするための適切なコードを生成し、このフォーマットされたコンテンツ項目をコンテンツページ上の適切なサードパーティコンテンツブロック内に提示することができる。
【００１３】
本明細書で説明される革新はさらに、単一のスタイル識別子を使用して異なるコンテンツブロックおよび/またはデバイスに対する複数の異なるスタイリング規則を指定することを可能にする。コンテンツページ内に単一のスタイル識別子を含む従来技術の手法は、このスタイル識別子をスタイルパラメータの単一のセットと関連付けるだけである。結果として、これらの従来技術の手法は、スタイルパラメータの同じセットを使用して、すべてのコンテンツブロックおよびデバイスにおいて提示するためのコンテンツを生成する。本明細書で説明される革新は、単一のスタイル識別子を利用するが、従来技術の手法とは異なり、このスタイル識別子は、異なるサードパーティコンテンツブロックおよびデバイスに対する異なるスタイルパラメータに対応する。このことは、異なるサードパーティコンテンツブロックに対して、および異なるデバイスにわたり、異なるスタイリング/フォーマッティングを提供する際の柔軟性を、パブリッシャに与える。たとえば、単一のスタイル識別子をコンテンツページへと埋め込むことができ、その単一のスタイル識別子は、コンテンツページの各提示の際に、コンテンツページのその特定の提示の文脈に応じてページに提示されるサードパーティコンテンツの外観を決定および/または修正するために、動的に解釈され得る。より具体的には、単一のスタイル識別子は、コンテンツページにおいて定義される各々の異なるサードパーティコンテンツブロックに提示されるコンテンツに対して使用される特定のスタイリングを条件的に選択するためにコンテンツページの提示の文脈が決定されて使用される、プロセスを開始する。このことは、従来のシステムと比較してより柔軟なスタイリング手法をもたらし、コンテンツページのパブリッシャが、提示されるサードパーティコンテンツにアクセスすることなく、コンテンツページ上でのサードパーティコンテンツの見え方を修正することを可能にする。
【００１４】
本明細書で説明される主題の1つまたは複数の実施形態の詳細は、添付の図面および以下の説明に記載される。本主題の他の特徴、態様、および利点は、説明、図面、および特許請求の範囲から明らかになるであろう。
【図面の簡単な説明】
【００１５】
【図１】コンテンツが提示のために分配される例示的な環境のブロック図である。
【図２】サードパーティコンテンツ項目をフォーマットしてパブリッシャのコンテンツページ上のサードパーティコンテンツブロックに提示するためにこれらの項目を提供する際に、コンテンツ管理システムによって実行される動作を示すブロック図である。
【図３】コンテンツが提示される文脈およびパブリッシャによって指定される規則に基づいて、サードパーティコンテンツ項目を異なるようにフォーマットするコンテンツ管理システムを示すブロック図である。
【図４】サードパーティコンテンツ項目をフォーマットしてパブリッシャのコンテンツページ上のサードパーティコンテンツブロックに提示するためにこれらの項目を提示するための、例示的なプロセスの流れ図である。
【図５】例示的なコンピュータシステムのブロック図である。
【発明を実施するための形態】
【００１６】
様々な図面における同様の参照番号および呼称は同様の要素を示す。
【００１７】
本明細書は、サードパーティコンテンツのスタイリングを可能にするシステムを改良することに関する。以下でより詳しく論じられるように、異なるスタイリング(またはフォーマッティング)を、コンテンツページのパブリッシャによって指定し、コンテンツページ内の異なるサードパーティコンテンツブロックに提示するために選択されるサードパーティコンテンツに適用することができる。
【００１８】
パブリッシャのコンテンツページは、サードパーティコンテンツが提示される1つまたは複数のサードパーティコンテンツブロックを含み得る。これらのサードパーティコンテンツブロックは一般に、コンテンツページがユーザに提示される時点で埋められるので、コンテンツページの各提示はサードパーティコンテンツの異なる組合せを含む可能性がある。以下でさらに、および本明細書全体において詳細に説明されるように、パブリッシャは、異なるサードパーティコンテンツブロックにおけるコンテンツの提示のために異なるスタイル規則を選択することができる。結果として、ユーザがパブリッシャのコンテンツページにアクセスするとき、これらのサードパーティコンテンツブロックに提示されるサードパーティコンテンツは、パブリッシャによって指定される規則およびコンテンツが提示される文脈に応じて、異なるようにフォーマットされる。本文書全体で使用される場合、コンテンツが提示される文脈は、コンテンツを提示しているデバイスのタイプ、どのサードパーティコンテンツブロックがコンテンツを提示するか、コンテンツが提示されている時刻、コンテンツを提示しているデバイスの地理的位置、コンテンツを提示されているユーザの属性、コンテンツを提示するために使用されているブラウザのタイプ、または他の適切な属性のうちの1つまたは複数を含む、種々の属性を使用して定義される。
【００１９】
コンテンツが提示される文脈は、サードパーティコンテンツに対する要求から収集された情報に基づいて決定され得る。以下でより詳しく説明されるように、ユーザがユーザデバイス上のパブリッシャのコンテンツページにアクセスするとき、コンテンツページ上のスクリプトが、サードパーティコンテンツブロックのためのサードパーティコンテンツに対する要求を実行して生成する。このスクリプトはまた、コンテンツページに含まれるスタイル識別子、ならびに1つまたは複数の属性(たとえば、デバイスタイプ、ユーザエージェントタイプ、スクリーンサイズなど)を収集することができる。スタイル識別子および1つまたは複数の属性は一般に、その要求とともに含まれる。ユーザデバイスは、この要求をコンテンツ管理システムに送信する。
【００２０】
要求を受信すると、コンテンツ管理システムは、サードパーティコンテンツを記憶する1つまたは複数のコンテンツソースから1つまたは複数のサードパーティコンテンツ項目を選択する。
【００２１】
コンテンツ管理システムはまた、サードパーティコンテンツ項目をフォーマットするための適切なスタイル規則を特定するために、特定のコンテンツページに対するスタイル規則を記憶するデータ構造を使用する。具体的には、このデータ構造は、異なるコンテンツページと関連付けられるスタイル識別子を含むことができ、各スタイル識別子に対して、データ構造は、パブリッシャによって選択される(またはコンテンツ管理システムによってデフォルトで提供される)1つまたは複数のスタイル規則と、スタイルパラメータの対応するセット(たとえば、フォントの色、フォントサイズ、向き、境界など)を含むことができる。このデータ構造から、コンテンツ管理システムは、ユーザ要求に含まれるスタイル識別子に対応するスタイル規則を特定する。スタイル識別子と関連付けられるこれらのスタイル規則の中から、コンテンツ管理システムは、ユーザデバイスから受信された要求に含まれる1つまたは複数の属性に基づいて、1つまたは複数のスタイル規則を特定する。たとえば、ユーザ要求の中の属性は、コンテンツページにおいて定義されるサードパーティコンテンツブロックの名称(たとえば、上側ブロックおよび下側ブロック)を含んでもよく、コンテンツ管理システムは、(以下でさらに説明されるように)同じまたは同様の名称をもつコンテンツブロックに適用するスタイル規則を見つけるためにこの情報を使用してもよい。
【００２２】
コンテンツ管理システムは、特定されたスタイル規則と関連付けられるスタイルパラメータを使用して選択されたサードパーティコンテンツ項目をフォーマットし、次いで、パブリッシャのコンテンツページ上で提示するためにこれらのフォーマットされたサードパーティコンテンツ項目を提供する。上の例では、コンテンツ管理システムは、スタイルパラメータのあるセットを使用してフォーマットされる上側ブロックに対する埋め込み可能な表示要素(以下でさらに説明されるような)と、スタイルパラメータの別個のセットを使用する下側ブロックに対する別個の埋め込み可能な表示要素とを提供し得る。したがって、異なるスタイル定義が異なるサードパーティコンテンツブロックの各々に対するコンテンツページへと埋め込まれることを必要とするのではなく、提示のために選択されたコンテンツを提示するサードパーティコンテンツブロックに応じて、異なるタイプのスタイル/フォーマッティングを適用するために、ページに埋め込まれる単一のスタイル識別子を使用することができる。
【００２３】
これらの特徴および追加の特徴が、図1から図4を参照して以下でより詳しく説明される。簡潔にするために、サードパーティコンテンツブロックはコンテンツブロックとも呼ばれる。
【００２４】
図1は、コンテンツが提示のために分配される例示的な環境100のブロック図である。例示的な環境100は、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、インターネット、またはこれらの組合せなどの、ネットワーク108を含む。ネットワーク108は、ユーザデバイス102、コンテンツソース104、パブリッシャ106、およびコンテンツ管理システム110を接続する。例示的な環境100は、多くの異なるユーザデバイス102、コンテンツソース104、パブリッシャ106、およびコンテンツ管理システム110を含み得る。
【００２５】
ユーザデバイス102は、ネットワーク108を介してコンテンツを要求して受信することが可能な電子デバイスである。例示的なユーザデバイス102は、パーソナルコンピュータ、モバイル通信デバイス、デジタルアシスタントデバイス、および、ネットワーク108を介してデータを送信して受信することができる他のデバイスを含む。ユーザデバイス102は通常、ネットワーク108を介したデータの送信および受信を支援するための、ウェブブラウザなどのユーザアプリケーションを含むが、ユーザデバイス102によって実行されるネイティブアプリケーションも、ネットワーク108を介したコンテンツの送信および受信を支援することができる。本明細書で使用される場合、コンテンツとは、記事、ディスカッションスレッド、報告、分析、財務諸表、音楽、ビデオ、グラフィクス、検索結果、ウェブページの一覧、情報フィード(たとえば、RSSフィード)、テレビ放送、ラジオ放送、印刷された出版物などの、様々なタイプのウェブベースの情報および/または別様に提示される情報を指す。
【００２６】
パブリッシャ106は、ネットワーク108を介して、たとえばユーザデバイス102によってアクセスされ得る1つまたは複数のコンテンツページを提供することによってコンテンツを分配する、コンピューティングプラットフォームである。例示的なパブリッシャ106は、ニュースウェブサイト、コンテンツウェブサイト、ソーシャルメディアプラットフォーム、データアグリゲータプラットフォーム、または他のコンテンツ共有プラットフォームを含む。各パブリッシャ106は、コンテンツ発行サービスプロバイダによって運営され得る。
【００２７】
パブリッシャ106は、自身のコンテンツをそのコンテンツページ上で発表することができる。たとえば、パブリッシャ106は、自身のニュース記事を発表するニュースプラットフォームであり得る。パブリッシャ106はまた、そのコンテンツページ上で、コンテンツ管理システム(CMS)110によって提供されるサードパーティコンテンツを提示してもよく、CMS110は次いで、1つまたは複数のコンテンツソース104からこのコンテンツを取得する。本明細書で使用される場合、サードパーティコンテンツとは、サードパーティ、すなわちパブリッシャ106以外のエンティティによって提供されるコンテンツを指す。
【００２８】
CMS110は、様々なサービスをパブリッシャ106およびコンテンツソース104に提供する1つまたは複数のバックエンドサーバを含み得る、コンピューティングプラットフォームである。CMS110は、サーバに記憶されておりプログラムによって取り出されるコンテンツと他のタイプの資料の両方を、記憶し、管理し、かつ/または提供する。CMS110は、1つまたは複数のフロントエンドインターフェースを通じて、これらのサービスをパブリッシャ106およびコンテンツソース104に対して利用可能にし得る。いくつかの例では、フロントエンドインターフェースは、CMS110によって提供される機能へのアクセスをユーザに提供するウェブアプリケーションとして構成され得る。
【００２９】
CMS110は、ユーザデバイス102から受信されたコンテンツ要求に応答して、サードパーティコンテンツを選択する。いくつかの実装形態では、ユーザデバイス102のユーザがパブリッシャ106によって提供されるコンテンツページにアクセスすると、CMS110にサードパーティコンテンツを要求する、コンテンツページ上のスクリプトが実行し得る。いくつかの実装形態では、ユーザデバイス102のユーザは、たとえば、パブリッシャ106のコンテンツページ上で検索エンジンによって提供される検索ボックスを使用して、サードパーティコンテンツを要求し得る。
【００３０】
ユーザデバイス102からサードパーティコンテンツに対する要求を受信すると、CMS110はこの要求に応答してコンテンツを選択する。いくつかの実装形態では、CMS110は、パブリッシャ106のコンテンツページ上のコンテンツに基づいて、関連するサードパーティコンテンツを特定する。たとえば、CMS110は、たとえばユーザデバイス102から、コンテンツページのURL(uniform resource locator)を受信し、URLと関連付けられるインデクシングされたコンテンツキーワードを特定することができる。CMS110は、インデクシングされたコンテンツキーワードをリストに対して相互参照することができ、このリストは、コンテンツソース104に記憶されたコンテンツと、リスト上の各コンテンツ項目と関連付けられるキーワードとを含む。別の例として、CMS110は、1つまたは複数のコンテンツソース104によって記憶されているサードパーティコンテンツを特定するために、コンテンツページの中のコンテンツキーワードおよび/または他のコンテンツを使用し得る。CMS110は、パブリッシャ106のコンテンツページの中のコンテンツキーワードを、CMS110によって維持されるリスト/インデックスに記憶されているサードパーティコンテンツと関連付けられるキーワードと照合することによって、コンテンツを特定する。さらに別の例として、ユーザデバイス102から受信されるサードパーティコンテンツ要求は、たとえば、1つまたは複数のコンテンツソース104によって記憶されている適切なコンテンツを特定するためにCMS110が上で参照されたリストに対して相互参照することができるいくつかのキーワードを提供することによって、サードパーティコンテンツのタイプを具体的に特定し得る。
【００３１】
CMS110が適切なサードパーティコンテンツ項目を特定すると、CMS110は、これらのコンテンツ項目が記憶される適切なコンテンツソース104にこのコンテンツを要求する。それに応答して、コンテンツソース104は、1つまたは複数のサードパーティコンテンツ項目を提供する。図1に示されるように、CMS110はコンテンツソース104とは別個である。
【００３２】
図2を参照してさらに説明されるように、コンテンツソース104からこれらのサードパーティコンテンツ項目を受信すると、CMS110は、スタイルパラメータの1つまたは複数のセットを使用して、これらのコンテンツ項目の各々をフォーマットすることができる。
【００３３】
図1に示されるように、コンテンツソース104はCMS110とは別個のデータ処理装置であってもよく、各々が異なるエンティティによって管理/維持されてもよい。他の実装形態では、CMS110は、すべてが同じエンティティによって管理/維持され得る、1つまたは複数のコンテンツソース104を含み得る。そのような実装形態では、CMS110が適切なサードパーティコンテンツ項目を選択すると、CMS110は、(ネットワーク108を介して別個のコンテンツソース104からのコンテンツを要求しなければならないのではなく)自身のコンテンツソース104からこれらのサードパーティコンテンツ項目を取り出す。
【００３４】
いくつかの実装形態では、CMS110は、サードパーティコンテンツと、サードパーティコンテンツに適用されるべきスタイルパラメータとを特定し、次いで、この情報をユーザデバイス102に伝える応答をユーザデバイス102に単に送信することができる。たとえば、CMS110は、特定されたサードパーティコンテンツを得ることができる1つまたは複数のURLと、各サードパーティコンテンツに適用されるべきスタイルパラメータを特定する情報とを含む、コンテンツ要求への返答を生成することができる。ユーザデバイス102がこの返答を受信すると、ユーザデバイス102は、1つまたは複数のURLから特定されたサードパーティコンテンツを得るための要求を開始し、指示通りにスタイルパラメータをコンテンツブロックに適用することができる。以下の説明は、CMS110がスタイルパラメータに従ってフォーマッティングを実行することに言及するが、このフォーマッティングはユーザデバイス102において実行されてもよいことを理解されたい。
【００３５】
図2は、サードパーティコンテンツ項目をフォーマットしてパブリッシャのコンテンツページ上のサードパーティコンテンツブロックに提示するためにこれらの項目を提供する際に、コンテンツ管理システム110によって実行される動作を示すブロック図である。
【００３６】
図2に示されるように、ユーザデバイス102のユーザは、ネットワーク108を介して、パブリッシャ106によって提供されるコンテンツページ220にアクセスする。コンテンツページ220は、パブリッシャコンテンツブロック222-Aおよび222-Bに提示される、パブリッシャ106によって提供されるコンテンツ、ならびに、サードパーティコンテンツブロック224-Aおよび224-Bに提示される、サードパーティコンテンツを含む。
【００３７】
いくつかの実装形態では、サードパーティコンテンツブロック224-Aおよび224-Bの中のコンテンツは、HTML(ハイパーテキストマークアップ言語)I-Frame(インラインフレーム)などの、埋め込み可能な表示要素を使用して提供され得る。本明細書で使用される場合、埋め込み可能な表示要素とは、たとえば、外部ソース(たとえば、コンテンツソース104)からのサードパーティコンテンツがある位置(たとえば、パブリッシャ106のコンテンツページ220)に表示されることを可能にする、その位置に埋め込まれ得る任意の要素を指す。以下で説明されるように、CMS110は、埋め込み可能な表示要素を使用して、コンテンツページ220上でパブリッシャのコンテンツとともに表示するためにサードパーティコンテンツを提供することができる。
【００３８】
サードパーティコンテンツブロック224-Aおよび224-B内で提示されるサードパーティコンテンツは、ニュース、ビデオ、オーディオ、広告などを含む、任意のタイプのメディアを含み得る。これらのサードパーティコンテンツブロック224-Aおよび224-Bにおいて提示されるコンテンツは、サードパーティ(すなわち、パブリッシャ106以外のエンティティ)によって提供され、パブリッシャ106には、これらのブロックにおいて提示されるコンテンツのタイプに対する統制力がない。しかしながら、以下で説明されるように、パブリッシャ106は、これらのブロック内のサードパーティコンテンツのスタイリング/フォーマッティングを統制することができる。
【００３９】
いくつかの実装形態では、ユーザがユーザデバイス102上でコンテンツページ220にアクセスすると、コンテンツページ220上のスクリプトが、サードパーティコンテンツブロック224-Aおよび224-Bのためのサードパーティコンテンツに対する要求202を生成する。要求202を、ユーザデバイス102は送信し、CMS110は受信する。
【００４０】
いくつかの実装形態では、スクリプトは、スタイル識別子226と、コンテンツページ220および/またはユーザデバイス102の1つまたは複数の属性とを特定し、この情報を要求202とともに含む。いくつかの実装形態では、スクリプトは、コンテンツページ220内に、たとえばコンテンツページ220のメタデータの中に含まれるスタイル識別子226を収集する。いくつかの実装形態では、スクリプトはまた、コンテンツページ、コンテンツページを提示するアプリケーション(たとえば、ブラウザ)、または環境の他の態様(たとえば、IPアドレスなどの、要求のネットワーク接続から収集されるデータ)から、1つまたは複数の属性(本明細書では信号とも呼ばれる)を特定する。本明細書で使用される場合、属性または信号は、ユーザ環境および/またはアプリケーション上でのユーザ活動についての情報を提供する。たとえば、スクリプトは、ユーザエージェントまたはアプリケーション(たとえば、ブラウザ、ネイティブアプリケーション)、スクリーンサイズ、サードパーティコンテンツコンテナまたはブロック(たとえば、サードパーティコンテンツを提示するためのページの構造において特定されたページの部分)、デバイスのタイプ(たとえば、モバイルまたはデスクトップ)、およびジオロケーション情報(たとえば、IPアドレス、言語設定など)などの属性を収集することができる。
【００４１】
スクリプトは、スタイル識別子および特定された属性を要求202とともに含み、これらの各々は、要求内で別個のタグとして含まれ得る。たとえば、スタイル識別子が、要求に含まれる「スタイルID」タグ内に含まれてもよく、サードパーティ名称が、要求に含まれる「サードパーティブロック」タグ内に含まれてもよい。
【００４２】
いくつかの実装形態では、要求202を受信すると、CMS110は、要求202内に含まれるスタイル識別子および1つまたは複数の属性を取得する。CMS110は、要求内でこの情報に対応するタグを探し、要求から情報を抽出することによって、この情報を取得する。たとえば、スタイル識別子が「スタイルID」タグを使用して要求202とともに含まれる場合、CMS110は、対応するスタイル識別子を取得するために、要求202内で「スタイルID」タグを探す。同様に、要求202が「サードパーティブロック」タグ内にサードパーティ名称を含む場合、CMS110は、対応するサードパーティブロック名称を特定するために、要求202内でこのタグを探すことができる。
【００４３】
代わりに、いくつかの実装形態では、スクリプトは、スタイル識別子および1つまたは複数の属性を収集せず、またはそれらを要求202の中に含まない。そのような実装形態では、要求202を受信すると、CMS110は、スタイル識別子および1つまたは複数の属性を提供するために、別の要求をユーザデバイス102に送信し得る。それに応答して、同じスクリプトまたは別のスクリプトが、この情報を(上で説明されたのと同じ方式で)収集し、それを別個のメッセージにおいてCMS110に提供する。
【００４４】
要求202(およびいくつかの事例では、スタイル識別子および1つまたは複数の属性を含む追加のメッセージ)を受信すると、図1を参照して上で説明されたように、CMS110は、この要求に応答して提供すべき適切なサードパーティコンテンツ項目を選択する。したがって、図1を参照して上で説明されたように、CMS110は、適切なサードパーティコンテンツを特定し、コンテンツが記憶されている1つまたは複数のコンテンツソース104に1つまたは複数のコンテンツ要求204を送信することによってこのコンテンツを要求することができる。それに応答して、これらのコンテンツソース104は、要求されたサードパーティコンテンツ項目をCMS110に提供する。代わりに、かつ図1を参照して上で説明されたように、CMS110は、CMS110内に含まれる1つまたは複数のコンテンツソース104からこのコンテンツを取り出す。
【００４５】
コンテンツソース104から適切なサードパーティコンテンツ項目を取り出すことに加えて、以下でさらに説明されるように、CMS110はまた、各コンテンツ項目のためのフォーマッティングを指定するスタイルパラメータのセットを特定する。
【００４６】
CMS110は、スタイル識別子と、異なる条件のためのスタイルパラメータのセットを含む対応する規則とを記憶する、データ構造208を含む。データ構造208に示されるように、スタイルID10は、モバイル、上側ブロック、および下側ブロックという3つの規則を含む。本明細書で使用される場合、スタイル識別子またはスタイルIDは、コンテンツをどのようにフォーマットするかを指定する規則のセットを特定するために使用される、コンテンツページに存在する識別子である。スタイル識別子は、たとえば、数字、アルファベット、および/または句読点を使用して表され得る。特定のスタイル識別子に対する各規則は、スタイルパラメータのセット(たとえば、1つまたは複数)を含む。本明細書で使用される場合、スタイルパラメータは、コンテンツページ上のコンテンツに対する特定のタイプのフォーマッティングを記述するフォーマッティング特性である。スタイルパラメータの例は、とりわけ、サイズ(たとえば、最大文字数)、形状、色、フォント、境界、および提示スタイル(たとえば、オーディオ、ビデオ、グラフィック、テキストなど)を含む。データ構造208に示されるように、スタイルID10と関連付けられる規則の各々は、フォントの色、フォントタイプ、フォントサイズ、向き、および境界などの、スタイルパラメータのセットを含む。
【００４７】
各スタイル識別子に対して、パブリッシャ106は、CMS110のパブリッシャ固有のフロントエンドインターフェースを使用して、規則および対応するスタイルパラメータを選択することができる。コンテンツ管理システムは、異なるタイプのスタイルパラメータ(たとえば、フォントサイズ、フォントタイプ、フォントの色、境界、向きなど)を記憶し、フロントエンドインターフェースにユーザ入力フィールド(たとえば、テキストボックス、ドロップダウンメニュー、チェックボックスなど)を提供し、ユーザ入力フィールドにおいて、パブリッシャサービスプロバイダまたは別の運営者が、これらの異なるスタイルパラメータに対する望ましい値を指定または選択することができる。運営者の選択を使用して、コンテンツ管理システムは、サードパーティコンテンツ項目をフォーマットして、コンテンツページ上の適切なサードパーティコンテンツブロック内にこのフォーマットされたコンテンツ項目を提示するために、適切なコード、たとえば、JavaScript(登録商標)、HTML、JSON、CSS、または他の等価なウェブまたはアプリケーション技術を生成することができる。同様に、コンテンツ管理システム110はまた、異なるデスクトップデバイスおよびモバイルデバイス上で動作するアプリケーション内での提示のためにサードパーティコンテンツをフォーマットするために、適切なコードを生成することができ、これはウェブ技術とは異なる。
【００４８】
いくつかの実装形態では、パブリッシャによって指定される規則は、スタイルパラメータの1つまたは複数の箇所の適用のための条件として機能する。たとえば、パブリッシャ106の運営者は、フロントエンドインターフェースを使用して、モバイルデバイス上のコンテンツをフォーマットするためのスタイルパラメータを指定する規則を生成することができる。この例では、この規則内で指定されるいずれのスタイリングパラメータも、コンテンツがモバイルデバイス上で提示されることになることをコンテンツ提示の文脈(たとえば、ユーザデバイスから受信される要求において指定されるような)が示すときにのみ、適用される。
【００４９】
規則の条件が満たされない場合、その規則のスタイルパラメータは適用されない。上の例について続けると、コンテンツを提示するデバイスタイプがモバイルデバイスではなくデスクトップであることを要求が指定した場合、モバイルデバイスの規則のために指定されるスタイルパラメータは適用されない。しかしながら、スタイル識別子が、デバイスタイプが「デスクトップ」であることを条件とするスタイルパラメータの異なるセットも含む場合、そのスタイルパラメータの異なるセットは、選択されたサードパーティコンテンツをフォーマットするのに適格である。
【００５０】
各デバイスタイプ(または他の文脈条件)のスタイリング定義内で、パブリッシャ106はまた、フロントエンドインターフェースを使用して、コンテンツページの各サードパーティコンテンツブロックに対する別々のフォーマッティング規則を生成することができる。たとえば、コンテンツページが、「下側ブロック」および「上側ブロック」としてページ構造において特定される2つのコンテンツブロックを含む場合、パブリッシャは、各ブロックに対する別々の規則を作成することができる。これらの生成された規則は次いで、CMS110によって維持されるデータ構造208に記憶され得る。このようにして、パブリッシャ106は、これらのコンテンツブロックの各々に対する異なるフォーマッティングを指定することができる。
【００５１】
いくつかの実装形態では、各コンテンツブロックは、各デバイスタイプに対して定義されるスタイルパラメータの異なるセット、またはサードパーティコンテンツのスタイリングがそれに対して条件付けられる任意の他の条件的な属性を有し得る。たとえば、上で論じられた「下側ブロック」は、デバイスタイプが「モバイル」であるときに使用するために定義されるスタイルパラメータのあるセットと、デバイスタイプが「デスクトップ」であるときに使用するために定義されるスタイルパラメータの完全に異なる(または部分的に修正された)セットとを有し得る。同様に、スタイルパラメータは、地理的領域ごとに、時刻ごとに、ユーザタイプごとに、または任意の他の文脈に基づいて、異なるように定義され得る。実際には、デバイスタイプおよび地理的領域などの複数の異なる条件を、スタイリングパラメータの特定のセットの適用を条件付けるために使用することができるので、パブリッシャ106は、コンテンツ提示の文脈に応じて適用され得る、条件的なスタイリングパラメータの多くの異なるセットを作成することができる。さらに、これらの異なる条件的なスタイリングパラメータのすべてを、ページに含まれた単一のスタイル識別子を使用して適用することができ、条件的なスタイリングパラメータは、コンテンツページのコードを変更することなくサードパーティコンテンツのフォーマッティングを調整するためにいつでも変更され得る。
【００５２】
いくつかの実装形態では、CMS110は、デフォルトの規則および対応するスタイルパラメータの固有のセットを含み得る。パブリッシャ106は、CMS110のフロントエンドインターフェースを使用して、これらの規則を使用し、修正し、それに追加し、かつ/または削除することができる。
【００５３】
上で説明されたように、CMS110は、スタイル識別子および1つまたは複数の属性を要求202とともに受信する。CMS110は、データ構造208から適切な規則および対応するスタイルパラメータを特定するために、スタイル識別子および1つまたは複数の属性を使用する。CMS110はまず、スタイル識別子を使用して、パブリッシャ106によって提供される特定のコンテンツページに対する規則のセットを特定する。たとえば、要求202がスタイルID10を含んでいた場合、CMS110は、データ構造208においてこのスタイル識別子を探す。データ構造208においてスタイルID10に対する一致を発見すると、CMS110は、データ構造208において示されるこのスタイル識別子に対する3つの規則(モバイル、上側ブロック、下側ブロック)を特定する。
【００５４】
これらの規則から、CMS110は、要求202に含まれる1つまたは複数の属性を使用して、1つまたは複数の規則を特定する。いくつかの実装形態では、CMS110は、規則の名称と1つまたは複数の属性との一致を探すことによって規則を特定する。たとえば、ページ構造から取られる属性のうちの1つは、サードパーティコンテンツブロックの名称であってもよく、これはこの例では上側ブロックである。CMS110は、特定された規則の中から「上側ブロック」を探して特定する。いくつかの実装形態では、CMS110は、推測を行うために単一の属性または属性の組合せを使用することができ、これらは次いで特定された規則と比較され得る。CMS110は、1つまたは複数の属性を使用してこれらのタイプの推測を導くことができる、規則ベースのエンジンを含み得る。代わりに、CMS110は、たとえば、1つまたは複数の属性の複数のセットに対する推測のセットを使用して訓練された教師ありまたは教師なし機械学習モデルなどの、人工知能技法を使用してそのような推測を行うことができる。たとえば、CMS110は、規則ベースの技法または機械学習技法のいずれかを使用して、特定のブラウザを使用している5インチのスクリーンはユーザデバイス102がモバイルデバイスであることを示唆していると決定することができる。CMS110は、データ構造208の中のスタイルID10に対する規則の中から、「モバイル」を探して特定する。
【００５５】
CMS110は、各々の特定された規則と関連付けられるスタイルパラメータのセットを取得し、受信されたサードパーティコンテンツ項目をフォーマットするためにこれらのスタイルパラメータを使用する。たとえば、特定された規則が下側ブロックである場合、CMS110は、(データ構造208の中の)この規則に対応するスタイルパラメータのセットを使用して、このデータをフォーマットする。したがって、この例では、CMS110は、フォントのサイズが12であり、コンテンツブロックの境界が赤色であり、横向きになるようにサードパーティコンテンツ項目をフォーマットする。上で論じられたように、CMS110はまた、ユーザデバイス102に適切なスタイルパラメータに従ってサードパーティコンテンツをフォーマットさせる命令をユーザデバイス102に送信することができる。
【００５６】
CMS110は次いで、コンテンツページ220の適切なサードパーティコンテンツブロック224-Aおよび224-Bにおいて提示するために、このフォーマットされたコンテンツを提供する。いくつかの実装形態では、CMS110は、埋め込み可能な表示要素として、フォーマットされたコンテンツをユーザデバイス102に提供する。たとえば、CMS110が、(データ構造208の中の)下側ブロックの規則に対応するスタイルパラメータを使用して、受信されたサードパーティコンテンツをフォーマットする場合、CMS110は次いで、コンテンツページ220上の下側ブロックに対応する位置に埋め込み可能な表示要素として提示するために、フォーマットされたサードパーティコンテンツ項目210を提供する。
【００５７】
いくつかの実装形態では、パブリッシャ106は、既存の規則に対応するスタイルパラメータのセットを変更することができる。たとえば、データ構造208における上側ブロックの規則に対して、パブリッシャ106は、CMS110のためのフロントエンドインターフェースを使用して、フォントサイズを8から12に修正することができる。結果として、ユーザがその後でコンテンツページ220にアクセスするとき、CMS110は、上側ブロックの規則に対応する、サードパーティコンテンツブロック224-Bに対する埋め込み可能な表示要素に、更新された規則に従ってフォーマットされたコンテンツを提供する。
【００５８】
いくつかの実装形態では、CMS110は、コンテンツページ220上の特定のサードパーティコンテンツブロックに関するユーザ活動をパブリッシャ106が監視することを可能にする、フロントエンドインターフェースを提供する。本明細書で使用される場合、ユーザ活動とは、ユーザとサードパーティコンテンツブロックとの間のあらゆる対話を指す。ユーザ活動の例は、サードパーティコンテンツブロックへのユーザのクリックまたは指のタッチ、およびサードパーティコンテンツブロックの視聴回数を含む。ユーザ活動に応答して、パブリッシャ106は、(上で説明されたように)特定のサードパーティコンテンツブロックに対応する規則に対するスタイルパラメータのセットを修正することができる。たとえば、パブリッシャ106が期待するほどにはユーザ活動が多くない場合、パブリッシャ106は、スタイルパラメータの変更がユーザ活動に影響するかどうかを評価するために、スタイルパラメータを変更し得る。したがって、ユーザがその後でコンテンツページ220にアクセスするとき、CMS110は、更新されたスタイルパラメータに従ってサードパーティコンテンツをフォーマットし、次いで、ユーザデバイス102に提供される特定のサードパーティコンテンツブロックに対応する埋め込み可能な表示要素にこのフォーマットされたコンテンツを提示する。このようにして、パブリッシャ106は、特定のコンテンツブロックに対するスタイルを迅速に修正し、そのような修正に基づくユーザ活動への影響を見分けることができる。これにより、パブリッシャは、そのブロックに対するユーザ活動を最大化するようにコンテンツブロックのスタイリングを適合させることが可能になる。
【００５９】
いくつかの実装形態では、本明細書で説明されるように、CMS110は、レガシーコンテンツページ内で指定されるスタイルパラメータの、CMS110によって記憶されている規則および対応するスタイルパラメータへの移行を支援することができる。従来は、コンテンツページは、たとえば様々なスタイルパラメータ(たとえば、サイズ、フォント、色、広告の数、表示フォーマットなど)を反映するJavaScript(登録商標)パラメータとして、これらのページのためのコード内に含まれる1つまたは複数のスタイルを含む。そのようなページに対して、CMS110はページ内のこの埋め込まれたコードを要求し、これは、このコンテンツページ上で実行されるスクリプトから収集されてCMS110に提供される。CMS110は、このコードを解析して、スタイルパラメータと、スタイルパラメータの各セットが関係する対応するサードパーティコンテンツブロックとを、コードにおいて特定する。たとえば、CMS110は、要求202とともに提供され得るこれらのブロックの名称を探すことによって、特定のサードパーティコンテンツブロックに対応するコードの部分を特定し得る。特定のコンテンツブロックに対応するコードの各断片に対して、CMS110は、異なる既知のスタイルパラメータ(たとえば、フォント、色、サイズ、テーブルなど)に対応するタグをコードにおいて探す。CMS110は、特定のコンテンツブロックと関連付けられるスタイルパラメータの各セットに対して別々の規則を生成する。CMS110は、これらの別々の規則の各々およびスタイルパラメータの対応するセットを、コンテンツページ220に対するスタイル識別子とともに記憶する。
【００６０】
コンテンツページに対するスタイル識別子はすでにコンテンツページに存在していることがあり、その場合、(上で説明されたように)そのスタイル識別子はコードとともにCMS110に提供され得る。いくつかの事例では、レガシーコンテンツページはスタイル識別子を含まないことがある。そのような事例では、CMS110は、コンテンツページに対するスタイル識別子を生成し、次いで、コンテンツページとともに含めるために、このスタイル識別子をコンテンツページのパブリッシャ106に提供する。
【００６１】
図3は、コンテンツが提示される文脈およびパブリッシャによって指定される規則に基づいて、CMS110がサードパーティコンテンツ項目を異なるようにフォーマットすることを示すブロック図である。
【００６２】
図3に示されるように、CMS110は、デスクトップ302およびモバイル304などの、異なるタイプのユーザデバイス102から(図2を参照して上で説明された要求202と同様の)サードパーティコンテンツに対する要求を受信することができる。コンテンツに対する各要求は、これらのそれぞれのデバイスのユーザがコンテンツページ306、たとえば同じコンテンツページにアクセスするときに生成される。
【００６３】
各要求はまた、デバイスのユーザがアクセスしているコンテンツページのスタイル識別子、ならびに、要求されたサードパーティコンテンツが提示されるべき文脈を定義する属性(図2を参照して上で説明されたような)を含む。図3の例示的なブロック図において、デスクトップ302からの要求は10というスタイル識別子を含む。デスクトップ302からの要求はまた、たとえば、ユーザがデスクトップデバイスを使用していることを指定するデバイスタイプ属性、およびページ上のコンテンツブロックの名称を指定するサードパーティコンテンツブロック名称(CB1、CB2、CB3)などの、属性を含む。同様に、モバイルデバイス304からの要求は、10というスタイル識別子、すなわち、デスクトップ302からの要求において受信されたのと同じスタイル識別子を含む。モバイルデバイス304からの要求はまた、たとえば、ユーザがモバイルデバイスを使用していることを指定するデバイスタイプ属性、およびページ上のコンテンツブロックの名称を指定するサードパーティコンテンツブロック名称(CB1、CB2、CB3)などの、属性を含む。
【００６４】
図2を参照して上で説明されたように、CMS110は、これらの要求に応答してコンテンツソース104からサードパーティコンテンツを選択する。
【００６５】
CMS110は次に、コンテンツページ上のサードパーティコンテンツブロックに提示されるべき選択されたサードパーティコンテンツに対する適切なフォーマッティングを決定する。適切なスタイル規則およびそれらの対応するスタイルパラメータが選択される方式は、図2を参照して詳しく説明されている。簡潔にするために、これらの動作の概要版のみが以下で説明される。
【００６６】
図3の例示的なブロック図では、CMS110は、各要求に含まれる10というスタイル識別子を使用して、コンテンツページ306に対してパブリッシャ106によって指定されたデータ構造308から2つの規則、すなわちモバイルおよびデスクトップを特定する。次いで、要求に含まれるサードパーティコンテンツブロック名称を指定する属性を使用して、CMS110は、データ構造308を使用して、適切な規則および対応するスタイルパラメータを特定する。
【００６７】
デスクトップ302からの要求に関して、デバイスタイプ属性はデスクトップであり、したがって、CMS110はデータ構造308に示されるデスクトップスタイル規則を選択する。より具体的には、CMS110は、どの規則が要求に適用可能かを決定するために、要求の中のデバイスタイプ属性を各規則条件と比較することができる。本例では、デスクトップ302からの要求は、デバイスタイプが「デスクトップ」であることを指定するので、この要求におけるデバイスタイプは、デバイスタイプ=デスクトップであることを要求するデスクトップ規則に対する条件を満たすが、デバイスタイプ=モバイルであることを要求するモバイル規則に対する条件を満たさない。
【００６８】
CMS110はまた、サードパーティコンテンツブロックの名称を指定する属性を使用して、これらのブロックに対応する規則を特定し、適用される具体的なスタイリングパラメータを決定する。要求に含まれるサードパーティコンテンツブロックの名称を使用して、CMS110は、CB1およびCB2に対する具体的なスタイル規則を特定し、これらはそれぞれ、サードパーティコンテンツブロックCB1およびCB2に対するスタイルパラメータを指定する。CMS110は、規則CB1に対するスタイルパラメータ(Param1、Param2、およびParam3)を使用して、サードパーティコンテンツブロックCB1に提示されるべきサードパーティコンテンツをフォーマットする。同様に、CMS110は、規則CB2に対するスタイルパラメータ(Param3、Param4、およびParam5)を使用して、サードパーティコンテンツブロックCB2に提示されるべきサードパーティコンテンツをフォーマットする。デスクトップに対する規則のいずれもがサードパーティコンテンツブロックCB3に対するどのようなスタイル規則も含まないので、CMS110は、パブリッシャ106によって指定され得るデフォルトのスタイルパラメータを使用して、このブロック内のコンテンツをフォーマットすることができる。いくつかの実装形態では、デフォルトのスタイルパラメータはヌルパラメータであってもよく、その場合、(図3に示されるように)CMS110はCB3ブロックを提示しない。代わりに、デフォルトのスタイルパラメータは、標準のスタイルパラメータのセットを含むことができ、その場合、CMS110は、これらのスタイルパラメータを使用してサードパーティコンテンツブロックCB3の中のサードパーティコンテンツをフォーマットし、次いで、コンテンツページ306上のフォーマットされたサードパーティコンテンツとともにこのブロックを提示することができる。
【００６９】
モバイル304からの要求に関して、デバイスタイプ属性はモバイルであり、したがって、CMS110は、「モバイル」というデバイスタイプが要求において指定されていることと、モバイルスタイル規則に対する条件がデバイスタイプ=モバイルであることを要求することとの一致に基づいて、データ構造308に示されるモバイルスタイル規則を選択する。CMS110はまた、これらのブロックに対応する規則を特定するために、サードパーティコンテンツブロックの名称を指定する属性を使用する。要求に含まれるサードパーティコンテンツブロックの名称を使用して、CMS110は規則CB3を特定し、これはサードパーティコンテンツブロックCB3に対するスタイルパラメータを指定する。CMS110は、規則CB3に対するスタイルパラメータ(Param6、Param7)を使用して、サードパーティコンテンツブロックCB3に提示されるべきサードパーティコンテンツをフォーマットする。モバイルに対する規則のいずれもが、サードパーティコンテンツブロックCB1およびCB2に対するどのようなスタイル規則も含まないので、CMS110は、パブリッシャ106によって指定され得るデフォルトのスタイルパラメータを使用して、これらのサードパーティコンテンツブロック内のコンテンツをフォーマットすることができる。いくつかの実装形態では、デフォルトのスタイルパラメータはヌルパラメータであってもよく、その場合、(図3に示されるように)CMS110はサードパーティコンテンツブロックCB1およびCB2を提示しない。代わりに、デフォルトのスタイルパラメータは、標準のスタイルパラメータのセットを含むことができ、その場合、CMS110は、これらのスタイルパラメータを使用してサードパーティコンテンツブロックCB1およびCB2の中のサードパーティコンテンツをフォーマットし、次いで、コンテンツページ306上のフォーマットされたサードパーティコンテンツとともにこれらのブロックを提示することができる。
【００７０】
図2を参照して上で説明されたように、CMS110は次いで、要求の発信元のそれぞれのデバイス(デスクトップ302およびモバイル304)上の適切なサードパーティコンテンツブロック内で提示するために、これらのフォーマットされたサードパーティコンテンツ項目を提供する。
【００７１】
図4は、サードパーティコンテンツ項目をフォーマットし、パブリッシャのコンテンツページ上のサードパーティコンテンツブロックにおいて提示するためにこれらの項目を提示するための、例示的なプロセス400の流れ図である。プロセス400の動作は、図1〜図3において説明され図示されているシステムの構成要素によって実行されるものとして、以下で説明される。プロセス400の動作は、例示のみを目的に以下で説明される。プロセス400の動作は、任意の適切なデバイスまたはシステム、たとえば、任意の適切なデータ処理装置によって実行され得る。プロセス400の動作はまた、非一時的コンピュータ可読媒体に記憶される命令として実施され得る。命令の実行は、1つまたは複数のデータ処理装置にプロセス400の動作を実行させる。
【００７２】
CMS110は、(402において)パブリッシャ106によって提供されるコンテンツページ上のサードパーティコンテンツブロックにサードパーティコンテンツを提示するための要求を受信する。図2および図3を参照して上で説明されたように、CMS110は、ユーザデバイス102上でユーザによってアクセスされるパブリッシャのコンテンツページ上の1つまたは複数のサードパーティコンテンツブロックのためのサードパーティコンテンツに対する要求202を受信する。
【００７３】
CMS110は、(404において)コンテンツページから単一のスタイル識別子および1つまたは複数の属性を取得する。単一のスタイル識別子は、明示的に宣言されること、すなわち英数字の文字列であること、または暗黙的に宣言されることの両方があり得る。図2および図3を参照して上で説明されたように、この要求は、コンテンツページに埋め込まれる(すなわち、明示的に宣言される)単一のスタイル識別子、ならびに、コンテンツが提示されるべき文脈を定義するコンテンツページからの1つまたは複数の属性(たとえば、デバイスタイプ、ユーザエージェントタイプ、スクリーンサイズなど)を含む。いくつかの実装形態では、コンテンツページは、単一のスタイル識別子を含まないことがあり、代わりに、パブリッシャは、ページに含まれる必要のない(すなわち、暗黙的に宣言される)別のタイプの識別子を使用して、異なるスタイル規則およびパラメータを定義することがある。そのような実装形態では、CMS110は、要求とともに提供され得る別の識別子(たとえば、uniform resource locator (URL))を使用し、このURLを使用して、スタイル規則と、単一のスタイル識別子として機能するURLに対応するパラメータとを特定することができる。
【００７４】
図2を参照して上で説明されたように、CMS110は、(406において)サードパーティコンテンツを記憶するコンテンツソース104からサードパーティコンテンツ項目を選択する。
【００７５】
CMS110は、(408において)単一のスタイル識別子および1つまたは複数の属性を使用して、サードパーティコンテンツブロックに提示するために選択されるコンテンツに対するスタイルパラメータのセットを指定する第1の規則を特定する。図2および図3を参照して上で説明されたように、CMS110は、単一のスタイル識別子を使用して、コンテンツページに対応するスタイル規則のセットを特定する。次いで、1つまたは複数の属性を使用して、CMS110は、サードパーティコンテンツブロックにおいて提示するために選択されるコンテンツに対するスタイルパラメータのセットを含む、第1の規則を特定する(図2および図3を参照して上で説明されたように)。
【００７６】
図2および図3を参照して上で説明されたように、CMS110は、(410において)第1の規則において指定されるスタイルパラメータのセットに従って、サードパーティコンテンツ項目をフォーマットする。代わりに、図2を参照して上で説明されたように、CMS110ではなくユーザデバイス102が、第1の規則において指定されるスタイルパラメータのセットに従ってサードパーティコンテンツ項目をフォーマットする。
【００７７】
CMS110は、(412において)コンテンツページのサードパーティコンテンツブロック内で提示するためにサードパーティコンテンツ項目を提供する。図2を参照して上で説明されたように、CMS110は、フォーマットされたサードパーティコンテンツ項目を含む、埋め込み可能な表示要素を、コンテンツページ上の適切なサードパーティコンテンツブロック内で提示するために提供する。代わりに、図2を参照して上で説明されたように、ユーザデバイス102は、CMS110の代わりに、コンテンツページのサードパーティコンテンツブロック内での提示のために、サードパーティコンテンツ項目をフォーマットして提供する。
【００７８】
コンテンツ管理システム110は、(414において)サードパーティコンテンツブロック内で提示されるサードパーティコンテンツ項目に対するユーザ活動の量を決定する。図2を参照して上で説明されたように、CMS110は、サードパーティコンテンツブロック内で提示されるフォーマットされたサードパーティコンテンツ項目に関するすべてのユーザ活動のカウントを続ける。CMS110は、ユーザ活動のカウントを集約(すなわち、合計)して、ユーザ活動の量を決定する。
【００７９】
コンテンツ管理システム110は、(416において)ユーザ活動の量に応答して、第1の規則において指定されるスタイルパラメータのセットを修正する。図2を参照して上で説明されたように、ユーザ活動の量がユーザ活動の閾値の量未満である場合、パブリッシャ106は、CMS110のフロントエンドインターフェースを使用して、スタイルパラメータの修正されたセットを選択し得る。CMS110は、パブリッシャ106によって選択されたスタイルパラメータに基づいて、第1の規則に対応するスタイルパラメータを修正する。
【００８０】
CMS110は、動作410を参照して上で説明されたのと同じ方式で(かつ図2および図3を参照してさらに説明されたように)、第1の規則において指定されたスタイルパラメータの修正されたセットに従ってサードパーティコンテンツ項目をフォーマットする。CMS110は次いで、(動作412および図2および図3を参照して上で説明されたのと同じ方式で)コンテンツページのサードパーティコンテンツブロック内での提示のためにこのフォーマットされたサードパーティコンテンツ項目を提供する。
【００８１】
図2を参照して上で説明されたように、CMS110は、コンテンツページ220上での提示のために、あらかじめフォーマットされた埋め込み可能な表示要素を提供する。代わりに、いくつかの実装形態では、CMS110は、サードパーティコンテンツ項目206を含む、フォーマットされていない埋め込み可能な表示される要素をユーザデバイス102に提供し得る。CMS110はまた、(上で説明されたのと同じ方式で)このコンテンツページに対応するスタイル識別子を使用して、適切な規則および対応するスタイルパラメータをユーザデバイス102に対して特定することができる。CMS110は、この情報をユーザデバイス102に提供することができる。したがって、CMS110ではなく、ユーザデバイス102が、特定された規則内で指定される1つまたは複数の規則を使用して、受信された埋め込み可能な表示要素をフォーマットし、次いで、(CMS110を参照して上で説明されたのと同じ方式で)コンテンツページ上に表示するためにこの要素を提示する。代わりに、CMS110が規則のセットおよび対応するスタイルパラメータを提供するのではなく、ユーザデバイス102が、CMS110によって記憶されているデータ構造208と同様のデータ構造を記憶し得る。そのような実装形態では、ユーザデバイス102は、CMS110からサードパーティコンテンツ項目を受信し、次いで、CMS110を参照して上で説明されたすべての後続のスタイリングベースの動作を実行する。
【００８２】
図5は、上で説明された動作を実行するために使用され得る例示的なコンピュータシステム500のブロック図である。システム500は、プロセッサ510、メモリ520、記憶デバイス530、および入力/出力デバイス540を含む。構成要素510、520、530、および540の各々は、たとえばシステムバス550を使用して相互接続され得る。プロセッサ510は、システム500内で実行するための命令を処理することが可能である。いくつかの実装形態では、プロセッサ510はシングルスレッドプロセッサである。別の実装形態では、プロセッサ510はマルチスレッドプロセッサである。プロセッサ510は、メモリ520に記憶された、または記憶デバイス530に記憶された命令を処理することが可能である。
【００８３】
メモリ520は、システム500内の情報を記憶する。一実装形態では、メモリ520はコンピュータ可読媒体である。いくつかの実装形態では、メモリ520は揮発性メモリユニットである。別の実装形態では、メモリ520は不揮発性メモリユニットである。
【００８４】
記憶デバイス530は、システム500のための大容量記憶装置を提供することが可能である。いくつかの実装形態では、記憶デバイス530はコンピュータ可読媒体である。様々な異なる実装形態では、記憶デバイス530は、たとえば、ハードディスクデバイス、光学ディスクデバイス、複数のコンピューティングデバイスによってネットワークを介して共有される記憶デバイス(たとえば、クラウドストレージデバイス)、または何らかの他の大容量記憶デバイスを含み得る。
【００８５】
入力/出力デバイス540は、システム500のための入力/出力動作を提供する。いくつかの実装形態では、入力/出力デバイス540は、ネットワークインターフェースデバイス、たとえば、イーサネットカード、シリアル通信デバイス、たとえばRS-232ポート、および/またはワイヤレスインターフェースデバイス、たとえば802.11カードのうちの1つまたは複数を含み得る。別の実装形態では、入力/出力デバイスは、入力データを受け取って出力データを他の入力/出力デバイスに送るように構成されるドライバデバイス、たとえば、キーボード、プリンタ、および表示デバイス560を含み得る。しかしながら、モバイルコンピューティングデバイス、モバイル通信デバイス、セットトップボックステレビジョンクライアントデバイスなどの、他の実装形態も使用され得る。
【００８６】
例示的な処理システムが図5において説明されているが、本主題の実装形態および本明細書において説明される機能的な動作は、他のタイプのデジタル電子回路において、または、本明細書で開示される構造およびそれらの構造的な等価物を含む、コンピュータソフトウェア、ファームウェア、もしくはハードウェアにおいて、またはそれらの1つまたは複数の組合せで実装され得る。
【００８７】
本主題の実施形態および本明細書で説明される動作は、デジタル電子回路において、または、本明細書で開示される構造およびそれらの構造的な等価物を含む、コンピュータソフトウェア、ファームウェア、もしくはハードウェアにおいて、またはそれらの1つまたは複数の組合せで実装され得る。本明細書で説明される主題の実施形態は、データ処理装置による実行のための、またはその動作を制御するための、複数のコンピュータ記憶媒体(または1つの媒体)上で符号化される、1つまたは複数のコンピュータプログラム、すなわち、コンピュータプログラム命令の1つまたは複数のモジュールとして、実装され得る。代わりに、または加えて、プログラム命令は、人工的に生成される伝播信号、たとえば、データ処理装置による実行のために適切な受信機装置へ送信するための情報を符号化するために生成される、機械で生成される電気信号、光学信号、または電磁信号上で符号化され得る。コンピュータ記憶媒体は、コンピュータ可読記憶デバイス、コンピュータ可読記憶基板、ランダムアクセスもしくはシリアルアクセスのメモリアレイもしくはデバイス、またはそれらの1つまたは複数の組合せであってもよく、またはそれらに含まれてもよい。その上、コンピュータ記憶媒体は伝播信号ではないが、コンピュータ記憶媒体は、人工的に生成される伝播信号において符号化されるコンピュータプログラム命令の源または目的地であり得る。コンピュータ記憶媒体はまた、1つまたは複数の別個の物理的な構成要素または媒体(たとえば、複数のCD、ディスク、または他の記憶デバイス)であってもよく、またはそれらに含まれてもよい。
【００８８】
本明細書で説明される動作は、1つまたは複数のコンピュータ可読記憶デバイスに記憶される、または他のソースから受信されるデータに対して、データ処理装置によって実行される動作として実施され得る。
【００８９】
「データ処理装置」という用語は、プログラム可能プロセッサ、コンピュータ、システムオンチップ、または前述のものの複数もしくは組合せを例として含む、すべての種類の装置、デバイス、データを処理するための機械を包含する。装置は、専用論理回路、たとえばFPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)を含み得る。装置はまた、ハードウェアに加えて、対象のコンピュータプログラムのための実行環境を作成するコード、たとえば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、クロスプラットフォームランタイム環境、仮想マシン、またはそれらの1つまたは複数の組合せを構成するコードを含み得る。装置および実行環境は、ウェブサービス、分散型コンピューティング、およびグリッドコンピューティングインフラストラクチャなどの、様々な異なるコンピューティングモデルインフラストラクチャを実現することができる。
【００９０】
コンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプト、またはコードとしても知られている)は、コンパイル型言語またはインタプリタ型言語、宣言型言語または手続型言語を含む、任意の形式のプログラミング言語で書かれてもよく、スタンドアロンプログラムとして、または、モジュール、コンポーネント、サブルーチン、オブジェクト、もしくはコンピューティング環境において使用するのに適した他のユニットとしてを含めて、任意の形式で展開されてもよい。コンピュータプログラムは、ファイルシステムにおけるファイルに相当することがあるが、その必要はない。プログラムは、他のプログラムまたはデータ(たとえば、マークアップ言語ドキュメントに記憶されている1つまたは複数のスクリプト)を保持するファイルの一部分に、対象のプログラムに専用の単一のファイルに、または複数の協調したファイル(たとえば、1つまたは複数のモジュール、サブプログラム、またはコードの部分を記憶するファイル)に記憶され得る。コンピュータプログラムは、1つの箇所に位置する、または、複数の箇所にわたって分散しており通信ネットワークによって相互接続される、1つのコンピュータまたは複数のコンピュータ上で実行されるように展開され得る。
【００９１】
本明細書において説明されるプロセスおよび論理フローは、入力データに対して動作して出力を生成することによって活動を実行するための1つまたは複数のコンピュータプログラムを1つまたは複数のプログラム可能プロセッサが実行することによって実行され得る。プロセスおよび論理フローは、専用論理回路、たとえばFPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)によって実行されてもよく、装置はそれらとして実装されてもよい。
【００９２】
コンピュータプログラムの実行に適したプロセッサは、例として、汎用マイクロプロセッサおよび専用マイクロプロセッサの両方を含む。一般に、プロセッサは、読取り専用メモリもしくはランダムアクセスメモリまたはその両方から、命令およびデータを受け取る。コンピュータの不可欠な要素は、命令に従って活動を実行するためのプロセッサ、および命令とデータを記憶するための1つまたは複数のメモリデバイスである。一般に、コンピュータは、データを記憶するための1つまたは複数の大容量記憶デバイス、たとえば磁気ディスク、磁気光学ディスク、もしくは光学ディスクも含み、または、それらからデータを受信すること、もしくはそれらにデータを伝送すること、またはその両方を行うために動作可能に結合される。しかしながら、コンピュータがそのようなデバイスを有する必要はない。その上、コンピュータは、別のデバイス、たとえばいくつか例を挙げると、携帯電話、携帯情報端末(PDA)、モバイルオーディオもしくはビデオプレーヤ、ゲームコンソール、全地球測位システム(GPS)受信機、またはポータブル記憶デバイス(たとえば、universal serial bus (USB)フラッシュドライブ)に組み込まれ得る。コンピュータプログラム命令およびデータを記憶するのに適したデバイスは、例として、半導体メモリデバイス、たとえばEPROM、EEPROM、およびフラッシュメモリデバイス、磁気ディスク、たとえば内部ハードディスクまたはリムーバブルディスク、磁気光学ディスク、ならびにCD-ROMディスクおよびDVD-ROMディスクを含む、すべての形式の不揮発性メモリ、媒体およびメモリデバイスを含む。プロセッサおよびメモリは、専用論理回路によって補助されてもよく、またはそれに組み込まれてもよい。
【００９３】
ユーザとの対話を可能にするために、本明細書において説明される主題の実施形態は、情報をユーザに表示するための表示デバイス、たとえばCRT(陰極線管)またはLCD(液晶ディスプレイ)モニタ、ならびに、ユーザがそれによってコンピュータに入力を提供することができるキーボードおよびポインティングデバイス、たとえばマウスまたはトラックボールを有する、コンピュータ上で実施され得る。他の種類のデバイスも、ユーザとの対話を可能にするために使用され得る。たとえば、ユーザに提供されるフィードバックは、任意の形式の感覚的なフィードバック、たとえば、視覚的なフィードバック、可聴のフィードバック、または触覚のフィードバックであってもよく、ユーザからの入力は、音響入力、発話入力または触覚入力を含む、任意の形式で受け取られ得る。加えて、コンピュータは、ユーザによって使用されるデバイスに文書を送信し、そのデバイスから文書を受信することによって、たとえば、ウェブブラウザから受信される要求に応答してユーザのクライアントデバイス上のウェブブラウザにウェブページを送信することによって、ユーザと対話することができる。
【００９４】
本明細書で説明される主題の実施形態は、たとえば、データサーバとしてバックエンド構成要素を含む、または、ミドルウェア構成要素、たとえばアプリケーションサーバを含む、または、フロントエンド構成要素、たとえばユーザが本明細書で説明される主題の実装形態とそれを通じて対話することができるグラフィカルユーザインターフェースもしくはウェブブラウザを有するクライアントコンピュータを含む、または、1つまたは複数のそのようなバックエンド構成要素、ミドルウェア構成要素、もしくはフロントエンド構成要素の任意の組合せを含む、コンピューティングシステムにおいて実装され得る。システムの構成要素は、デジタルデータ通信の任意の形式または媒体、たとえば通信ネットワークによって相互接続され得る。通信ネットワークの例は、ローカルエリアネットワーク(「LAN」)およびワイドエリアネットワーク(「WAN」)、インターネットワーク(たとえば、インターネット)、およびピアツーピアネットワーク(たとえば、アドホックピアツーピアネットワーク)を含む。
【００９５】
コンピューティングシステムはクライアントおよびサーバを含み得る。クライアントおよびサーバは一般に、互いに離れており、通常は通信ネットワークを通じて対話する。クライアントおよびサーバの関係は、コンピュータプログラムがそれぞれのコンピュータ上で実行されて、互いにクライアントとサーバの関係になることで生じる。いくつかの実施形態では、サーバは、データ(たとえば、HTMLページ)をクライアントデバイスに(たとえば、クライアントデバイスと対話するユーザにデータを表示し、そのユーザからユーザ入力を受け取る目的で)送信する。クライアントデバイスにおいて生成されるデータ(たとえば、ユーザ対話の結果)は、サーバにおいてクライアントデバイスから受信され得る。
【００９６】
本明細書は多くの具体的な実装形態の詳細を含んでいるが、これらは、発明の範囲または特許請求され得るものの範囲に対する制限として解釈されるべきではなく、むしろ、特定の発明の特定の実施形態に固有の特徴の説明として解釈されるべきである。別個の実施形態の文脈で本明細書で説明されるいくつかの特徴は、単一の実施形態において組合せで実装されてもよい。逆に、単一の実施形態の文脈で説明される様々な特徴も、複数の実施形態で別々に、または任意の適切な部分組合せで実装されてもよい。その上、特徴はいくつかの組合せで活動するものとして上で説明されることがあり、そのように最初に特許請求されることすらあるが、いくつかの場合、特許請求される組合せからの1つまたは複数の特徴は、その組合せから削除されてもよく、特許請求される組合せは、部分組合せまたは部分組合せの変種を対象とし得る。
【００９７】
同様に、動作は特定の順序で図面において図示されているが、これは、望ましい結果を達成するために、そのような動作が示される特定の順序もしくは逐次的な順序で実行されること、または、すべての示される動作が実行されることを要求するものとして理解されるべきではない。いくつかの状況では、マルチタスキングおよび並列処理が有利であり得る。その上、上で説明された実施形態における様々なシステム構成要素の分離は、すべての実施形態においてそのような分離を必要とするものとして理解されるべきではなく、説明されるプログラム構成要素およびシステムが一般に、単一のソフトウェア製品に一緒に統合され、または複数のソフトウェア製品にパッケージングされ得ることを理解されたい。
【００９８】
以上、本主題の特定の実施形態が説明された。他の実施形態が以下の特許請求の範囲内にある。いくつかの場合、特許請求の範囲に記載される活動は、異なる順序で実行されてもよく、それでも望ましい結果を達成することができる。加えて、添付の図面に図示されるプロセスは、望ましい結果を達成するために、示される特定の順序または逐次的な順序を必ずしも必要としない。いくつかの実装形態では、マルチタスキングおよび並列処理が有利であり得る。
【符号の説明】
【００９９】
100  環境
102  ユーザデバイス
104  コンテンツソース
106  パブリッシャ
108  ネットワーク
110  コンテンツ管理システム
202  要求
204  コンテンツ要求
206  サードパーティコンテンツ項目
208  データ構造
210  フォーマットされたサードパーティコンテンツ項目
220  コンテンツページ
222-A  パブリッシャコンテンツブロック
224-B  サードパーティコンテンツブロック
226  スタイル識別子
302  デスクトップ
304  モバイル
306  コンテンツページ
308  データ構造
312  CB1
314  CB2
316  CB3
400  プロセス
500  コンピュータシステム
510  プロセッサ
520  メモリ
530  記憶デバイス
540  入力/出力デバイス
550  システムバス
560  表示デバイス
【図１】
2021526672.tif 000003
【図２】
2021526672.tif 000004
【図３】
2021526672.tif 000005
【図４】
2021526672.tif 000006
【図５】
2021526672.tif 000007
【国際調査報告】
2021526672.tif 000008
2021526672.tif 000009