様々な図面における同様の参照番号および名称は、同様の要素を示す。
デジタルコンポーネントおよびコンテンツを選択および配信するプロセスのためのメトリクスは、デジタルコンポーネントおよびコンテンツと共に配信されることになるタグの包含を通して取得され得る。パブリッシャーまたはサプライサイドプラットフォーム(SSP)が、デジタルコンポーネントのためのサーバ側要求を出すとき、プラットフォームは、たとえば、コンテンツ選択プロセスに関与するシステムが、関与するコンテンツプロバイダおよびコンテンツパブリッシャーによって定義された配布パラメータおよび制限を満たすことを保証するための、選択基準を示す、いくつかのクライアントヘッダフィールドを渡すことが必要とされる。1つまたは複数の関与するエクスチェンジは、候補デジタルコンポーネントのための1つまたは複数の選択基準のセットを各々返し、そこから、SSPは、1つを選択し、エクスチェンジに選択通知を送る。次いで、エクスチェンジは、コンテンツプロバイダに選択通知を提供し、その時点で、コンテンツプロバイダは、それらのデジタルコンポーネントサーバ上に記憶された、それらのデジタルコンポーネントへのリンクを返す。次いで、SSPは、クライアントデバイスにデジタルコンポーネントおよび要求されたコンテンツを提供することができる。
しかしながら、コンテンツプロバイダにとって、それらの提供およびユーザのエクスペリエンスを向上させるために重要な信号および特性を測定するこの方法は、コンテンツプロバイダによって選択および提供されたタグを信頼できるように転送するために、コンテンツ配布システムに依拠する。いくつかの事例では、タグが、デジタルコンポーネントおよびコンテンツと共にエンドユーザに転送されない場合、コンテンツパブリッシャーによって収集されたメトリクスのみが、コンテンツ作成者またはプロバイダに提供されるようになる。このことは、無関係なデータがフィードバックとしてコンテンツ作成者に提供されること、またはいくつかの事例では、データが提供されないことにつながり得る。測定を実行し、データを収集するために、コンテンツパブリッシャーに依拠するシステムでは、コンテンツ作成者にとって利用可能なフィードバックのタイプおよび量は、コンテンツパブリッシャーに完全に依存する。
以下で説明するシステムおよび方法は、パブリッシャー側サーバに命令を除去させないようにし、パブリッシャー側サーバまたは他の中間物による干渉に対していくぶん回復力があるようになり、クライアントデバイス上で実行中のメディアプレーヤが、命令されたときにアクションを認識し、アクションを取ることを可能にするようになる方法で、クライアントに直接命令を渡すための機会を、コンテンツ作成者に提供する。実際に、コンテンツパブリッシャーおよびパブリッシャー側サーバは、要求されたデジタルコンテンツと共に提示するために提供されるデジタルコンポーネントに加えて、含まれる命令を実行し、取り外し、またはさもなければ修正することができるが、デジタルコンポーネント自体の完全性を維持しなければならない。
本明細書全体にわたって、ユーザ(ユーザのタイプの中でも、エンドユーザ、コンテンツ生成者、またはコンテンツプロバイダなど)には、本明細書で説明するシステム、プログラム、または特徴がユーザ情報(たとえば、ユーザのソーシャルネットワーク、ソーシャルアクションもしくはアクティビティ、職業、ユーザの選好、またはユーザの現在のロケーションについての情報)の収集を可能にし得るか否か、およびいつ可能にし得るかと、サーバからのコンテンツまたは通信がユーザに送られるか否かの両方に関して、ユーザが選択を行うことを可能にする制御が提供され得る。加えて、いくつかのデータは、個人を特定可能な情報が除去されるように、記憶または使用される前に1つまたは複数の方法で扱われ得る。たとえば、ユーザの識別情報は、ユーザについて個人を特定可能な情報を決定することができないように扱われることがあり、またはユーザの地理的ロケーションが一般化されることがあり、その場合、ロケーション情報は、ユーザの特定のロケーションを決定することができないように(市、郵便番号、または州レベルなどまで)取得される。したがって、ユーザは、ユーザについてのどの情報が収集されるか、その情報がどのように使用されるか、およびどの情報がユーザに提供されるかを制御し得る。
図1は、ユーザデバイスに配信されるコンテンツに画像ウォーターマークを組み込むことによる、向上したデータ完全性のための例示的な環境100のブロック図である。例示的な環境100は、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、インターネット、またはそれらの組合せなどのネットワーク102を含む。ネットワーク102は、電子文書サーバ104(「電子文書サーバ(Electronic Doc Server)」)、ユーザデバイス106、デジタルコンポーネント配布システム110(DCDS110とも呼ばれる)、エクスチェンジ140、およびサードパーティ150を接続する。例示的な環境100は、多数の異なる電子文書サーバ104、ユーザデバイス106、エクスチェンジ140、およびサードパーティ150を含み得る。
ユーザデバイス106は、ネットワーク102上でリソース(たとえば、電子文書)を要求および受信することが可能である電子デバイスである。例示的なユーザデバイス106は、パーソナルコンピュータ、ウェアラブルデバイス、スマートスピーカー、タブレットデバイス、モバイル通信デバイス(たとえば、スマートフォン)、スマートアプライアンス、およびネットワーク102上でデータを送り、受信することができる他のデバイスを含む。いくつかの実装形態では、ユーザデバイスは、ユーザに可聴情報を出力するスピーカーと、ユーザから可聴入力(たとえば、話し言葉入力)を受け取るマイクロフォンとを含み得る。ユーザデバイスはまた、入力をサブミットするため、および/または入力に応答して提供された出力を受信するための、対話型音声インターフェースを提供するデジタルアシスタントを含み得る。ユーザデバイスはまた、視覚情報(たとえば、テキスト、画像、および/またはビデオ)を提示するためのディスプレイを含み得る。ユーザデバイス106は、典型的には、ネットワーク102上でデータを送り、受信することを容易にするための、ウェブブラウザなどのユーザアプリケーションを含むが、ユーザデバイス106によって実行されるネイティブアプリケーションもまた、ネットワーク102上でデータを送り、受信することを容易にすることができる。
ユーザデバイス106は、ブラウザまたはオペレーティングシステムなどのソフトウェアを含む。いくつかの実装形態では、ソフトウェアは、ユーザがネットワーク102などのネットワークを通して、情報にアクセスし、サーバから情報を取り出し、ユーザデバイス106のディスプレイ上に情報を表示することを可能にする。いくつかの実装形態では、ソフトウェアは、ユーザデバイス106のハードウェアおよびソフトウェアリソースを管理し、ユーザデバイス106上の他のプログラムのための共通サービスを提供する。ソフトウェアは、プログラムとユーザデバイス106のハードウェアとの間の中間物として働くことができる。
電子文書は、ユーザデバイス106においてコンテンツのセットを提示するデータである。電子文書の例には、ウェブページ、ワード処理文書、ポータブルドキュメントフォーマット(PDF)文書、画像、ビデオ、検索結果ページ、およびフィードソースが含まれる。モバイル、タブレット、またはデスクトップコンピューティングデバイス上にインストールされたアプリケーションなど、ネイティブアプリケーション(たとえば、「アプリ」)も、電子文書の例である。電子文書105(「電子文書(Electronic Doc)」)は、電子文書サーバ104によってユーザデバイス106に提供され得る。たとえば、電子文書サーバ104は、パブリッシャーウェブサイトをホストするサーバを含み得る。この例では、ユーザデバイス106は、所与のパブリッシャーウェブページのための要求を開始することができ、所与のパブリッシャーウェブページをホストする電子文書サーバ104は、ユーザデバイス106において所与のウェブページの提示を開始する、機械ハイパーテキストマークアップ言語(HTML)コードを送ることによって、要求に応答することができる。
電子文書は、様々なコンテンツを含み得る。たとえば、電子文書105は、電子文書自体内にあり、かつ/または経時的に変化しない、静的コンテンツ(たとえば、テキスト、または他の指定されたコンテンツ)を含み得る。電子文書はまた、経時的に、または要求ごとに変化し得る、動的コンテンツも含み得る。たとえば、所与の電子文書のパブリッシャーは、電子文書の部分をポピュレートするために使用されるデータソースを維持することができる。この例では、所与の電子文書は、所与の電子文書がユーザデバイス106によって処理(たとえば、レンダリングまたは実行)されるとき、データソースからのコンテンツを要求することをユーザデバイス106に行わせる、タグまたはスクリプトを含み得る。ユーザデバイス106は、データソースから取得されたコンテンツを所与の電子文書の提示に組み込み、データソースから取得されたコンテンツを含む複合電子文書を作成する。本明細書で言及するメディアコンテンツは、デジタルコンテンツの1つのタイプである。
いくつかの状況では、所与の電子文書は、DCDS110を参照するデジタルコンテンツタグまたはデジタルコンテンツスクリプトを含み得る。これらの状況では、デジタルコンテンツタグまたはデジタルコンテンツスクリプトは、所与の電子文書がユーザデバイス106によって処理されるとき、ユーザデバイス106によって実行される。デジタルコンテンツタグまたはデジタルコンテンツスクリプトの実行は、デジタルコンテンツのための要求108を生成するようにユーザデバイス106を構成し、要求108は、ネットワーク102上でDCDS110に送信される。たとえば、デジタルコンテンツタグまたはデジタルコンテンツスクリプトは、ユーザデバイス106が、ヘッダおよびペイロードデータを含むパケット化されたデータ要求を生成することを可能にすることができる。要求108は、そこからデジタルコンテンツが要求されているサーバの名称(またはネットワークロケーション)、要求するデバイス(たとえば、ユーザデバイス106)の名称(またはネットワークロケーション)、および/またはDCDS110が、要求に応答して提供されたデジタルコンテンツを選択するために使用することができる情報などのデータを含み得る。要求108は、ユーザデバイス106によって、ネットワーク102(たとえば、電気通信ネットワーク)上でDCDS110のサーバに送信される。
要求108は、電子文書と、デジタルコンテンツが提示され得るロケーションの特性とを指定するデータを含み得る。たとえば、デジタルコンテンツが提示されるようになる電子文書(たとえば、ウェブページ)への参照(たとえば、URL)、デジタルコンテンツを提示するために利用可能である電子文書の利用可能なロケーション(たとえば、デジタルコンテンツスロット)、利用可能なロケーションのサイズ、電子文書のインスタンス内の利用可能なロケーションの位置、および/またはロケーションにおけるプロビジョンのために適格であるメディアタイプを指定するデータが、DCDS110に提供され得る。同様に、電子文書の選択のために指定されたキーワード(「文書キーワード」)、または電子文書によって参照されるエンティティ(たとえば、人々、場所、または物)を指定するデータもまた、電子文書と共に提示するために適格であるデジタルコンテンツアイテムの識別を容易にするために、要求108中に(たとえば、ペイロードデータとして)含められ、DCDS110に提供され得る。
要求108はまた、ユーザが提供した情報、そこから要求がサブミットされた州もしくは地域を示す地理的情報、またはデジタルコンテンツが表示されるようになる環境のためのコンテキスト(たとえば、モバイルデバイスまたはタブレットデバイスなど、デジタルコンテンツが表示されるようになるデバイスのタイプ)を提供する他の情報など、他の情報に関連するデータも含み得る。ユーザによって提供された情報は、ユーザデバイス106のユーザについての人口統計学的データを含み得る。たとえば、人口統計学的情報は、特性の中でも、年齢、性別、地理的ロケーション、教育レベル、結婚歴、世代収入、職業、趣味、ソーシャルメディアデータ、およびユーザが特定のアイテムを所有するか否かを含み得る。
ユーザデバイス106のモデル、ユーザデバイス106の構成、または電子文書が提示される電子ディスプレイ(たとえば、タッチスクリーンまたはデスクトップモニタ)のサイズ(たとえば、物理的サイズまたは解像度)を識別する情報など、ユーザデバイス106の特性を指定するデータも、要求108において提供され得る。要求108は、たとえば、パケット化されたネットワーク上で送信され得、要求108自体は、ヘッダおよびペイロードデータを有するパケット化されたデータとしてフォーマットされ得る。ヘッダは、パケットの宛先を指定することができ、ペイロードデータは、上記で説明した情報のいずれかを含み得る。
DCDS110は、要求108の受信に応答して、および/または要求108中に含まれた情報を使用して、所与の電子文書と共に提示するために提供されるようになるデジタルコンテンツを選択する。いくつかの実装形態では、DCDS110は、相互接続され、要求108に応答してデジタルコンテンツを識別および配布する、たとえば、サーバ、および複数のコンピューティングデバイスのセットを含む、分散コンピューティングシステム(または環境)において実装される。複数のコンピューティングデバイスのセットは、一緒に動作して、数百万以上の利用可能なデジタルコンテンツのコーパスの中から、電子文書において提示されるために適格であるデジタルコンテンツのセットを識別する。数百万以上の利用可能なデジタルコンテンツは、たとえば、デジタルコンポーネントデータベース112においてインデックス付けされ得る。各デジタルコンテンツインデックスエントリは、対応するデジタルコンテンツを参照し、かつ/または対応するデジタルコンテンツの配布を調整する配布パラメータ(たとえば、選択基準)を含むことができる。
適格なデジタルコンテンツの識別は、複数のタスクに区分され得、次いで、複数のタスクは、複数のコンピューティングデバイスのセット内のコンピューティングデバイスの間で割り当てられる。たとえば、異なるコンピューティングデバイスは、デジタルコンポーネントデータベース112の異なる部分を各々分析して、要求108中に含まれた情報に一致する配布パラメータを有する様々なデジタルコンテンツを識別することができる。
DCDS110によって選択および配布されることになるデジタルコンテンツは、サードパーティ150によって提供される。サードパーティ150は、たとえば、デジタルコンポーネントを作成するコンテンツプロバイダであり得る。いくつかの実装形態では、サードパーティ150は、デジタルコンポーネントをキュレートするコンテンツプロバイダである。サードパーティ150は、選択基準のタイプの中でも、入札額、それに対してデジタルコンポーネントが応答するキーワードのセット、選択後のデジタルコンポーネントのしきい値配信率、エンドユーザへの配信後のデジタルコンポーネントとのユーザエンゲージメントのしきい値量、およびエンドユーザへの配信後のデジタルコンポーネントとの特定のタイプのユーザエンゲージメントのしきい値量など、いくつかの選択基準と共に、候補デジタルコンポーネントを提供することができる。
ユーザデバイス106は、典型的には、ネットワーク102上でデータを送り、受信することを容易にするために、ウェブブラウザおよび/またはネイティブアプリケーションなどのアプリケーションを含む。ネイティブアプリケーションは、特定のプラットフォーム、または特定のデバイス(たとえば、特定のオペレーティングシステムを有するモバイルデバイス)のために開発されたアプリケーションである。パブリッシャーは、ネイティブアプリケーションを開発し、ユーザデバイス106に提供し、たとえば、ダウンロードのために利用可能にすることができる。ウェブブラウザは、たとえば、ユーザデバイス106のユーザによる、ウェブブラウザのアドレスバーにおけるリソースのためのリソースアドレスの入力、またはリソースアドレスを参照するリンクの選択に応答して、パブリッシャーのウェブサイトをホストするウェブサーバからのリソース105を要求することができる。同様に、ネイティブアプリケーションは、パブリッシャーのリモートサーバからのアプリケーションコンテンツを要求することができる。いくつかのパブリッシャーは、SSPを使用して、そのリソースおよび/またはアプリケーションのデジタルコンポーネントスロットのためのデジタルコンポーネントを取得するプロセスを管理する。SSPは、リソースおよび/またはアプリケーションのためのデジタルコンポーネントを取得するプロセスを自動化する、ハードウェアおよび/またはソフトウェアにおいて実装された技術プラットフォームである。SSPは、1つまたは複数のデマンドサイドプラットフォーム(「DSP」)と対話して、デジタルコンポーネントスロットのためのデジタルコンポーネントを選択するために使用され得る選択基準などの情報を取得することができる。いくつかの実装形態では、各パブリッシャーは、対応するSSPまたは複数のSSPを有し得る。いくつかのパブリッシャーは、同じSSPを使用し得る。
いくつかの実装形態では、DCDS110は、SSPおよびDSPのいずれかまたは両方のアクションを実行することができる。この特定の例では、DCDS110は、コンテンツパブリッシャーと対話すること、およびクライアントデバイス106にコンテンツを配信することによって、SSPのアクションを実行する。
システム100はまた、1つまたは複数のエクスチェンジ140を含む。エクスチェンジ140は、要求されたデジタルコンテンツと共に提示するためのデジタルコンポーネントの提供および選択を可能にするデジタルプラットフォームである。サードパーティ150などのデジタルコンポーネントプロバイダは、パブリッシャーのリソースおよびアプリケーションのデジタルコンポーネントスロットにおいて提示されるデジタルコンポーネントを作成(またはさもなければ、公開)することができる。デジタルコンポーネントプロバイダ150は、DSPを使用して、デジタルコンポーネントスロットにおいて提示するためのそのデジタルコンポーネントのプロビジョニングを管理することができる。DSPは、リソースおよび/またはアプリケーションと共に提示するためのデジタルコンポーネントを配布するプロセスを自動化する、ハードウェアおよび/またはソフトウェアにおいて実装された技術プラットフォームである。DSPは、デジタルコンポーネントプロバイダ150の代わりに、複数のエクスチェンジと対話して、複数の異なるパブリッシャーのリソースおよび/またはアプリケーションと共に提示するためのデジタルコンポーネントを提供することができる。一般に、DSPは、デジタルコンポーネントのための要求を(たとえば、直接、またはエクスチェンジを介して、SSPから)受信し、要求に基づいて、1つまたは複数のデジタルコンポーネントプロバイダによって作成された1つまたは複数のデジタルコンポーネントのための選択パラメータを生成(または選択)し、SSPに、デジタルコンポーネントに関連するデータ(たとえば、デジタルコンポーネント自体)および選択パラメータを提供することができる。
DCDS110は、複数のコンピューティングデバイスのセットから受信された結果を集約し、集約された結果に関連付けられた情報を使用して、要求108に応答して提供されるようになるデジタルコンテンツの1つまたは複数のインスタンスを選択する。次に、DCDS110は、ユーザデバイス106が所与の電子文書にデジタルコンテンツの選択されたセットを組み込むことを可能にする、返信データ114(たとえば、返信を表すデジタルデータ)を生成し、ネットワーク102上で送信して、デジタルコンテンツの選択されたセットおよび電子文書のコンテンツがユーザデバイス106のディスプレイにおいて一緒に提示されるようにすることができる。
サードパーティ150は、ウォーターマーク生成システム120と、コンテンツ配信システム130とを各々含み得る。
ウォーターマーク生成システム120は、エンドユーザに提供されたコンテンツに組み込まれることになるウォーターマークを生成する。ウォーターマーク生成システム120は、メトリクスのコンテンツ配布システムおよび/またはコンテンツプロバイダによって提供されたインジケータに基づいて、ウォーターマークを生成する。たとえば、ウォーターマークシステム120は、コンテンツプロバイダから、デジタルコンポーネントがエンドユーザへの配信時にアクティブに閲覧されていた時間の量を含むメトリクスを示すデータを受信して、どのような種類のメトリクスが収集されるべきであるかを決定することができる。ウォーターマーク生成システム120は、入力データから画像を生成するように構成される。詳細には、ウォーターマーク生成システムは、符号化入力生成器と、ウォーターマーク生成器とを含む。
符号化入力生成器は、プレーンテキストデータアイテムを処理して、プレーンテキストデータアイテムを符号化する符号化画像を生成する。プレーンテキストデータアイテムは、符号化入力生成器の制約内で符号化可能である、任意のデータであり得る。たとえば、プレーンテキストデータアイテムは、最大長がn文字のテキストサンプルまたは文字列であり得、その理由は、符号化画像のサイズが、あらかじめ定義された最大長のn文字までのみのテキストサンプルのための可逆符号化を提供することが可能であり得るからである。いくつかの実装形態では、プレーンテキストデータアイテムは、その間にクライアントコンピュータ106からの要求に対して応答がサービスされる、クライアントコンピュータ106とコンテンツサーバとの間のネットワークセッションを一意に識別する、セッション識別子を含む。
いくつかの実装形態では、プレーンテキストデータアイテムは、クライアントコンピュータ106にサービスされた特定のソースコンテンツを識別するソースコンテンツデータ、またはソースコンテンツに関連付けられた情報(たとえば、ソースコンテンツプロバイダのうちのどれがクライアントコンピュータ106にサービスされた特定のソースコンテンツを提供したかを示す情報、およびソース画像がいつサービスまたは要求されたかを示すタイムスタンプ)を含むか、または参照する。いくつかの実装形態では、データベースは、プレーンテキストデータアイテムによって表されたセッション識別子または他の情報を介して、詳細情報にアクセス可能にするために、ソースコンテンツについてのそのような情報、または特定の要求のためにサービスされた応答を相関させるデータを記憶する。応答記録データベースはまた、セッション識別子をソースコンテンツデータに関連付け、それによって、プレーンテキストデータアイテムによって表されたセッション識別子を使用して、データベースにクエリを行うことによって、ソースコンテンツデータにアクセス可能にすることもできる。次いで、ユーザは、たとえば、プレーンテキストデータアイテムからのセッション識別子を使用するために、ソースコンテンツアイテムのうちのどれが、どの時間に、およびどのソースコンテンツプロバイダから、クライアントコンピュータにサービスされたかを識別することができる。ソースコンテンツは、視覚データ、オーディオデータ、または組合せの形態であり得る。たとえば、ソースコンテンツは、コンテンツのタイプの中でも、プレーンテキストデータ、画像データ、ビデオデータ、および/またはオーディオデータであり得る。簡単にするために、以下の説明は、概して画像データを対象とする。しかしながら、説明するようなシステムの、他のタイプのデータへの適用が企図され、いくつかの例示的な実装形態について説明する。
プレーンテキストデータは、クライアントデバイスによって実行されたとき、1つまたは複数の指定された測定をクライアントデバイスに実行させる、以下でさらに詳細に説明する情報を含み得る。たとえば、プレーンテキストデータは、コンテンツまたはデジタルコンポーネントがクライアントデバイスによって閲覧される時間の量、およびクライアントデバイスのユーザによって実行された、コンテンツまたはデジタルコンポーネントとの対話のタイプの測定を、クライアントデバイスに実行させる、測定スクリプトを含み得る。
符号化画像は、プレーンテキストデータアイテムを符号化する画像である。いくつかの実装形態では、符号化画像は、プレーンテキストデータアイテムを表す、マトリックスタイプバーコードである。好適なマトリックスタイプバーコードの一例は、クイックレスポンスコード(QRコード(登録商標))である。符号化画像は、ピクセルの行および列の数に換算された、あらかじめ定義されたサイズを有することができる。符号化画像における各ピクセルは、データのバイナリビットを符号化することができ、ここで、各ビットの値が異なる色によって表される。たとえば、バイナリ値「1」を符号化するピクセルは黒色であり得、バイナリ値「0」を符号化するピクセルは白色であり得る。いくつかの実装形態では、符号化画像の最小の符号化ユニットは、実際には単一のピクセルよりも大きくなり得る。ただし、本明細書で説明する例の目的では、最小の符号化ユニットは、単一のピクセルであると仮定する。しかしながら、本明細書で説明する技法は、最小の符号化ユニットが複数のピクセルのセット、たとえば、ピクセルの2×2または3×3セットである実装形態に拡張され得ることを諒解されたい。
ウォーターマーク生成システム120は、ウォーターマーキング画像生成器をさらに含む。ウォーターマーキング画像生成器は、符号化画像を処理して、半透明ウォーターマーキング画像を生成するように構成される。半透明ウォーターマーキング画像は、符号化画像から導出され、同じくプレーンテキストデータアイテムを符号化する。しかしながら、ウォーターマーキング画像の符号化されたピクセルの透明度、色、配置、および/または他の特徴は、符号化画像の符号化されたピクセルの透明度、色、配置、および/または他の特徴から変更され得る。たとえば、符号化画像が、均一に不透明であり得、互いに隣接して密接にパックされている、符号化されたピクセルからなり得るのに対して、ウォーターマーキング画像は、いくつかの完全に透明なピクセルと、いくつかの部分的に透明なピクセルとを含み得る。その上、ウォーターマーキング画像における符号化されたピクセルは、各符号化されたピクセルが、符号化されていないピクセル(すなわち、「空白」ピクセル)によって囲まれるように、互いに対して離間し得る。ウォーターマーキング画像への符号化画像の変換は、ウォーターマーキング画像が背景ソース画像上でオーバーレイおよびマージされた後、たとえば、符号化画像またはウォーターマーキング画像を復元することによって、符号化された情報が復号され得るように実行され得る。いくつかの実装形態では、ウォーターマーキング画像は、ウォーターマーキング画像を受信するクライアントデバイスのユーザには見えない。たとえば、ウォーターマーキング画像は、ウォーターマーキング画像がそれと共に提供されるデジタルコンポーネントまたはコンテンツの割には極めて小さいので、人間のユーザがそれを見ないようになり得る。
コンテンツ配信システム130は、コンテンツパッケージングおよび配信を実行する。たとえば、コンテンツ配信システム130は、コンテンツをフォーマットし、メディアコンテンツを合成し、ユーザデバイスにコンテンツを配信することができる。コンテンツ配信システム130は、たとえば、ユーザデバイス106などのユーザデバイスに配信されているメディアコンテンツ内で、それにおいてデジタルコンテンツが配信されることが予想されるデジタルコンテンツスロットを検出することができる。コンテンツ配信システム130はまた、配信のために選択されたデジタルコンポーネントを含むように、コンテンツをフォーマットすることもできる。たとえば、コンテンツ配信システム130は、ユーザデバイスにコンテンツを配信する前に、デジタルコンポーネントとコンテンツを合成することができる。コンテンツ配信システム130はまた、ウォーターマーク画像を含むように、デジタルコンポーネントをフォーマットすることもできる。たとえば、コンテンツ配信システム130は、要求されたコンテンツと共に返信114としてユーザデバイスに配信されることになるデジタルコンポーネントに、ユーザに見えない部分的に透明なQRコード(登録商標)などのウォーターマーキング画像122を組み込むことができる。いくつかの実装形態では、デジタルコンテンツスロットは、追加のデジタルコンテンツが提供されるべきであることをコンテンツ配信システム130に示す、マーカーまたは他のフラグによって示される。これらのマーカーは、メディアコンテンツプロバイダおよび/または作成者によって定義され得る。いくつかの実装形態では、コンテンツ配信システム130は、これらのマーカーがメディアコンテンツ内に配置されるべきであるロケーションを決定することができる。たとえば、コンテンツ配信システム130は、画像ファイル内の自然に空白の、または目立たないロケーションを検出し、ウォーターマーク画像のための、または提供されることになる追加のデジタルコンテンツのためのマーカーを配置することができる。
いくつかの実装形態では、コンテンツ配信システム130は、定義されたスロット内のメディアコンテンツのストリーム内で追加のデジタルコンテンツを提供することができる。たとえば、いくつかの実装形態では、コンテンツ配信システム130は、それにおいて追加のコンテンツが組み込まれ得るマーカーにおいて、オーディオファイル内の定義されたスロットとして働く一時停止を挿入することができる。
いくつかの実装形態では、コンテンツ配信システム130は、マーカーが検出されたとき、メディアコンテンツのストリームの配信を一時停止し、追加のデジタルコンテンツを別個に配信し、次いで、メディアコンテンツの配信を再開することができる。
いくつかの実装形態では、ウォーターマーキング画像は、ウォーターマーク画像を実現する途中の中間動作として、符号化画像を明示的に生成することなく、プレーンテキストデータから直接生成され得る。さらに、サードパーティ150がソース画像エンコーダを採用して、クライアントコンピュータ106へのマージされた画像のサービスのために、ソース画像の上にウォーターマーキング画像を直接マージする実装形態では、サードパーティ150は、符号化画像、ウォーターマーキング画像、または両方を明示的に生成することなく、ソース画像においてウォーターマークを直接符号化し得る。ソース画像の符号化/ウォーターマーキングのより直接的な形態を提供するために、これらの動作のうちの1つまたは複数がどのように統合され得るかは、当業者には明らかであろう。
図2は、図1の例示的な環境において、コンテンツに画像ウォーターマークを組み込むことを通して、データ完全性を向上させるための方法のデータフロー200を示す。データフロー200の動作は、システム100の様々な構成要素によって実行される。たとえば、データフロー200の動作は、DCDS110およびクライアントデバイス106と通信しているサードパーティコンテンツプロバイダ150によって実行され得る。
フローはステップAから開始し、ステップAにおいて、クライアントデバイスは、パブリッシャー側サーバ、またはSSPにコンテンツ要件を提供する。たとえば、クライアントデバイス106は、DCDS110にコンテンツ要件を提供することができ、DCDS110は、SSPの機能を実行する。コンテンツ要件は、情報の中でも、クライアントデバイス106の能力についての情報、その上でクライアント106がネットワーク102などのネットワークにアクセス中である接続の特性、要求されたコンテンツのロケーション、要求されたコンテンツのタイプ、ならびにクライアントデバイス106のユーザの現在および/または履歴のアクティビティについての情報を含み得る。たとえば、コンテンツ要件は、クライアントデバイス106とネットワーク102との間の接続上で利用可能な帯域幅についての情報を含み得る。
いくつかの実装形態では、コンテンツ要件は、コンテンツアイテム提示機会の1つまたは複数の特性を含む。たとえば、コンテンツ要件は、要求されたコンテンツと共に提示されることになるデジタルコンポーネントのための要求を受信することを含み得る。いくつかの実装形態では、コンテンツ要件は、単に、あるコンテンツがユーザに配信されるようになることを示す情報を含む。
フローはステップBに続き、ステップBにおいて、SSPは、コンテンツプロバイダにコンテンツのための要求を送る。たとえば、DCDS110は、電子文書サーバ104に、特定のウェブページのための要求を送ることができる。電子文書サーバ104は、たとえば、特定のウェブサイトまたはドメインをホストし、様々なコンテンツを公開する、コンテンツパブリッシャーであり得る。要求されたコンテンツは、コンテンツのタイプの中でも、画像コンテンツ、ビデオコンテンツ、オーディオコンテンツ、またはテキストコンテンツであり得、電子文書サーバ104内に記憶され得るか、または要求されると生成され得る。たとえば、要求されたコンテンツは、電子文書サーバ104によってホストされるビデオであり得る。
フローはステップCにおいて続き、ステップCにおいて、コンテンツリポジトリは、要求されたコンテンツをSSPに提供する。たとえば、電子文書サーバ104は、要求されたウェブページをDCDS110に送信することができる。電子文書サーバ104は、DCDS110に、要求されたコンテンツ自体を提供することができる。たとえば、電子文書サーバ104は、DCDS110にビデオファイルを提供することができる。いくつかの実装形態では、電子文書サーバ104は、DCDS110に、要求されたコンテンツのロケーションを提供する。たとえば、電子文書サーバ104は、DCDS110に、要求されたビデオファイルが記憶されるロケーションを返すことができる。
フローはステップDにおいて続き、ステップDにおいて、SSPは、エクスチェンジに候補デジタルコンポーネントの選択基準のための要求を送信する。選択基準のための要求は、情報の中でも、クライアントデバイス106の能力についての情報、その上でクライアント106がネットワーク102などのネットワークにアクセス中である接続の特性、電子文書サーバ104からの要求されたコンテンツの特性、ならびにクライアントデバイス106のユーザの現在および/または履歴のアクティビティについての情報を含み得る。たとえば、コンテンツ要件は、そこからユーザが電子文書サーバ104からの要求されたコンテンツにダイレクトされたウェブサイトについての情報を含み得る。
一例では、SSPは、DCDS110として実装され、エクスチェンジ140として実装されたエクスチェンジに、1つまたは複数の候補デジタルコンポーネントの選択基準のための要求を提供することができる。エクスチェンジ140は、要求されたコンテンツと共に提示するために選択され得る1つまたは複数の候補デジタルコンポーネントのための選択基準を集めて管理する。エクスチェンジ140は、サードパーティコンテンツプロバイダ150など、1つまたは複数のサードパーティコンテンツプロバイダから、選択基準および候補デジタルコンポーネントを受信する。エクスチェンジ140は、候補デジタルコンポーネントの選択基準のための要求に応答して、DCDS110に、すべての候補デジタルコンポーネントと、デジタルコンポーネントのための選択基準とを提供することができる。いくつかの実装形態では、エクスチェンジ140は、予備選択プロセスを実行して、DCDS110に提供するために、いくつかの候補デジタルコンポーネントの中から1つまたは複数のデジタルコンポーネントを選択することができる。DCDS110は、1つまたは複数のエクスチェンジ140に、候補デジタルコンポーネントのための選択基準を請求することができる。
フローはステップEにおいて続き、ステップEにおいて、エクスチェンジは、コンテンツ作成者に候補デジタルコンポーネントの選択基準のための要求を提供する。たとえば、エクスチェンジ140は、サードパーティコンテンツプロバイダ150からの候補デジタルコンポーネントを請求することができる。エクスチェンジ140によって提供された要求は、DCDS110によって提供された要求と同じ情報を含み得る。いくつかの実装形態では、エクスチェンジ140によって提供された要求は、より多くの情報または制限を含み得る。エクスチェンジ140は、1つまたは複数のサードパーティコンテンツプロバイダ150からの候補デジタルコンポーネントを要求することができる。
フローはステップFにおいて続き、ステップFにおいて、サードパーティコンテンツプロバイダは、エクスチェンジに1つまたは複数の選択基準を返す。たとえば、サードパーティコンテンツプロバイダ150は、エクスチェンジ140に、候補デジタルコンポーネントのための1つまたは複数の選択基準を提供することができる。この特定の例では、サードパーティコンテンツプロバイダ150は、候補デジタルコンポーネント114の選択基準を提供し、候補デジタルコンポーネント114は、ユーザがかわいい鳥について知るために、それをクリックすることを可能にする画像である。いくつかの実装形態では、2つ以上のサードパーティコンテンツプロバイダ150が、エクスチェンジ140と通信しており、エクスチェンジ140に、1つまたは複数の候補デジタルコンポーネントと、それらの選択基準とを各々返すことができる。
いくつかの実装形態では、サードパーティコンテンツプロバイダ150は、候補デジタルコンポーネントのための要求より前に、エクスチェンジ140に、候補デジタルコンポーネントと、候補デジタルコンポーネントの選択基準とを提供する。エクスチェンジ140は、予備選択プロセスを実行して、候補デジタルコンポーネント、およびDCDS110に送信される候補デジタルコンポーネントのための選択基準の数を低減することができる。たとえば、エクスチェンジ140は、提供するための候補デジタルコンポーネントのしきい値数を決定し得るか、または提供され得る。いくつかの実装形態では、エクスチェンジ140は、候補デジタルコンポーネントの選択基準のための特定の要件に従って、予備選択プロセスを実行し得る。たとえば、エクスチェンジ140は、DCDS110から、候補デジタルコンポーネントの1つまたは複数の選択基準のためのしきい値を受信し、次いで、しきい値を満たす選択基準を有する候補デジタルコンポーネントのみを選択し得る。
フローはステップGにおいて続き、ステップGにおいて、エクスチェンジは、最終選択プロセスのために、SSPに候補デジタルコンポーネントの1つまたは複数の選択基準を提供する。たとえば、エクスチェンジ140は、DCDS110に、候補デジタルコンポーネントの1つまたは複数の選択基準を返すことができる。DCDS110は、1つまたは複数のエクスチェンジ140と通信しており、そこから選択基準を受信することができる。
DCDS110は、コンテンツ選択技法に従って、エクスチェンジ140から受信された候補デジタルコンポーネントの選択基準を使用して、最終選択プロセスを実行することができる。たとえば、DCDS110は、エクスチェンジ140から受信された候補デジタルコンポーネントの選択基準を使用して、コンテンツオークションを実行し、勝ったデジタルコンポーネントの選択基準に基づいて、電子文書サーバ104によって提供された、要求されたウェブページと共に提示するために、勝ったデジタルコンポーネントを選択することができる。
フローはステップHにおいて続き、ステップHにおいて、SSPは、エクスチェンジに選択通知を提供する。たとえば、DCDS110は、エクスチェンジ140に選択通知を提供することができる。選択通知は、勝ったデジタルコンポーネントとして選択されたデジタルコンポーネント、および/またはデジタルコンポーネントの選択基準を識別することができる。たとえば、選択通知は、デジタルコンポーネントのための識別子を含み得る。
フローはステップIにおいて続き、ステップIにおいて、エクスチェンジは、選択されたデジタルコンポーネントのサードパーティコンテンツプロバイダに、選択通知を提供する。たとえば、エクスチェンジ140は、勝ったデジタルコンポーネントとして選択された候補デジタルコンポーネントの選択基準を提供したサードパーティコンテンツプロバイダ150に、選択通知を提供することができる。エクスチェンジ140は、DCDS110から受信された選択通知に基づいて、サードパーティコンテンツプロバイダ150に提供されることになる選択通知を生成することができる。いくつかの実装形態では、エクスチェンジ140は、単に、選択されたデジタルコンポーネントのサードパーティコンテンツプロバイダ150に、選択通知を転送する。この特定の例では、選択されたデジタルコンポーネントは、ユーザがかわいい鳥について知るために画像自体と対話することを可能にする画像114であり得る。
候補デジタルコンポーネントが提示されるように選択されると、選択通知がサードパーティコンテンツプロバイダ150に提供されるので、システムは、ウォーターマークを生成すること、および干渉からセキュアであるように、デジタルコンポーネントにウォーターマークを埋め込むことを行うための機会を、サードパーティコンテンツプロバイダ150に提供する。ウォーターマーク内に埋め込まれたスクリプトおよびデータは、たとえば、コンテンツプロバイダが、機能の中でも、それらのコンテンツを改善すること、不正を検出すること、およびユーザエクスペリエンスを向上させることを行うために、通信を予想される対話データと比較することを可能にするために、デジタルコンポーネントのコンテンツプロバイダにピングを送るなどの測定アクションを、クライアントデバイスに実行させることができる。
フローはステップJにおいて続き、ステップJにおいて、サードパーティコンテンツプロバイダは、ウォーターマークを生成し、選択されたデジタルコンポーネント中にウォーターマークを埋め込む。たとえば、サードパーティコンテンツプロバイダ150は、ウォーターマーク生成システム120を使用して、ウォーターマーキング画像122などのウォーターマーキング画像を生成することができる。この特定の例では、ウォーターマーキング画像122は、QRコード(登録商標)である。ウォーターマーキング画像122は、URL宛先およびペイロードを含む。URL宛先は、ウォーターマーキング画像122が検出され、かつ/または読み取られるとき、そこにペイロードが送信されることになるロケーションを示す。ウォーターマーキング画像122は、人間には見えない。たとえば、ウォーターマーキング画像122は、透明であり得るか、または人間の目に見えるためには小さすぎることがある。ウォーターマーキング画像122は、人間に見えないので、要求されたコンテンツを消費するとき、ユーザのエクスペリエンスに影響を及ぼさない。
デジタルコンポーネントにウォーターマーキング画像を埋め込むか、またはステガノグラフィ処理することは、たとえば、ウォーターマーキング画像がデジタルコンポーネントとは別個であるとして検出可能でないように、デジタルコンポーネントにウォーターマーキング画像を組み込むことを含み得る。たとえば、ウォーターマーキング画像は、デジタルコンポーネント画像に追加のレイヤとしてウォーターマーキング画像をオーバーレイすること、および次いで、それらのレイヤを単一のエンティティであるように平坦化することによって、デジタルコンポーネントに埋め込まれ得る。いくつかの実装形態では、ウォーターマーキング画像は、単に、それらのレイヤを区別不可能にすることなく、ウォーターマーキング画像を追加のレイヤとして追加することによって、デジタルコンポーネントに埋め込まれ得る。
ウォーターマーキング画像122は、人間に見えないが、その中にウォーターマーキング画像122が埋め込まれるデジタルコンポーネントを表示するアプリケーションは、ウォーターマーキング画像122の存在を検出し、指定されたアクションをクライアントデバイス106に実行させるウォーターマーキング画像122を読み取ることができる。たとえば、クライアントデバイスが、埋め込まれたウォーターマークを伴うデジタルコンポーネントと共に、要求されたコンテンツをダウンロードし、次いで、デジタルコンポーネントを閲覧するか、または他の方法で消費するとき、それにおいてクライアントデバイスがデジタルコンポーネントを消費中であるアプリケーションは、ウォーターマーキング画像を検出することができる。次いで、アプリケーションは、ウォーターマーキング画像を読み取るようになり、ウォーターマーキング画像内で符号化された命令が、クライアントデバイスによって実行されるようになる。ウォーターマーキング画像がデジタルコンポーネント内に埋め込まれるので、いくつかの実装形態では、アプリケーションは、デジタルコンポーネントがダウンロードおよび消費される場合のみ、ウォーターマーキング画像を検出することが可能になり、セキュリティの追加のレイヤが提供される。いくつかの実装形態では、クライアントデバイス106上のアプリケーションが、ウォーターマーキング画像122など、署名またはタグを注意して見ているように、デジタルコンポーネント114にマークまたはフラグが付けられ得る。たとえば、デジタルコンポーネント114には、ウォーターマーキング画像122の存在、ウォーターマーキング画像122のロケーション、および/またはウォーターマーキング画像122のフォーマットを示すために、フラグが付けられ得る。いくつかの実装形態では、アプリケーションは、ウォーターマーキング画像の存在について、受信されたデジタルコンポーネントをスキャンするように構成される。たとえば、クライアントデバイス106上のビデオプレーヤは、ビデオまたはオーディオのいずれかの形式における、ウォーターマークについて、ビデオをスキャンするように構成され得る。
ウォーターマーキング画像122は、クライアントデバイス106のユーザがデジタルコンポーネントを受信および消費したというレシートを、URLによって示された宛先に提供することを、クライアントデバイス106に行わせることができる。
ウォーターマーキング画像122のペイロードは、単に、URL宛先に転送されることになるペイロードであり得る。いくつかの実装形態では、ペイロードは、アクションの中でも、測定アクションを実行すること、指定されたデバイスまたはロケーションをピングすること、および指定されたデバイスまたはロケーションに測定値を送信することを含む、スクリプトによって指定されたアクションをクライアントデバイス106に実行させる、測定スクリプトを含む。
いくつかの実装形態では、デジタルコンポーネント内のウォーターマーキング画像122ペイロードおよびロケーションは、デジタルコンポーネントとは別個に前に提供された追加の測定スクリプトの数を置き換えるかまたは低減するようにカスタマイズされ得、したがって、除去または改ざんを受けやすくなり得る。
いくつかの実装形態では、ウォーターマーキング画像122は、ウォーターマーキング画像122を、DCDS110などのSSPによって転送されなければならない特定のヘッダフィールドに結合する、暗号署名付きメタデータを埋め込むことによって、改ざん防止にされ得る。暗号署名付きメタデータを含めることによって、サードパーティコンテンツプロバイダ150などのコンテンツプロバイダは、サードパーティコンテンツプロバイダ150にペイロードを返しているクライアントデバイス106が、コンテンツのための要求によって提供されるかまたは示されるような提示機会の選択基準および他の特性に一致することを検証することができる。
フローはステップKにおいて続き、ステップKにおいて、サードパーティコンテンツプロバイダは、SSPに、埋め込まれたウォーターマークを伴う選択されたデジタルコンポーネントを提供する。たとえば、サードパーティコンテンツプロバイダ150は、DCDS110に、人間に見えない埋め込まれたウォーターマーキング画像122と共に、デジタルコンポーネント114を送信することができる。
フローはステップLにおいて続き、ステップLにおいて、SSPは、クライアントデバイスに、コンテンツ、および埋め込まれたウォーターマークを伴うデジタルコンポーネントを提供する。たとえば、DCDS110は、ユーザに提示されるように、クライアントデバイス106に、要求されたウェブページ、および埋め込まれたウォーターマーキング画像122を伴うデジタルコンポーネント114を提供することができる。
いくつかの実装形態では、SSPは、クライアントデバイスにコンテンツを送信するより前に、デジタルコンポーネント(および、したがって、ウォーターマーキング画像)を、要求されたコンテンツに合成する。他の実装形態では、SSPは、クライアントデバイスに別個に、デジタルコンポーネント(および、したがって、ウォーターマーキング画像)と、要求されたコンテンツとを提供することができる。いずれのタイプの実装形態でも、ウォーターマーキング画像内に含まれている測定情報の完全性が維持される。
システムの説明を、説明を簡単にするために画像コンテンツデータに関して行うが、システムは、任意のタイプのコンテンツと共に使用するために企図される。たとえば、いくつかの実装形態では、要求されたコンテンツは、ストリーミングビデオであり得る。ウォーターマーキング画像は、プレースメントの中でも、ビデオの各フレーム内に埋め込まれ、ビデオ上にオーバーレイもしくは透明レイヤとして埋め込まれ、またはビデオの特定のフレーム内に埋め込まれ得る。たとえば、要求されたコンテンツは、他のプレーヤと共にリアルタイムでオンラインでプレイされるビデオゲームであり得る。ウォーターマーキング画像は、ビデオ内の2つ以上の特定のフレーム内に埋め込まれ得る。いくつかの実装形態では、要求されたコンテンツは、ストリーミングオーディオであり得、ウォーターマーキング画像は、たとえば、メタデータとして、または人間に聞こえないが、コンテンツがクライアントデバイスにおいて再生されるアプリケーションによって検出可能であるオーディオデータとして提供され得る。
セキュアウォーターマーキングシステムは、いくつかの利点を提供する。従来のシステムでは、収集されるデータは、SSPに従って測定および配布され、SSPは、クライアントデバイスに代わって測定スクリプトを実行し、関連する測定アクションを実行する。しかしながら、従来の方法は、コンテンツプロバイダがそのデジタルコンポーネントおよびユーザエクスペリエンスを向上させるために使用することを望むデータとしては、信頼性が高くないことがある。特定のコンテンツ作成者または開発者によって指定されたメトリクスが収集されることを可能にすることによって、セキュアウォーターマーキングシステムは、コンテンツプロバイダがそれらのコンテンツを改善し、ユーザのニーズにより良く対処することを可能にする。追加として、デジタルコンポーネントを、要求されたコンテンツと合成することによって、コンテンツプロバイダが、各環境のために特にフォーマットされた一意のコンテンツを開発する必要がなくなるので、システムが多数の環境に対して容易にスケーラブルであることが可能になる。
システムはまた、ネットワーク102などのネットワーク上のトラフィックの量を低減し、その理由は、システムによって、コンテンツプロバイダが、取られている測定アクション、ならびに収集されているデータのタイプおよび量を制御することが可能になるからである。コンテンツパブリッシャーが、コンテンツプロバイダのデジタルコンポーネントまたはユーザのエクスペリエンスの向上のために有用でないことがあるデータを提供することを待つのではなく、コンテンツプロバイダは、どのように、およびどのような測定が取られるかの制御を有する。
いくつかの実装形態では、システムは、ウォーターマーキング画像内のペイロードの暗号化を可能にすることによって、コンテンツプロバイダを保護する。たとえば、コンテンツプロバイダは、コンテンツプロバイダのみがペイロードを解読することができるように、ペイロードを暗号化することができる。クライアントデバイスが、埋め込まれたウォーターマークを伴うデジタルコンポーネントと共に、要求されたコンテンツをダウンロードし、次いで、デジタルコンポーネントを閲覧するか、または他の方法で消費するとき、それにおいてクライアントデバイスがデジタルコンポーネントを消費中であるアプリケーションは、ウォーターマーキング画像を検出するようになる。次いで、アプリケーションは、ウォーターマーキング画像を読み取るようになり、ウォーターマーキング画像内で符号化された命令が、クライアントデバイスによって実行されるようになる。この特定の例では、クライアントデバイスは、単に、URL宛先に暗号化されたペイロードを転送することができ、URL宛先は、ペイロードを解読すること、またはペイロードと共にいかなる動作を実行することもなく、コンテンツプロバイダにとってアクセス可能である。次いで、コンテンツプロバイダは、ペイロードを解読して、変更が生じていないこと、およびペイロードを返したクライアントデバイスが、ペイロードが送られた先のクライアントデバイスであることを検証することができる。
説明するシステムは、コンテンツプロバイダが測定スクリプトを提供および実行するために、SSPに依拠する中間ステップを除去する。したがって、システムは、デジタルコンポーネントの配信および消費に関するデータを収集および測定する従来の方法よりも効率的であり、より良い、より正確な測定を提供する。
システムはまた、SSPが、コンテンツプロバイダによって提供された測定命令を転送および実行することをもはや担当しないので、SSPレベルにおける作業負荷を簡略化および低減する。追加として、システムは、クライアントデバイスが取るように命令される無関係な測定アクションの数を低減することによって、および、クライアントがSSPまたは他の中間物を通すのではなく、コンテンツプロバイダに直接、測定結果を送信するか、またはピングを提供することを可能にすることによって、ワークフローを簡略化し、クライアントデバイスにおける作業負荷、およびネットワーク上のトラフィックを低減する、測定プロセスの統合を提供する。
さらに、ウォーターマーキング画像は、より正確で、より粒度の細かい測定値が取られることを可能にする。たとえば、コンテンツプロバイダは、ビデオの最初およびビデオの最後にウォーターマークを埋め込んで、ビデオ全体が消費されたか否かを決定することができる。ウォーターマークがビデオ内に埋め込まれたので、ウォーターマークが検出可能であるために、およびクライアントデバイスが測定アクションを実行するか、またはペイロードを転送することによって応答するために、ビデオがクライアントデバイスにおけるアプリケーションによって再生されなければならない。
別の例では、コンテンツプロバイダは、デジタルコンポーネント内に2つ以上のウォーターマークを埋め込むことができる。たとえば、コンテンツプロバイダは、デジタルコンポーネントの特定の部分が見えたことを保証するために、デジタルコンポーネント内の様々なロケーションにおいてウォーターマークを埋め込むことができる。
システムは、コンテンツパブリッシャーを含む、中間物によって取られる干渉または無効なアクションを防止し、よりセキュアな測定の方法を提供する。たとえば、システムは、コンテンツプロバイダから直接、クライアントデバイスへの測定命令の配信を可能にし、その理由は、測定スクリプトが、コンテンツパブリッシャーまたはSSPによって取り外すことができず、取り外される必要がなくなる方法で、コンテンツプロバイダによって提供され、デジタルコンポーネント中に埋め込まれるからである。実際に、コンテンツプロバイダが、埋め込まれたウォーターマークのプレースメントおよびフォーマットを制御することを可能にすることによって、システムは、ウォーターマークの高められたセキュリティを提供し、その理由は、SSPがデジタルコンポーネント自体を改変しないようになり、SSPがデジタルコンポーネントを改変しようと試みる場合、SSPは、ウォーターマークがどこにあるか、またはどのようなフォーマットであるかを知らないようになるからである。従来の方法は、SSPが測定スクリプトを除去することを控えること、または測定スクリプトを忠実に実行し、クライアントデバイスに転送することに依拠し、デジタルコンポーネントがクライアントデバイスにおいて提示されたか否か、およびどのように提示されたかを検出する能力を、SSPが防止する可能性を可能にした。説明する方法は、SSPなどの中間物に対して容易に除去可能または検出可能でない、埋め込まれたウォーターマークを使用して、クライアントデバイスによるアクションをトリガすることによって、この問題を解決する。
セキュアウォーターマークシステムは、SSPなどのシステムが、無効なトラフィックを検出し、コンテンツプロバイダに提供されたデバイスおよび対話に関する情報の操作を防止することを可能にする。たとえば、SSPは、コンテンツプロバイダにわたる特定のタイプの対話のための成功率を検討して、特定のコンテンツプロバイダが無効なトラフィックをより受けやすいか否かを決定することができる。SSPは、そこからこのデータに基づいて(たとえば、エクスチェンジを通して)選択基準および候補デジタルコンポーネントを請求するコンテンツプロバイダのセットを調整することができる。コンテンツプロバイダは、どのように、および何が測定されるかを選ぶことができるが、SSPもまた、収集されたデータを用いてシステムを改善することができる。
図3は、コンテンツに画像ウォーターマークを組み込む、例示的なプロセスのフロー図である。いくつかの実装形態では、プロセス300は、1つまたは複数のシステムによって実行され得る。たとえば、プロセス300は、図1~図2のDCDS110および/またはユーザデバイス106によって実装され得る。いくつかの実装形態では、プロセス300は、非一時的であり得るコンピュータ可読媒体上に記憶された命令として実装され得、命令が1つまたは複数のサーバによって実行されるとき、命令は、1つまたは複数のサーバにプロセス300の動作を実行させることができる。
プロセス300は、1つまたは複数のプロセッサを含むコンテンツサーバによって、クライアントデバイスから、特定のコンテンツ配信機会の1つまたは複数の特性を受信すること(302)から開始する。たとえば、DCDS110は、クライアントデバイス106から、電子文書サーバ104などのコンテンツサーバからのコンテンツのための要求を受信することができる。いくつかの実装形態では、要求は、要求されたコンテンツが配信されるコンテキストを含み、サードパーティコンテンツプロバイダ150は、コンテキスト情報を用いて、ウォーターマーク122を生成し、デジタルコンポーネント114に埋め込み、ウォーターマーク122が戻され得るようにし、そのコンテンツが調整されずにユーザに提供され得るようにするか、またはDCDS110などの中間物が他の情報を追加し、次いでクライアントデバイス106にデジタルコンポーネントおよびコンテンツを提供することができるようにする。クライアントデバイス106におけるアプリケーションは、ウォーターマークの、および/またはDCDS110によって追加された情報の包含を探すように構成され、ウォーターマークにおいて要求された情報を配信するために、ロケーションをピングするなどのアクションを取ることができる。いくつかの実装形態では、DCDS110は、単に、クライアントデバイス106からの情報に基づいて、電子文書サーバ104からの特定のコンテンツがユーザに配信されるようになると決定することができる。
上記で説明したように、コンテンツサーバからの要求されたコンテンツは、データのタイプの中でも、ストリーミングオーディオまたはビデオデータ、画像データ、およびテキストデータを含む、任意のタイプのデータであり得る。たとえば、コンテンツは、クライアントデバイス106上でプレイされているオンラインビデオゲームであり得る。DCDS110は、クライアントデバイス106からの情報に基づいて、電子文書サーバ104からのストリーミングビデオゲームコンテンツが要求されており、クライアントデバイス106のユーザに配信されるようになると決定することができる。
プロセス300は、コンテンツサーバによって、(i)ウォーターマークを検出するクライアントデバイスによるアクションをトリガするペイロードと、(ii)ウォーターマークの検出に応答して、クライアントデバイスによって接触される報告ロケーションとを表す、ウォーターマークを用いてステガノグラフィ処理されている、ウォーターマーク付きデジタルコンポーネントを取得すること(304)に続く。たとえば、DCDS110は、サードパーティコンテンツプロバイダ150から、ウォーターマーキング画像122が埋め込まれているウォーターマーク付きデジタルコンポーネント114を受信することができる。デジタルコンポーネント114は、サードパーティコンテンツプロバイダ150によって、ウォーターマーキング画像122を埋め込まれた。この例では、ウォーターマーキング画像122は、ウォーターマーキング画像122の検出時に、クライアントデバイス106によるアクションをトリガするペイロードを表し、ウォーターマーキング画像122はまた、ウォーターマーキング画像122の検出に応答して、クライアントデバイス106によって接触される、サードパーティコンテンツプロバイダ150のためのURL宛先などの報告ロケーションを表す。
いくつかの実装形態では、アクションは、ピングを作成することであり得、次いで、ピングが報告ロケーションに送られる。報告ロケーションは、たとえば、サードパーティコンテンツプロバイダ、SSP(この例では、DCDS110)、または何らかの他の指定されたロケーションであり得る。いくつかの実装形態では、アクションは、指定された測定アクションを実行する測定スクリプトなど、クライアントデバイス106においてすでにインストールされているスクリプトを起動することであり得る。いくつかの実装形態では、アクションは、指定されたロケーションから、スクリプト、または他のデータをダウンロードすることであり得る。
いくつかの実装形態では、ウォーターマーキング画像122は、ペイロードと共に提示データのための要求を含む。たとえば、クライアントデバイス106は、メトリクスの中でも、デジタルコンポーネントが実際に提示されたこと、またはデジタルコンポーネントのどのくらいが実際に提示されたかの指示を提供することができる。
いくつかの実装形態では、宛先ロケーションは、クライアントデバイスによるウォーターマークの検出に応答して、クライアントデバイスによって接触されるユニフォームリソースロケータ(URL)であり、ペイロードデータの少なくとも一部分が、クライアントデバイスによるウォーターマークの検出に応答して、URLに送信される。たとえば、宛先ロケーションは、クライアントデバイス106が、ウォーターマーキング画像122の検出に応答してピングするように要求される、URL宛先であり得る。ペイロードデータは、たとえば、クライアントデバイス106のための識別情報を証明するものとして、URL宛先に提供されるように要求されるデータの一部分を含み得る。
いくつかの実装形態では、ペイロードの所与の部分が暗号署名され、暗号署名されているペイロードの所与の部分が、ウォーターマーク付きデジタルコンポーネントの表示を引き起こすデータと共に、URLに送信される。たとえば、ペイロードは、サードパーティコンテンツプロバイダ150のみがペイロードを解読することができるように、サードパーティコンテンツプロバイダ150によって暗号署名され、いかなる改ざんもサードパーティコンテンツプロバイダ150によって検出可能であることを保証し、クライアントデバイス106ではないデバイスからの、またはペイロードを含んでいない、無効な応答の検出を可能にすることができる。
いくつかの実装形態では、コンテンツサーバは、受信されたデジタルコンポーネントから埋込みスクリプトを除去するように構成され、ウォーターマークは、ウォーターマークがコンテンツサーバによってウォーターマーク付きデジタルコンポーネントから除去されることを防止する形態を有する。たとえば、DCDS110は、受信するデジタルコンポーネントから埋込みスクリプトを除去するように構成され得る。ウォーターマーキング画像122は、デジタルコンポーネント114と共に組み込まれるように、デジタルコンポーネント114中に埋め込まれるので、DCDS110などのSSPが、コンテンツ自体に干渉するか、またはコンテンツ自体を改変することなく、コンテンツを配信するように構成されるとき、ウォーターマーキング画像122を除去することが可能でないようになる。
プロセス300は、コンテンツサーバによって、ウォーターマーク付きデジタルコンポーネントを、デジタルコンポーネントのソースとは異なるソースからのコンテンツと合成することによって、合成されたコンテンツを生成すること(306)に続く。たとえば、DCDS110は、クライアントデバイス106にコンテンツおよびデジタルコンポーネントを提供する前に、電子文書サーバ104からの要求されたコンテンツと共に、ウォーターマーク付きデジタルコンポーネントを組み込むことができる。
いくつかの実装形態では、合成されたコンテンツを生成することは、コンテンツ内の指定された再生ロケーションにおいて、コンテンツにウォーターマーク付きデジタルコンポーネントを組み込むことを含む。たとえば、要求されたコンテンツはビデオストリームであり得、DCDS110は、ビデオ内の特定の再生ロケーションに、ウォーターマーク付きデジタルコンポーネントを組み込むことができる。
いくつかの実装形態では、コンテンツはビデオストリームであり、コンテンツにウォーターマーク付きデジタルコンポーネントを組み込むことは、ビデオストリームにウォーターマーク付きデジタルコンポーネントを接合することを含む。たとえば、DCDS110は、ウォーターマーク付きデジタルコンポーネントを、特定の再生ロケーションにおいてビデオストリームと結合されるように、ビデオストリームに挿入することができる。
いくつかの実装形態では、コンテンツにウォーターマーク付きデジタルコンポーネントを組み込むことは、ストリーミングオーディオ、ストリーミングビデオ、ゲーミングコンテンツ、または画像のうちの1つに、ウォーターマーク付きデジタルコンポーネントを組み込むことを含む。上記で説明したように、DCDS110は、ストリーミングオーディオ、ストリーミングビデオ、ゲーミングコンテンツ、または画像を含む、任意のタイプのコンテンツに、ウォーターマーク付きデジタルコンポーネントを挿入することができる。
プロセス300は、コンテンツサーバによって、クライアントデバイスに、合成されたコンテンツを提供すること(308)に続く。たとえば、DCDS110は、クライアントデバイス106に、要求されたコンテンツと、ウォーターマーク付きデジタルコンポーネントとを提供することができる。
図1~図3に関して説明したようなプロセス300およびシステムは、環境の中でも、TV、映画、およびオンラインゲーミングなど、任意のストリーミング環境において適用され得る。
図4は、上記で説明した動作を実行するために使用され得る、例示的なコンピュータシステム400のブロック図である。システム400は、プロセッサ410と、メモリ420と、記憶デバイス430と、入出力デバイス440とを含む。構成要素410、420、430、および440の各々は、たとえば、システムバス450を使用して相互接続され得る。プロセッサ410は、システム400内の実行のために命令を処理することが可能である。一実装形態では、プロセッサ410は、シングルスレッドプロセッサである。別の実装形態では、プロセッサ410は、マルチスレッドプロセッサである。プロセッサ410は、メモリ420に、または記憶デバイス430上に記憶された命令を処理することが可能である。
メモリ420は、システム400内に情報を記憶する。一実装形態では、メモリ420は、コンピュータ可読媒体である。一実装形態では、メモリ420は、揮発性メモリユニットである。別の実装形態では、メモリ420は、不揮発性メモリユニットである。
記憶デバイス430は、システム400のための大容量記憶を提供することが可能である。一実装形態では、記憶デバイス430は、コンピュータ可読媒体である。様々な異なる実装形態では、記憶デバイス430は、たとえば、ハードディスクデバイス、光ディスクデバイス、複数のコンピューティングデバイス(たとえば、クラウド記憶デバイス)によってネットワーク上で共有される記憶デバイス、または何らかの他の大容量記憶デバイスを含み得る。
入出力デバイス440は、システム400のための入出力動作を提供する。一実装形態では、入出力デバイス440は、ネットワークインターフェースデバイス、たとえば、イーサネットカード、シリアル通信デバイス、たとえば、およびRS-232ポート、ならびに/またはワイヤレスインターフェースデバイス、たとえば、および802.11カードのうちの1つまたは複数を含み得る。別の実装形態では、入出力デバイスは、入力データを受信し、出力データを他の入出力デバイス、たとえば、キーボード、プリンタ、およびディスプレイデバイス460に送るように構成された、ドライバデバイスを含み得る。しかしながら、モバイルコンピューティングデバイス、モバイル通信デバイス、セットトップボックステレビジョンクライアントデバイスなどの他の実装形態も使用され得る。
例示的な処理システムについて、図4において説明したが、本明細書で説明した主題および機能的動作の実装形態は、他のタイプのデジタル電子回路において、または本明細書で開示した構造およびそれらの構造等価物を含む、コンピュータソフトウェア、ファームウェア、もしくはハードウェアにおいて、またはそれらのうちの1つもしくは複数の組合せにおいて実装され得る。
メディアは、必ずしもファイルに対応するとは限らない。メディアは、他の文書を保持するファイルの一部分において、当該の文書に専用の単一のファイルにおいて、または複数の協調ファイルにおいて記憶され得る。
本明細書で説明した主題および動作の実施形態は、デジタル電子回路において、または、本明細書で開示した構造およびそれらの構造等価物を含む、コンピュータソフトウェア、ファームウェア、もしくはハードウェアにおいて、またはそれらのうちの1つもしくは複数の組合せにおいて実装され得る。本明細書で説明した主題の実施形態は、データ処理装置による実行のために、またはデータ処理装置の動作を制御するために、1つまたは複数のコンピュータ記憶媒体上で符号化された1つまたは複数のコンピュータプログラム、すなわち、コンピュータプログラム命令の1つまたは複数のモジュールとして実装され得る。代替的にまたは追加として、プログラム命令は、データ処理装置による実行のために、好適な受信機装置への送信のために情報を符号化するために生成された、人工的に生成された伝搬信号、たとえば、機械生成の電気、光、または電磁信号上で符号化され得る。コンピュータ記憶媒体は、コンピュータ可読記憶デバイス、コンピュータ可読記憶基板、ランダムもしくはシリアルアクセスメモリアレイもしくはデバイス、またはそれらのうちの1つもしくは複数の組合せであり得るか、またはそれらに含まれ得る。さらに、コンピュータ記憶媒体は、伝搬信号ではなく、コンピュータ記憶媒体は、人工的に生成された伝搬信号において符号化されたコンピュータプログラム命令のソースまたは宛先であり得る。コンピュータ記憶媒体はまた、1つまたは複数の別個の物理構成要素または媒体(たとえば、複数のCD、ディスク、または他の記憶デバイス)であり得るか、またはそれらに含まれ得る。
本明細書で説明した動作は、1つもしくは複数のコンピュータ可読記憶デバイス上に記憶されたか、または他のソースから受信されたデータに対して、データ処理装置によって実行される動作として実装され得る。
「データ処理装置」という用語は、例として、プログラマブルプロセッサ、コンピュータ、システムオンチップ、または上記の複数のもの、もしくは上記の組合せを含む、データを処理するためのすべての種類の装置、デバイス、および機械を包含する。装置は、専用論理回路、たとえば、FPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)を含むことができる。装置は、ハードウェアに加えて、当該のコンピュータプログラムのための実行環境を作成するコード、たとえば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、クロスプラットフォームランタイム環境、仮想機械、またはそれらのうちの1つもしくは複数の組合せを構成するコードも含むことができる。装置および実行環境は、ウェブサービス、分散コンピューティングおよびグリッドコンピューティングインフラストラクチャなど、様々な異なるコンピューティングモデルインフラストラクチャを実現することができる。
(プログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプト、またはコードとしても知られる)コンピュータプログラムは、コンパイラ型またはインタープリタ型言語、宣言型または手続き型言語を含む、任意の形態のプログラミング言語で書かれることがあり、スタンドアロンプログラムとして、またはモジュール、構成要素、サブルーチン、オブジェクト、もしくはコンピューティング環境において使用するのに好適な他のユニットとして、を含めて、任意の形態で展開され得る。コンピュータプログラムは、ファイルシステムにおけるファイルに対応し得るが、そうである必要はない。プログラムは、他のプログラムもしくはデータ(たとえば、マークアップ言語文書に記憶された1つまたは複数のスクリプト)を保持するファイルの一部分に、当該のプログラム専用の単一のファイルに、または複数の協調ファイル(たとえば、1つまたは複数のモジュール、サブプログラム、またはコードの部分を記憶するファイル)に記憶され得る。コンピュータプログラムは、1つのコンピュータ上で、または、1つのサイトに位置するかもしくは複数のサイトにわたって分散され、通信ネットワークによって相互接続される複数のコンピュータ上で実行されるように展開され得る。
本明細書で説明したプロセスおよび論理フローは、入力データに対して動作し、出力を生成することによってアクションを実行するために、1つまたは複数のコンピュータプログラムを実行する1つまたは複数のプログラマブルプロセッサによって実行され得る。プロセスおよび論理フローは、専用論理回路、たとえば、FPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)によっても実行され得、装置が、同じく専用論理回路、たとえば、FPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)として実装され得る。
コンピュータプログラムの実行に好適なプロセッサは、例として、汎用マイクロプロセッサと専用マイクロプロセッサの両方を含む。一般に、プロセッサは、命令およびデータを読取り専用メモリ、もしくはランダムアクセスメモリ、またはその両方から受信するようになる。コンピュータの必須要素は、命令に従ってアクションを実行するためのプロセッサ、ならびに命令およびデータを記憶するための1つまたは複数のメモリデバイスである。一般に、コンピュータはまた、データを記憶するための1つまたは複数の大容量記憶デバイス、たとえば、磁気ディスク、光磁気ディスク、もしくは光ディスクを含むか、または、それらからデータを受信することもしくはそれらにデータを転送すること、もしくは両方を行うために動作可能に結合されるようになる。しかしながら、コンピュータは、そのようなデバイスを有する必要はない。さらに、コンピュータは、別のデバイス、たとえば、ほんの数例を挙げると、モバイル電話、携帯情報端末(PDA)、モバイルオーディオもしくはビデオプレーヤ、ゲームコンソール、全地球測位システム(GPS)受信機、またはポータブル記憶デバイス(たとえば、ユニバーサルシリアルバス(USB)フラッシュドライブ)に埋め込まれ得る。コンピュータプログラム命令およびデータを記憶するのに好適なデバイスは、例として、半導体メモリデバイス、たとえば、EPROM、EEPROM、およびフラッシュメモリデバイス、磁気ディスク、たとえば、内蔵ハードディスクまたはリムーバブルディスク、光磁気ディスク、ならびにCD-ROMおよびDVD-ROMディスクを含む、すべての形態の不揮発性メモリ、媒体およびメモリデバイスを含む。プロセッサおよびメモリは、専用論理回路によって補完され得るか、または専用論理回路に組み込まれ得る。
ユーザとの対話を提供するために、本明細書で説明した主題の実施形態は、情報をユーザに表示するためのディスプレイデバイス、たとえば、CRT(陰極線管)またはLCD(液晶ディスプレイ)モニタと、それによってユーザが入力をコンピュータに提供することができるキーボードおよびポインティングデバイス、たとえば、マウスまたはトラックボールとを有するコンピュータ上で実装され得る。他の種類のデバイスも、ユーザとの対話を提供するために使用され得、たとえば、ユーザに提供されるフィードバックは、任意の形態の感覚フィードバック、たとえば、視覚フィードバック、聴覚フィードバック、または触覚フィードバックであり得、ユーザからの入力は、音響入力、音声入力、または触覚入力を含む任意の形態で受信され得る。加えて、コンピュータは、ユーザによって使用されるデバイスに文書を送り、そのデバイスから文書を受信することによって、たとえば、ユーザのクライアントデバイス上のウェブブラウザから受信された要求に応答して、そのウェブブラウザにウェブページを送ることによって、ユーザと対話することができる。
本明細書で説明した主題の実施形態は、たとえば、データサーバとして、バックエンド構成要素を含むか、もしくはミドルウェア構成要素、たとえば、アプリケーションサーバを含むか、またはフロントエンド構成要素、たとえば、ユーザが本明細書で説明した主題の実装形態とそれを通して対話することができるグラフィカルユーザインターフェースまたはウェブブラウザを有するクライアントコンピュータを含むか、あるいは1つもしくは複数のそのようなバックエンド構成要素、ミドルウェア構成要素、またはフロントエンド構成要素の任意の組合せを含む、コンピューティングシステムにおいて実装され得る。システムの構成要素は、デジタルデータ通信の任意の形態または媒体、たとえば、通信ネットワークによって相互接続され得る。通信ネットワークの例には、ローカルエリアネットワーク(「LAN」)およびワイドエリアネットワーク(「WAN」)、インターネットワーク(たとえば、インターネット)、ならびにピアツーピアネットワーク(たとえば、アドホックピアツーピアネットワーク)が含まれる。
コンピューティングシステムは、クライアントおよびサーバを含み得る。クライアントおよびサーバは、一般に互いから離れており、典型的には通信ネットワークを通して対話する。クライアントとサーバとの関係は、それぞれのコンピュータ上で実行され、互いにクライアントサーバ関係を有するコンピュータプログラムによって生じる。いくつかの実施形態では、サーバは、(たとえば、クライアントデバイスと対話するユーザにデータを表示し、そのユーザからユーザ入力を受信する目的で)クライアントデバイスにデータ(たとえば、HTMLページ)を送信する。クライアントデバイスにおいて生成されたデータ(たとえば、ユーザ対話の結果)は、クライアントデバイスからサーバにおいて受信され得る。
本明細書は多くの特定の実装形態の詳細を含んでいるが、これらは任意の発明の範囲または特許請求され得るものの範囲に対する限定として解釈されるべきではなく、むしろ特定の発明の特定の実施形態に特有の特徴の説明として解釈されるべきである。別個の実施形態の文脈において本明細書で説明するいくつかの特徴はまた、単一の実施形態において組み合わせて実装され得る。逆に、単一の実施形態の文脈において説明する様々な特徴はまた、複数の実施形態において別個に、または任意の好適な部分組合せにおいて実装され得る。さらに、特徴はいくつかの組合せにおいて働くものとして上記で説明され、そのようなものとして最初に特許請求されることさえあるが、特許請求される組合せからの1つまたは複数の特徴は、場合によっては、その組合せから削除される場合があり、特許請求される組合せは、部分組合せまたは部分組合せの変形形態を対象とし得る。
同様に、動作は、特定の順序で図面に示されるが、これは、望ましい結果を達成するために、そのような動作が図示された特定の順序でもしくは順番に実行されること、またはすべての例示された動作が実行されることを必要とするものとして理解されるべきではない。いくつかの状況では、マルチタスキングおよび並列処理が有利であり得る。さらに、上記で説明した実施形態における様々なシステム構成要素の分離は、すべての実施形態においてそのような分離を必要とするものとして理解されるべきではなく、説明したプログラム構成要素およびシステムは一般に、単一のソフトウェア製品に一緒に組み込まれ得るか、または複数のソフトウェア製品にパッケージ化され得ることを理解されたい。
以上、本主題の特定の実施形態について説明した。他の実施形態は、添付の特許請求の範囲内にある。場合によっては、特許請求の範囲において列挙されるアクションは、異なる順序で実行される場合があり、依然として望ましい結果を達成することができる。加えて、添付の図において図示されるプロセスは、望ましい結果を達成するために、必ずしも示されている特定の順序または順番を必要とするとは限らない。いくつかの実装形態では、マルチタスキングおよび並列処理が有利であり得る。