(57)【特許請求の範囲】
【請求項１】
クライアントデバイス上で実行されるアプリケーションによるコンテンツアイテムの提示の不適切な実施を検出するための方法であって、
第1のコンテンツアイテム、第2のコンテンツアイテム、およびインタラクション確認スクリプトを含むコンテンツパッケージを、1つまたは複数のデータプロセッサを含むクライアントデバイス上で実行されるアプリケーションによって第1のサーバから受信するステップであって、
前記インタラクション確認スクリプトが、前記クライアントデバイス上で実行される前記アプリケーション内で実行され、かつ、前記アプリケーションに、
前記クライアントデバイスの前記アプリケーション内に提示された前記第1のコンテンツアイテムに応じて、前記第1のコンテンツアイテムとの第1のインタラクションイベントを検出させ、
前記第1のコンテンツアイテムに関する前記第1のインタラクションイベントを検出すると、前記アプリケーション内に前記第2のコンテンツアイテムを提示させ、
前記第2のコンテンツアイテムとの第2のインタラクションイベントを検出させ、
前記第2のインタラクションイベントを検出すると、前記第1のインタラクションイベントの確認を前記第1のサーバへ送信させることであって、
前記第1のサーバが、コンテンツ制限リストをデータベースに維持するように構成され、前記コンテンツ制限リストが、複数のアプリケーションに対応する複数のアプリケーション識別子を含み、前記コンテンツ制限リストが、前記コンテンツ制限リストの前記アプリケーション識別子が対応する前記複数のアプリケーションからのコンテンツ要求に応じて送信するための前記第1のコンテンツアイテムの選択を制限するために使用される、送信させることと、
前記第2のコンテンツアイテムにリンクされた情報リソースにアクセスするようにとの要求を第2のサーバへ送信させる
ように構成される、ステップと、
前記第2のコンテンツアイテムに関する前記第2のインタラクションイベントに応じて前記情報リソースを前記クライアントデバイスによって提示するステップと
を含む、方法。
【請求項２】
前記第1のコンテンツアイテムが、前記アプリケーションのその他のコンテンツアイテムの表示パラメータに合うように構成されたネイティブコンテンツアイテムを含む請求項1に記載の方法。
【請求項３】
前記第2のコンテンツアイテムが、表示されるときに前記アプリケーションの表示エリアの大部分を占めるように構成されたインタースティシャルコンテンツアイテムを含む請求項2に記載の方法。
【請求項４】
前記第2のコンテンツアイテムが、前記アプリケーションが前記第2のインタラクションイベントを検出し、前記第1のインタラクションイベントの前記確認を送信するための命令を含むスクリプトを含む請求項1に記載の方法。
【請求項５】
前記第1のコンテンツアイテムが、前記第2のコンテンツアイテムに含まれるテキストと同じテキストを含む請求項1に記載の方法。
【請求項６】
前記インタラクション確認スクリプトが、前記アプリケーションによって実行されると、前記アプリケーションに、前記第1のインタラクションイベントを検出すると前記第1のインタラクションイベントの指示を前記第1のサーバへ送信させる、コンピュータ実行可能命令をさらに含む請求項1に記載の方法。
【請求項７】
前記第1のサーバが、
前記アプリケーションから前記確認を受信することに失敗することに応じて前記アプリケーションのアプリケーション識別子を前記コンテンツ制限リストに追加し、
後続のコンテンツ要求を受信することに応じて、前記コンテンツ制限リストの前記アプリケーション識別子が対応する前記アプリケーションに送信するための前記第1のコンテンツアイテムの選択を制限すると決定する
ようにさらに構成される請求項1に記載の方法。
【請求項８】
前記第1のインタラクションイベントの前記確認が、前記アプリケーションを特定するためのアプリケーション識別子を含む請求項1に記載の方法。
【請求項９】
クライアントデバイス上で実行されるアプリケーションによるコンテンツアイテムの提示の不適切な実施を検出するためのシステムであって、
プロセッサと、
前記プロセッサに結合されたメモリであって、前記プロセッサによって実行されると、前記プロセッサに、
第1のコンテンツアイテム、第2のコンテンツアイテム、およびインタラクション確認スクリプトを含むコンテンツパッケージを、クライアントデバイス上で実行されるアプリケーションによって第1のサーバから受信することであって、
前記インタラクション確認スクリプトが、前記クライアントデバイス上で実行される前記アプリケーション内で実行され、かつ、前記アプリケーションに
前記クライアントデバイスの前記アプリケーション内に提示された前記第1のコンテンツアイテムに応じて、前記第1のコンテンツアイテムとの第1のインタラクションイベントを検出させ、
前記第1のコンテンツアイテムに関する前記第1のインタラクションイベントを検出すると、前記アプリケーション内に前記第2のコンテンツアイテムを提示させ、
前記第2のコンテンツアイテムとの第2のインタラクションイベントを検出させ、
前記第2のインタラクションイベントを検出すると、前記第1のインタラクションイベントの確認を前記第1のサーバへ送信させることであって、
前記第1のサーバが、コンテンツ制限リストをデータベースに維持するように構成され、前記コンテンツ制限リストが、複数のアプリケーションに対応する複数のアプリケーション識別子を含み、前記コンテンツ制限リストが、前記コンテンツ制限リストの前記アプリケーション識別子が対応する前記複数のアプリケーションからのコンテンツ要求に応じて送信するための前記第1のコンテンツアイテムの選択を制限するために使用される、送信させることと、
前記第2のコンテンツアイテムにリンクされた情報リソースにアクセスするようにとの要求を第2のサーバへ送信させる
ように構成される、受信すること、ならびに
前記第2のコンテンツアイテムに関する前記第2のインタラクションイベントに応じて前記情報リソースを前記クライアントデバイスによって提示すること
を行わせる、コンピュータ実行可能命令を記憶した、メモリと
を含む、システム。
【請求項１０】
前記第1のコンテンツアイテムが、前記アプリケーションのその他のコンテンツアイテムの表示パラメータに合うように構成されたネイティブコンテンツアイテムを含む請求項9に記載のシステム。
【請求項１１】
前記第2のコンテンツアイテムが、表示されるときに前記アプリケーションの表示エリアの大部分を占めるように構成されたインタースティシャルコンテンツアイテムを含む請求項10に記載のシステム。
【請求項１２】
前記第2のコンテンツアイテムが、前記アプリケーションが前記第2のインタラクションイベントを検出し、前記第1のインタラクションイベントの前記確認を送信するための命令を含むスクリプトを含む請求項9に記載のシステム。
【請求項１３】
前記第1のコンテンツアイテムが、前記第2のコンテンツアイテムに含まれるテキストと同じテキストを含む請求項9に記載のシステム。
【請求項１４】
前記インタラクション確認スクリプトが、前記アプリケーションによって実行されると、前記アプリケーションに、前記第1のインタラクションイベントを検出すると前記第1のインタラクションイベントの指示を前記第1のサーバへ送信させる、さらなるコンピュータ実行可能命令を含む請求項9に記載のシステム。
【請求項１５】
前記第1のサーバが、
前記アプリケーションから前記確認を受信することに失敗することに応じて前記アプリケーションのアプリケーション識別子を前記コンテンツ制限リストに追加し、
後続のコンテンツ要求を受信することに応じて、前記コンテンツ制限リストの前記アプリケーション識別子が対応する前記アプリケーションに送信するための前記第1のコンテンツアイテムの選択を制限すると決定する
ようにさらに構成される請求項9に記載のシステム。
【請求項１６】
前記第1のインタラクションイベントの前記確認が、前記アプリケーションを特定するためのアプリケーション識別子を含む請求項9に記載のシステム。
【請求項１７】
クライアントデバイス上で実行されるアプリケーションにおけるコンテンツアイテムの提示の不適切な実施を検出するための方法であって、
1つまたは複数のプロセッサを含むデータ処理システムによって、複数のクライアントデバイスからコンテンツ要求を受信するステップであって、前記コンテンツ要求の各々が、前記複数のクライアントデバイスのそれぞれのクライアントデバイス上で実行されるアプリケーションによって生成される、ステップと、
第1のコンテンツアイテム、第2のコンテンツアイテム、およびインタラクション確認スクリプトを含むコンテンツパッケージを、前記データ処理システムによって前記複数のクライアントデバイスの第1のサブセットの各クライアントデバイスに、前記クライアントデバイスからのコンテンツ要求に応じて送信するステップであって、前記インタラクション確認スクリプトが、前記アプリケーションに
第1の提示フォーマットで提示されるように前記第1のコンテンツアイテムを構成させ、
前記第1の提示フォーマットで前記第1のコンテンツアイテムを提示させ、
前記第1のコンテンツアイテムに関する第1のインタラクションイベントを検出することに応じて前記第2のコンテンツアイテムを表示させ、
前記第2のコンテンツアイテムに関する第2のインタラクションイベントを検出することに応じて前記データ処理システムに確認を送信させる
ように構成される、ステップと、
前記第1のコンテンツアイテムを、前記データ処理システムによって前記複数のクライアントデバイスの第2のサブセットの各クライアントデバイスに、前記クライアントデバイスからのコンテンツ要求に応じて送信するステップと、
前記複数のクライアントデバイスの前記第1のサブセットから受信された確認に基づいて前記コンテンツパッケージの第1の性能の測定基準を前記データ処理システムによって判定するステップと、
前記クライアントデバイスの前記第2のサブセットから受信された確認に基づいて前記第1のコンテンツアイテムの第2の性能の測定基準を前記データ処理システムによって判定するステップと、
前記データ処理システムによって前記第1の性能の測定基準を前記第2の性能の測定基準と比較するステップと、
前記アプリケーションを特定する後続のコンテンツ要求に応じて送信するための前記第1のコンテンツアイテムの選択を制限するために、前記比較に基づいて前記データ処理システムによって前記アプリケーションのアプリケーション識別子をコンテンツ制限リストに追加するステップと
を含む、方法。
【請求項１８】
前記第1のコンテンツアイテムが、前記アプリケーションのその他のコンテンツアイテムの表示パラメータに合うように構成されたネイティブコンテンツアイテムを含む請求項17に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願
本出願は、2017年3月3日に出願した、「Systems and Methods for Detecting Improper Implementation of Presentation of Content Items by Applications Executing on Client Devices」と題したPCT出願PCT/US2017/020735号の利益および優先権を主張するものであり、このPCT出願の全体は、参照により本明細書に組み込まれる。
【背景技術】
【０００２】
インターネットなどのコンピュータネットワーク化された環境においては、サーバからのデータが、コンテンツの要求に応じてクライアントデバイスに配信され得る。クライアントデバイスは、サーバからデータを受信する。データは、クライアントデバイスにおいて表示するためにデータに対応するコンテンツをレンダリングするための命令を含み得る。コンテンツ発行元は、コンテンツアイテム(たとえば、ネイティブコンテンツアイテム)の提示パラメータに対応する命令を規定する可能性がある。
【発明の概要】
【課題を解決するための手段】
【０００３】
少なくとも1つの態様は、クライアントデバイス上で実行されるアプリケーションによるコンテンツアイテムの不適切な提示を検出するための方法を対象とする。方法は、アプリケーションによるコンテンツアイテムの不適切な提示が原因で起こるクライアントデバイス上で実行されるアプリケーションにおけるネイティブコンテンツアイテムとの意図しないインタラクションを検出することができる。方法は、第1のコンテンツアイテム、第2のコンテンツアイテム、およびインタラクション確認スクリプトを含むコンテンツパッケージを、1つまたは複数のデータプロセッサを含むクライアントデバイス上で実行されるアプリケーションによって第1のサーバから受信するステップであって、インタラクション確認スクリプトが、クライアントデバイス上で実行されるアプリケーション内で実行され、アプリケーションに、クライアントデバイスのアプリケーション内に提示された第1のコンテンツアイテムに応じて、第1のコンテンツアイテムとの第1のインタラクションイベントを検出させ、第1のコンテンツアイテムに関する第1のインタラクションイベントを検出すると、アプリケーション内に第2のコンテンツアイテムを提示させ、第2のコンテンツアイテムとの第2のインタラクションイベントを検出させ、第2のインタラクションイベントを検出すると、第1のインタラクションイベントの確認を第1のサーバに送信させ、第2のコンテンツアイテムにリンクされた情報リソースにアクセスするようにとの要求を第2のサーバに送信させるように構成される、ステップを含み得る。方法は、第2のコンテンツアイテムに関する第2のインタラクションイベントに応じて情報リソースをクライアントデバイスによって提示するステップをさらに含み得る。
【０００４】
一部の実装において、第1のコンテンツアイテムは、アプリケーションのその他のコンテンツアイテムの表示パラメータに合うように構成されたネイティブコンテンツアイテムを含む。一部の実装において、第2のコンテンツアイテムは、表示されるときにアプリケーションの表示エリアの大部分を占めるように構成されたインタースティシャルコンテンツアイテムを含む。一部の実装において、第2のコンテンツアイテムは、アプリケーションが第2のインタラクションイベント検出し、第1のインタラクションイベントの確認を送信するための命令を含むスクリプトを含む。一部の実装において、第1のコンテンツアイテムは、第2のコンテンツアイテムに含まれるテキストと同じテキストを含む。
【０００５】
一部の実装において、インタラクション確認スクリプトは、アプリケーションによって実行されるときにアプリケーションに、第1のインタラクションイベントを検出すると第1のインタラクションイベントの指示を第1のサーバに送信させる、コンピュータ実行可能命令をさらに含む。一部の実装において、第1のサーバは、コンテンツ制限リストをデータベースに維持するように構成され、コンテンツ制限リストは、複数のアプリケーションに対応する複数のアプリケーション識別子を含み、コンテンツ制限リストは、リストのアプリケーション識別子が対応する複数のアプリケーションからのコンテンツ要求に応じて送信するための第1のコンテンツアイテムの選択を制限するために使用される。一部の実装において、第1のサーバは、アプリケーションから確認を受信することに失敗することに応じてアプリケーションのアプリケーション識別子をコンテンツ制限リストに追加し、後続のコンテンツ要求を受信することに応じて、コンテンツ制限リストのアプリケーション識別子が対応するアプリケーションに送信するための第1のコンテンツアイテムの選択を制限すると決定するようにさらに構成される。一部の実装において、第1のインタラクションイベントの確認は、アプリケーションを特定するためのアプリケーション識別子を含む。
【０００６】
少なくとも1つの態様は、クライアントデバイス上で実行されるアプリケーションによるコンテンツアイテムの不適切な提示を検出するためのシステムを対象とする。システムは、アプリケーションによるコンテンツアイテムの不適切な提示が原因で起こるクライアントデバイス上で実行されるアプリケーションにおけるネイティブコンテンツアイテムとの意図しないインタラクションを検出することができる。システムは、プロセッサと、プロセッサに結合されたメモリとを含み得る。メモリは、プロセッサによって実行されるときにプロセッサに、第1のコンテンツアイテム、第2のコンテンツアイテム、およびインタラクション確認スクリプトを含むコンテンツパッケージを、クライアントデバイス上で実行されるアプリケーションによって第1のサーバから受信させる、コンピュータ実行可能命令を記憶することができる。インタラクション確認スクリプトは、クライアントデバイス上で実行されるアプリケーション内で実行され、アプリケーションに、クライアントデバイスのアプリケーション内に提示された第1のコンテンツアイテムに応じて、第1のコンテンツアイテムとの第1のインタラクションイベントを検出させ、第1のコンテンツアイテムに関する第1のインタラクションイベントを検出すると、アプリケーション内に第2のコンテンツアイテムを提示させ、第2のコンテンツアイテムとの第2のインタラクションイベントを検出させ、第2のインタラクションイベントを検出すると、第1のインタラクションイベントの確認を第1のサーバに送信させ、第2のコンテンツアイテムにリンクされた情報リソースにアクセスするようにとの要求を第2のサーバに送信させるように構成され得る。コンピュータ実行可能命令は、さらに、プロセッサに、第2のコンテンツアイテムに関する第2のインタラクションイベントに応じて情報リソースをクライアントデバイスによって提示させ得る。
【０００７】
一部の実装において、第1のコンテンツアイテムは、アプリケーションのその他のコンテンツアイテムの表示パラメータに合うように構成されたネイティブコンテンツアイテムを含む。一部の実装において、第2のコンテンツアイテムは、表示されるときにアプリケーションの表示エリアの大部分を占めるように構成されたインタースティシャルコンテンツアイテムを含む。一部の実装において、第2のコンテンツアイテムは、アプリケーションが第2のインタラクションイベント検出し、第1のインタラクションイベントの確認を送信するための命令を含むスクリプトを含む。一部の実装において、第1のコンテンツアイテムは、第2のコンテンツアイテムに含まれるテキストと同じテキストを含む。
【０００８】
一部の実装において、インタラクション確認スクリプトは、アプリケーションによって実行されるときにアプリケーションに、第1のインタラクションイベントを検出すると第1のインタラクションイベントの指示を第1のサーバに送信させる、コンピュータ実行可能命令をさらに含む。一部の実装において、第1のサーバは、コンテンツ制限リストをデータベースに維持するように構成され、コンテンツ制限リストは、複数のアプリケーションに対応する複数のアプリケーション識別子を含み、コンテンツ制限リストは、リストのアプリケーション識別子が対応する複数のアプリケーションからのコンテンツ要求に応じて送信するための第1のコンテンツアイテムの選択を制限するために使用される。一部の実装において、第1のサーバは、アプリケーションから確認を受信することに失敗することに応じてアプリケーションのアプリケーション識別子をコンテンツ制限リストに追加し、後続のコンテンツ要求を受信することに応じて、コンテンツ制限リストのアプリケーション識別子が対応するアプリケーションに送信するための第1のコンテンツアイテムの選択を制限すると決定するようにさらに構成される。一部の実装において、第1のインタラクションイベントの確認は、アプリケーションを特定するためのアプリケーション識別子を含む。
【０００９】
少なくとも1つの態様は、クライアントデバイス上で実行されるアプリケーションにおけるコンテンツアイテムの不適切な提示を検出するための方法を対象とする。方法は、アプリケーションによるコンテンツアイテムの不適切な提示が原因で起こるクライアントデバイス上で実行されるアプリケーションにおけるネイティブコンテンツアイテムとの意図しないインタラクションを検出することができる。方法は、1つまたは複数のプロセッサを含むデータ処理システムによって、複数のクライアントデバイスからコンテンツ要求を受信するステップであって、コンテンツ要求の各々が、複数のクライアントデバイスのそれぞれのクライアントデバイス上で実行されるアプリケーションによって生成される、ステップを含む。方法は、第1のコンテンツアイテム、第2のコンテンツアイテム、およびインタラクション確認スクリプトを含むコンテンツパッケージを、データ処理システムによって複数のクライアントデバイスの第1のサブセットの各クライアントデバイスに、そのクライアントデバイスからのコンテンツ要求に応じて送信するステップであって、インタラクション確認スクリプトが、アプリケーションに、第1の提示フォーマットで提示されるように第1のコンテンツアイテムを構成させ、第1の提示フォーマットで第1のコンテンツアイテムを提示させ、第1のコンテンツアイテムに関する第1のインタラクションイベントを検出することに応じて第2のコンテンツアイテムを表示させ、第2のコンテンツアイテムに関する第2のインタラクションイベントを検出することに応じてデータ処理システムに確認を送信させるように構成される、ステップをさらに含み得る。方法は、第1のコンテンツアイテムを、データ処理システムによって複数のクライアントデバイスの第2のサブセットの各クライアントデバイスに、そのクライアントデバイスからのコンテンツ要求に応じて送信するステップをさらに含み得る。方法は、複数のクライアントデバイスの第1のサブセットから受信された確認に基づいて第1のコンテンツパッケージの第1の性能の測定基準をデータ処理システムによって判定するステップをさらに含み得る。方法は、クライアントデバイスの第2のサブセットから受信された確認に基づいて第1のコンテンツアイテムの第2の性能の測定基準をデータ処理システムによって判定するステップをさらに含み得る。方法は、データ処理システムによって第1の性能の測定基準を第2の性能の測定基準と比較するステップをさらに含み得る。方法は、アプリケーションを特定する後続のコンテンツ要求に応じて送信するための第1のコンテンツアイテムの選択を制限するために、比較に基づいてデータ処理システムによってアプリケーションのアプリケーション識別子をコンテンツ制限リストに追加するステップをさらに含み得る。
【００１０】
一部の実装において、第1のコンテンツアイテムは、アプリケーションのその他のコンテンツアイテムの表示パラメータに合うように構成されたネイティブコンテンツアイテムを含む。
【００１１】
これらのおよびその他の態様および実装が、下で詳細に検討される。上述の情報および下の詳細な説明は、様々な態様および実装の例示的な例を含み、請求される態様および実装の本質および特徴を理解するための概要または枠組みを提供する。図面は、様々な態様および実装を例示し、さらに理解させ、本明細書の一部に組み込まれ、本明細書の一部を構成する。態様および実装が組み合わされる可能性があり、1つの態様または実装に関連して説明された特徴がその他の態様に関連して実装される可能性があることは、理解されるであろう。
【００１２】
添付の図面は、正しい縮尺で描かれるように意図されていない。様々な図面における同様の参照番号および参照指示は、同様の要素を示す。明瞭にする目的で、あらゆる図面においてあらゆる構成要素がラベル付けされるとは限らない可能性がある。
【図面の簡単な説明】
【００１３】
【図１】一部の実装による、クライアントデバイス上で実行されるアプリケーションによるコンテンツアイテムの不適切な提示を検出するための環境を示すブロック図である。
【図２】一部の実装による、クライアントデバイス上で実行されるアプリケーションによるコンテンツアイテムの不適切な提示を検出するためのシステムを示すブロック図である。
【図３】一部の実装による、クライアントデバイス上で実行されるアプリケーションによるコンテンツアイテムの不適切な提示を検出するための環境内の通信を示すシグナリング図である。
【図４】一部の実装による、ネイティブコンテンツアイテムとの意図しないインタラクションを検出するための方法を示す流れ図である。
【図５】一部の実装による、図4に関連して説明されるクライアントデバイス上で実行されるアプリケーションと通信するデータ処理システムによってコンテンツアイテムの不適切な提示を検出するための方法を示す流れ図である。
【図６】一部の実装による、本明細書において説明され、図示されるシステムおよび方法の要素を実装するために使用され得るコンピュータシステムのための全体的なアーキテクチャを示すブロック図である。
【発明を実施するための形態】
【００１４】
以下は、クライアントデバイス上で実行されるアプリケーションによるコンテンツアイテムの不適切な提示を検出するための方法、装置、およびシステムに関連する様々な概念ならびにそれらの方法、装置、およびシステムの実装のより詳細な説明である。上で導入され、下でより詳細に検討される様々な概念は、説明される概念が実装のいかなる特定の方法にも限定されないので、多数の方法のいずれかで実装される可能性がある。
【００１５】
本開示は、クライアントデバイス上で実行されるアプリケーションによるコンテンツアイテムの不適切な提示を検出するためのシステムおよび方法に関する。特に、本開示は、モバイルコンピューティングデバイス上で実行されるアプリケーションにおけるコンテンツアイテムとの間違ったインタラクションを検出するためのシステムおよび方法に関する。
【００１６】
モバイルアプリケーション内で、画像、動画、またはその他の表示可能なコンテンツなどの動的にロードされるコンテンツアイテムが、ネイティブフォーマットまたはインタースティシャルフォーマットでアプリケーションのルックアンドフィールの中に組み込まれる可能性がある。ネイティブフォーマットで、コンテンツアイテムの発行元は、コンテンツアイテムが最終的に表示されるモバイルアプリケーションに関係なく、コンテンツアイテムの構成要素のフォント、色、位置、またはコンテンツアイテムのその他の詳細などのコンテンツアイテムの特徴を自由にカスタマイズすることができる。インタースティシャルフォーマットで、コンテンツアイテムは、典型的には、アプリケーションのフローの中の自然な遷移点でまたは論理的休止中に表示され、アプリケーションの通常のユーザインターフェースをオーバレイする可能性がある(たとえば、インタースティシャルコンテンツアイテムが、フルスクリーンで表示される可能性がある)。
【００１７】
ネイティブフォーマットのコンテンツアイテムに関しては、概して、ネイティブコンテンツアイテムを提供することが、コンテンツ発行元が適切と判断するときにコンテンツ発行元が自由に実施または表示することができるコンテンツアイテムの個々の構成要素(たとえば、タイトル、画像、説明など)を提供することをともなう。しかし、発行元は、ネイティブコンテンツアイテムを不適切に表示することが多く、意図しないユーザインタラクションによって引き起こされる悪いユーザエクスペリエンスを招く。たとえば、モバイルデバイスのロックされた画面をスワイプすることによってモバイルデバイスがロックを解除されることを可能にする「スワイプしてロック解除」機能を考える。ロックされた画面上に、モバイルデバイスは、スワイプすることによってやはり作動されるコンテンツアイテムも表示する可能性がある。コンテンツアイテムは、「スワイプしてロック解除」のエリア上にまたは「スワイプしてロック解除」のエリアのごく近くに誤って表示される可能性がある。したがって、ユーザがモバイルデバイスをロック解除するためにスワイプするとき、スワイプは、スワイプしてロック解除として認識される可能性があるだけでなく、さらに(および誤って)コンテンツアイテムとのインタラクションとしても認識される可能性があり、モバイルデバイスが意図せずにスワイプされたコンテンツアイテムに関連するリンクをブラウザ内で開くなどの望まれていない動作を実行する結果となる。
【００１８】
クライアントデバイスのアプリケーション内に誤って提示されるコンテンツアイテム(たとえば、アプリケーション内に不適切にレンダリングされるコンテンツアイテム)に関連する技術的な問題が、存在する。たとえば、誤って表示されたまたは提示されたコンテンツアイテムの意図しないクリックを処理するコンピュータ実行可能命令をクライアントデバイスに実行させることは、バッテリー消費の増大、意図せずにクリックされたコンテンツアイテムに関連するデータを提供する際のネットワークリソースの浪費、およびクライアントデバイスの性能に悪影響を与える可能性がある追加的な計算リソースを招き得る。さらに、コンテンツアイテムとの意図しないインタラクションは、芳しくないユーザエクスペリエンスを招き得る。
【００１９】
図1は、一部の実装による、クライアントデバイス上で実行されるアプリケーションによるコンテンツアイテムの不適切な提示を検出するための環境を示すブロック図である。環境100は、少なくとも1つのデータ処理システム110を含む。データ処理システム110は、少なくとも1つのプロセッサ(または処理回路)およびメモリを含み得る。メモリは、プロセッサ上で実行されるときにプロセッサに本明細書において説明される動作のうちの1つまたは複数を実行させるプロセッサが実行可能な命令を記憶する。プロセッサは、マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)など、またはこれらの組合せを含み得る。メモリは、プロセッサにプログラム命令を与えることができる電子、光、磁気、または任意のその他のストレージまたは送信デバイスを含む可能性があるがこれに限定されない。メモリは、フロッピーディスク、CD-ROM、DVD、磁気ディスク、メモリチップ、ASIC、FPGA、読み出し専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、電気的消去可能ROM(EEPROM)、消去可能プログラマブルROM(EPROM)、フラッシュメモリ、光学式媒体、またはプロセッサが命令を読むことができる任意のその他の好適なメモリをさらに含み得る。命令は、任意の好適なコンピュータプログラミング言語からのコードを含み得る。データ処理システム110は、様々な機能を実行することができる1つまたは複数のコンピューティングデバイスまたはサーバを含み得る。
【００２０】
ネットワーク105は、インターネット、ローカルエリアネットワーク、ワイドネットワーク、メトロエリアネットワーク、またはその他のエリアネットワークなどのコンピュータネットワーク、イントラネット、衛星ネットワーク、音声またはデータモバイル電話通信ネットワークなどのその他のコンピュータネットワーク、およびこれらの組合せを含み得る。環境100のデータ処理システム110は、ネットワーク105を介して、たとえば、少なくとも1つのコンテンツプロバイダコンピューティングデバイス115、少なくとも1つのコンテンツ発行元コンピューティングデバイス120、または少なくとも1つのクライアントデバイス125と通信することができる。ネットワーク105は、クライアントデバイス125と、データ処理システム110と、1つまたは複数のコンテンツソース、たとえば、とりわけウェブサーバ、コンテンツサーバとの間で情報を中継する任意の形態のコンピュータネットワークである可能性がある。たとえば、ネットワーク105は、インターネット、および/またはローカルエリアネットワーク(LAN)、ワイドネットワーク(WAN)、セルラーネットワーク、衛星ネットワーク、もしくはその他の種類のデータネットワークなどのその他の種類のデータネットワークを含む可能性がある。ネットワーク105は、ネットワーク105内でデータを受信および/または送信するように構成される任意の数のコンピューティングデバイス(たとえば、コンピュータ、サーバ、ルータ、ネットワークスイッチなど)も含み得る。ネットワーク105は、任意の数の有線および/またはワイヤレス接続をさらに含み得る。たとえば、クライアントデバイス125は、ネットワーク105内のその他のコンピューティングデバイスに(たとえば、光ファイバケーブル、CAT5ケーブルなどによって)結線されるトランシーバと(たとえば、WiFi、セルラー、無線などによって)ワイヤレスで通信し得る。
【００２１】
コンテンツプロバイダコンピューティングデバイス115は、クライアントデバイス125において情報リソース上に表示するための1つまたは複数のコンテンツアイテムを提供するためにコンテンツプロバイダエンティティによって運用されるサーバまたはその他のコンピューティングデバイスを含み得る。コンテンツプロバイダコンピューティングデバイス115によって提供されるコンテンツは、主コンテンツ、たとえば、コンテンツ発行元コンピューティングデバイス120によって提供されるコンテンツを含むウェブサイトまたはウェブページなどの情報リソース上に表示するための第三者のコンテンツアイテムを含み得る。コンテンツアイテムは、検索結果ウェブページ上にも表示され得る。たとえば、コンテンツプロバイダコンピューティングデバイス115は、ウェブページの主コンテンツが会社により提供されている会社のウェブページなどのコンテンツウェブページのコンテンツスロット内に表示するため、または検索エンジンによって提供される検索結果のランディングページ上に表示するための1つまたは複数のコンテンツアイテムを提供するかまたは1つまたは複数のコンテンツアイテムのソースである可能性がある。コンテンツプロバイダコンピューティングデバイス115に関連するコンテンツアイテムは、スマートフォンまたはその他のクライアントデバイス125上の(全地球測位システム(GPS)もしくは地図アプリケーション、またはその他の種類のアプリケーションなどの)アプリケーションの実行の一部として表示されるコンテンツなどの、ウェブページ以外の情報リソース上に表示され得る。
【００２２】
コンテンツ発行元コンピューティングデバイス120は、ネットワーク105を介して表示するための主コンテンツを提供するためにコンテンツ発行エンティティによって運用されるサーバまたはその他のコンピューティングデバイスを含み得る。たとえば、コンテンツ発行元コンピューティングデバイス120は、ウェブページ上に表示するための主コンテンツを提供するウェブページオペレータを含み得る。主コンテンツは、コンテンツ発行元コンピューティングデバイス120によって提供されるコンテンツ以外のコンテンツを含む可能性があり、ウェブページは、コンテンツプロバイダコンピューティングデバイス115からの第三者のコンテンツアイテムの表示のために構成されたコンテンツスロットを含む可能性がある。たとえば、コンテンツ発行元コンピューティングデバイス120は、会社のウェブサイトを運用することができ、ウェブサイトのウェブページ上に表示するためのその会社についてのコンテンツを提供することができる。ウェブページは、コンテンツプロバイダコンピューティングデバイス115の第三者のコンテンツアイテムの表示のために構成されたコンテンツスロットを含み得る。一部の実装において、コンテンツ発行元コンピューティングデバイス120は、検索エンジンウェブサイトを運用する検索エンジンの運用者の検索エンジンコンピューティングデバイス(たとえば、サーバ)を含む。検索エンジンウェブページの主コンテンツ(たとえば、結果またはランディングウェブページ)は、検索の結果と、コンテンツプロバイダコンピューティングデバイス115からのコンテンツアイテムなどの、コンテンツスロット内に表示される第三者のコンテンツアイテムとを含み得る。一部の実装において、コンテンツ発行元コンピューティングデバイス120は、ビデオコンテンツを提供するためのサーバを含み得る。
【００２３】
クライアントデバイス125は、コンテンツ発行元コンピューティングデバイス120によって提供されるコンテンツ(たとえば、主ウェブページコンテンツまたはその他の情報リソース)およびコンテンツプロバイダコンピューティングデバイス115によって提供されるコンテンツ(たとえば、ウェブページまたはアプリケーションのコンテンツスロット内に表示するために構成された第三者のコンテンツアイテム)などのデータを表示するためにネットワーク105を介して通信するように構成されたコンピューティングデバイスを含み得る。たとえば、クライアントデバイス125は、コンテンツ発行元コンピューティングデバイス120によって作成されるかまたは発行されたアプリケーションを実行するように構成される可能性があり、アプリケーションは、そのアプリケーション内でコンテンツアイテム(たとえば、ネイティブコンテンツアイテム)を表示するように構成される可能性がある。クライアントデバイス125、コンテンツプロバイダコンピューティングデバイス115、およびコンテンツ発行元コンピューティングデバイス120は、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、スマートフォン、携帯情報端末、モバイルデバイス、コンシューマコンピューティングデバイス、サーバ、クライアント、デジタルビデオレコーダ、テレビ用セットトップボックス、ビデオゲームコンソール、またはネットワーク105を介して通信するように構成された任意のその他のコンピューティングデバイスを含み得る。クライアントデバイス125は、エンドユーザがコンテンツを受け取る要求を送ることができる通信デバイスである可能性がある。要求は、検索エンジンへの要求である可能性があり、要求は、検索クエリを含む可能性がある。一部の実装において、要求は、ウェブページにアクセスする要求を含む可能性がある。
【００２４】
コンテンツプロバイダコンピューティングデバイス115、コンテンツ発行元コンピューティングデバイス120、およびクライアントデバイス125は、プロセッサおよびメモリ、すなわち、処理回路を含み得る。メモリは、プロセッサ上で実行されるときにプロセッサに本明細書において説明される動作のうちの1つまたは複数を実行させる機械命令を記憶する。プロセッサは、マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)など、またはこれらの組合せを含み得る。メモリは、プロセッサにプログラム命令を与えることができる電子、光、磁気、または任意のその他のストレージまたは送信デバイスを含む可能性があるがこれに限定されない。メモリは、フロッピーディスク、CD-ROM、DVD、磁気ディスク、メモリチップ、ASIC、FPGA、読み出し専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、電気的消去可能ROM(EEPROM)、消去可能プログラマブルROM(EPROM)、フラッシュメモリ、光学式媒体、またはプロセッサが命令を読むことができる任意のその他の好適なメモリをさらに含み得る。命令は、任意の好適なコンピュータプログラミング言語からのコードを含み得る。
【００２５】
コンテンツプロバイダコンピューティングデバイス115、コンテンツ発行元コンピューティングデバイス120、およびクライアントデバイス125は、1つまたは複数のユーザインターフェースデバイスを含み得る。概して、ユーザインターフェースデバイスは、感覚情報(たとえば、ディスプレイ上の視覚化、1つもしくは複数の音など)を生成することによってユーザにデータを運び、および/またはユーザから受け取られた感覚情報を電子信号に変換する任意の電子デバイス(たとえば、キーボード、マウス、ポインティングデバイス、タッチスクリーンディスプレイ、マイクロフォンなど)を指す。1つまたは複数のユーザインターフェースデバイスは、様々な実装によれば、コンテンツプロバイダコンピューティングデバイス115、コンテンツ発行元コンピューティングデバイス120、およびクライアントデバイス125のハウジングの内部にある(たとえば、組み込み型ディスプレイ、マイクロフォンなど)か、またはコンテンツプロバイダコンピューティングデバイス115、コンテンツ発行元コンピューティングデバイス120、およびクライアントデバイス125のハウジングの外にある(たとえば、ユーザコンピューティングデバイス115に接続されたモニタ、ユーザコンピューティングデバイス115に接続されたスピーカなど)可能性がある。たとえば、コンテンツプロバイダコンピューティングデバイス115、コンテンツ発行元コンピューティングデバイス120、およびクライアントデバイス125は、ネットワーク105を介して1つもしくは複数のコンテンツソースからおよび/またはデータ処理システム110から受信されたウェブページデータを使用してウェブページを視覚的に表示する電子ディスプレイを含み得る。一部の実装においては、コンテンツ掲載キャンペーンマネージャまたは第三者のコンテンツプロバイダが、コンテンツプロバイダコンピューティングデバイス115を介してデータ処理システム110と通信することができる。一部の実装において、コンテンツ掲載マネージャまたは第三者のコンテンツプロバイダは、コンテンツプロバイダコンピューティングデバイス115のユーザインターフェースデバイス上に表示されたユーザインターフェースを介してデータ処理システム110と通信することができる。
【００２６】
データ処理システム110は、少なくとも1つのサーバを含み得る。たとえば、データ処理システム110は、少なくとも1つのデータセンターまたはサーバファーム内に置かれた複数のサーバを含み得る。一部の実装において、データ処理システム110は、第三者のコンテンツ掲載システム、たとえば、コンテンツサーバを含み得る。データ処理システム110は、少なくとも1つのコンテンツ要求モジュール130、少なくとも1つのコンテンツ選択モジュール135、少なくとも1つのスクリプトプロバイダモジュール140、および少なくとも1つのデータベース145を含み得る。コンテンツ要求モジュール130、コンテンツ選択モジュール135、およびスクリプトプロバイダモジュール140は、それぞれ、ネットワーク105を介してデータベース145およびその他のコンピューティングデバイス(たとえば、コンテンツプロバイダコンピューティングデバイス115、コンテンツ発行元コンピューティングデバイス120、またはクライアントデバイス125)と通信するように構成された少なくとも1つの処理ユニット、サーバ、仮想サーバ、回路、エンジン、エージェント、アプライアンス、またはプログラマブル論理アレイなどのその他の論理デバイスを含み得る。
【００２７】
コンテンツ要求モジュール130、コンテンツ選択モジュール135、およびスクリプトプロバイダモジュール140は、少なくとも1つのコンピュータプログラムまたは少なくとも1つのスクリプトを含むかまたは実行することができる。コンテンツ要求モジュール130、コンテンツ選択モジュール135、およびスクリプトプロバイダモジュール140は、別々の構成要素、単一の構成要素、またはデータ処理システム110の一部である可能性がある。コンテンツ要求モジュール130、コンテンツ選択モジュール135、およびスクリプトプロバイダモジュール140は、1つまたは複数のスクリプトを実行するように構成された1つまたは複数のプロセッサなどのソフトウェアとハードウェアとの組合せを含み得る。
【００２８】
また、データ処理システム110は、1つまたは複数のコンテンツリポジトリまたはデータベース145を含み得る。データベース145は、データ処理システム110のローカルにある可能性がある。一部の実装において、データベース145は、データ処理システム110の遠隔にある可能性があるが、ネットワーク105を介してデータ処理システム110と通信する可能性がある。データベース145は、とりわけ、クライアントデバイス125にサービスを提供するためのウェブページ、ウェブページの一部、第三者のコンテンツアイテム、および非同期クリック送信スクリプトを含み得る。一部の実装において、データベース145は、コンテンツ制限リスト150を記憶するように構成される。コンテンツ制限リスト150は、ネイティブコンテンツを不適切に提示し、したがって、(たとえば、コンテンツ制限リスト150によって特定されたように)ネイティブコンテンツを受信することを制限されるべきであるクライアントデバイス125上で実行されるアプリケーションを特定することができる。コンテンツ制限リスト150に関するさらなる開示が、下に示される。
【００２９】
コンテンツ要求モジュール130は、クライアントデバイス125からコンテンツの要求を受信することができる。コンテンツの要求は、情報リソースの要求、1つもしくは複数の第三者のコンテンツアイテムの要求、スクリプトの要求、またはこれらの組合せを含み得る。一部の実装において、コンテンツの要求は、第三者のコンテンツの要求を含み得る。一部の実装において、第三者のコンテンツの要求は、第三者のコンテンツが表示されるべき情報リソースのアドレスまたは識別子を含み得る。また、第三者のコンテンツの要求は、コンテンツの要求に応答して提供するコンテンツを決定するためにデータ処理システム110によって使用され得る1つまたは複数のパラメータを含むかまたは特定し得る。たとえば、パラメータは、要求されたコンテンツを挿入すべきコンテンツスロットのサイズを特定し得る。パラメータは、情報リソースに関連するコンテンツの種類、要求された第三者のコンテンツの種類(たとえば、テキスト、画像、ビデオなど)、クライアントデバイスの情報、要求された第三者のコンテンツアイテムに関するサイズ情報、またはこれらの組合せを特定し得る。
【００３０】
コンテンツ選択モジュール135は、コンテンツの受信された要求に応答してクライアントデバイス125に送信されるコンテンツを決定するように構成され得る。コンテンツ選択モジュール135は、コンテンツの要求に含まれる情報に基づいてクライアントデバイス125に送信されるコンテンツを決定し得る。たとえば情報リソースの要求を受信すると、コンテンツ選択モジュール135は、クライアントデバイスに送信するためのコンテンツを決定するためにコンテンツの要求内の情報リソースのアドレスまたは識別子を使用し得る。1つまたは複数の第三者のコンテンツアイテムの要求を受信する場合、コンテンツ選択モジュール135は、第三者のコンテンツアイテムが提示されるべきである情報リソースに関するアドレスもしくは識別子、情報リソースに関するコンテンツの種類情報(たとえば、スポーツ、ニュース、音楽、映画、旅行など)、第三者のコンテンツアイテムが表示されるべきであるスロットのサイズ情報、クライアントデバイスの情報(たとえば、デバイスの種類、デバイスの識別子、デバイスの位置など)を選択し得る。一部の実装において、コンテンツ選択モジュール135は、データベース145にアクセスし、クライアントデバイス125に送信するためのコンテンツを取り出し得る。
【００３１】
一部の実装において、コンテンツ選択モジュール135は、コンテンツの要求に応答して、スクリプトがクライアントデバイス125に送信されるべきか否かを判定するように構成され得る。コンテンツ選択モジュール135は、コンテンツ要求の種類(たとえば、ネイティブコンテンツの要求)、コンテンツの要求内の情報リソース識別子、またはこれらの組合せに基づいて、スクリプトがクライアントデバイス125に送信されるべきか否かを判定することができる。一部の実装において、コンテンツ選択モジュール135は、インタラクション確認プロトコルの利用のために受信されたコンテンツ要求を分類することによって、スクリプトがクライアントデバイス125に送信されるべきか否かを判定することができる。スクリプトがクライアントデバイス125に送信されるべきであると判定すると、コンテンツ選択モジュール135は、コンテンツの要求、またはその指示をスクリプトプロバイダモジュール140に転送し得る。一部の実装において、コンテンツ選択モジュール135は、インタラクション確認スクリプトなどのスクリプトと一緒にクライアントデバイス125に送信する第三者のコンテンツアイテムを選択し得る。
【００３２】
スクリプトプロバイダモジュール140は、データベース145からインタラクション確認スクリプトを取り出し、取り出されたスクリプトをクライアントデバイス125に(またはクライアントデバイス125に送信するための別のエンティティに)に送信するように構成され得る。一部の実装において、インタラクション確認スクリプトは、第三者のコンテンツアイテムと別々にまたは一緒にクライアントデバイス125に送信され得る。たとえば、スクリプトプロバイダモジュール140、コンテンツ選択モジュール135、またはデータ処理システム110の別のエンティティが、クライアントデバイス125に第三者のコンテンツアイテムを送信する前に第三者のコンテンツアイテムにインタラクション確認スクリプトを含める可能性がある。一部の実装においては、スクリプトプロバイダモジュール140、コンテンツ選択モジュール135、またはデータ処理システム110の別のエンティティが、クライアントデバイス125に要求された情報リソースと一緒にインタラクション確認スクリプトを送信する可能性がある。
【００３３】
インタラクション確認スクリプトは、コンピュータ実行可能命令を含み得る。コンピュータ実行可能命令は、とりわけ、ハイパーテキストマークアップ言語(HTML)、拡張可能ハイパーテキストマークアップ言語(XHTML)、拡張可能マークアップ言語(XML)、カスケーディングスタイルシート(CSS)、およびJavaScript(登録商標)などのスクリプトを含み得る。コンピュータ実行可能命令は、コンテンツ要求モジュール130によって受信されるコンテンツ要求をクライアントデバイス125に送信させたアプリケーションなどのクライアントデバイス125のアプリケーション内で実行され得る。アプリケーションは、たとえば、インターネットブラウザ、モバイルアプリケーション、ゲームアプリケーション、GPSアプリケーション、またはコンピュータ実行可能命令を読み、実行することができる任意のその他のコンピュータプログラムを含み得る。
【００３４】
簡潔な概要において、コンピュータ実行可能命令は、クライアントデバイス125のプロセッサによって実行されるときにクライアントデバイスのアプリケーションに、(a)クライアントデバイスのアプリケーション内に提示された第1のコンテンツアイテムに応じて、第1のコンテンツアイテムとの第1のインタラクションイベントを検出させ、(b)第1のコンテンツアイテムに関する第1のインタラクションイベントを検出すると、アプリケーション内に第2のコンテンツアイテムを提示させ、(c)第2のコンテンツアイテムとの第2のインタラクションイベントを検出させ、(d)第2のインタラクションイベントを検出すると、第1のインタラクションイベントの確認を第1のサーバに送信させ、(e)第2のコンテンツアイテムにリンクされた情報リソースにアクセスするようにとの要求を第2のサーバに送信させることができる。インタラクション確認スクリプトに関連するさらなる詳細が、図2、図3、図4、および図5に関連して本明細書においてさらに与えられる。
【００３５】
図2は、一部の実装による、クライアントデバイス上で実行されるアプリケーションによるコンテンツアイテムの不適切な提示を検出するためのシステムを示すブロック図である。インタラクション確認システム200は、アプリケーション205、情報リソース210、インタラクションイベント検出モジュール220、コンテンツアイテム提示モジュール225、確認生成モジュール230、および要求生成モジュール235を含み得る。一部の実装において、インタラクションイベント検出モジュール220、コンテンツアイテム提示モジュール225、確認生成モジュール230、および要求生成モジュール235は、インタラクション確認スクリプト215内のモジュールである可能性がある。インタラクション確認スクリプトシステム200は、下で図6に示されるプロセッサなどのコンピューティングデバイスの1つまたは複数のプロセッサによって走らされるかまたはそうでなければ実行され得る。一部の実装においては、インタラクションイベント検出モジュール220、コンテンツアイテム提示モジュール225、確認生成モジュール230、および要求生成モジュール235のいずれかが、アプリケーション205、情報リソース210、またはインタラクション確認スクリプト215の一部である可能性がある。
【００３６】
一部の実装において、インタラクション確認スクリプト215は、クライアントデバイス125上で実行されるアプリケーション205を介してクライアントデバイス125によって受信される。インタラクション確認スクリプト215は、クライアントデバイス125によってデータ処理システム110に送信されたコンテンツ要求に応じてデータ処理システム110によってクライアントデバイス125に送信され得る。一部の実装において、クライアントデバイス125によって送信されるコンテンツ要求は、ネイティブコンテンツの要求を含む。一部の実装において、データ処理システム110は、インタラクション確認スクリプト215を含むコンテンツパッケージ240を送信する。コンテンツパッケージ240は、アプリケーション205によるレンダリングおよび提示のために第1のコンテンツアイテム245および第2のコンテンツアイテム250をさらに含み得る。一部の実装において、第1のコンテンツアイテム245は、ネイティブコンテンツアイテムを含み、第2のコンテンツアイテム250は、インタースティシャルコンテンツアイテムを含む。
【００３７】
一部の実装において、データ処理システム110は、クライアントデバイス125から受信されたコンテンツ要求に応じて、受信された要求を、選択されたネイティブコンテンツアイテム(たとえば、第1のコンテンツアイテム245)および同様のインタースティシャルコンテンツアイテム(たとえば、第2のコンテンツアイテム250)と一緒にインタラクション確認スクリプト215をパッケージングし、クライアントデバイス125に送信することをトリガする要求として分類し得る。コンテンツパッケージ240、第1のコンテンツアイテム245、および第2のコンテンツアイテム250に関するさらなる開示が、下に示される。
【００３８】
アプリケーション205は、たとえば、情報リソース210、インタラクション確認スクリプト215、インタラクションイベント検出モジュール220、コンテンツアイテム提示モジュール225、確認生成モジュール230、および要求生成モジュール235に含まれるコンピュータ実行可能命令などのコンピュータ実行可能命令を実行するかまたはそうでなければ呼び出すことができるインターネットブラウザ、モバイルアプリケーション、ゲームアプリケーション、GPSアプリケーション、または任意のその他のコンピュータプログラムを含み得る。アプリケーション205は、コンテンツ発行元120のサーバ、コンテンツプロバイダ115のサーバ、またはデータ処理システム110のサーバなどの情報リソースをホストするサーバから情報リソース210を取得するかまたは受け取り得る。
【００３９】
図3は、一部の実装による、クライアントデバイス上で実行されるアプリケーションによるコンテンツアイテムの不適切な提示を検出するための環境内の通信を示すシグナリング図である。ここで図1〜図3を一緒に参照すると、クライアントデバイス125が(たとえば、アプリケーション205を介して)信号302においてコンテンツ要求をデータ処理システム110に送信し得る。一部の実装において、コンテンツ要求は、ネイティブコンテンツアイテムの要求である。一部の実装において、ネイティブコンテンツアイテムは、アプリケーション205の環境内でコンテンツ発行元120によって生成されるコンテンツと同じルックアンドフィールを有するように見えることができる。たとえば、ネイティブコンテンツアイテムは、ネイティブコンテンツアイテムが表示されるべきアプリケーション205の周囲の環境に合うかまたは実質的に合う視覚的特徴を含み得る。一部の実装において、データ処理システム110は、ネイティブコンテンツアイテムを構成する複数のコンテンツ構成要素の形態でネイティブコンテンツアイテムをクライアントデバイス125に送信し、コンテンツ構成要素が、クライアントデバイス125においてアプリケーション205によってレンダリングされる。たとえば、コンテンツ構成要素は、見出し、画像、本文、行動喚起(call to action)、ロゴ、属性、クリックスルーURLなどを含み得るがこれらに限定されない。
【００４０】
一部の実装において、コンテンツ選択モジュール135は、コンテンツ要求モジュール130がクライアントデバイス125からコンテンツ要求を受信することに応じて、ブロック303において、受信された要求を、選択されたネイティブコンテンツアイテムおよび同様のインタースティシャルコンテンツアイテムと一緒にインタラクション確認スクリプト215をパッケージングし、クライアントデバイス125に送信することをトリガする要求として分類し得る。一部の実装において、コンテンツ要求は、アプリケーション205を特定するためのアプリケーション識別子を含む。したがって、データ処理システム110は、ネイティブコンテンツが適切に表示されているかどうかについての判定がなされるべき候補アプリケーションであるアプリケーションのリストを(たとえば、データベース145に)維持し得る。一部の実装において、アプリケーション識別子は、アプリケーション205および特定されたアプリケーション205の特定のバージョンを特定する。一部の実装において、アプリケーション識別子は、(たとえば、アプリケーション205がインストールされるクライアントデバイス125の種類に基づいて)アプリケーション205の種類を特定する。たとえば、アプリケーション識別子は、クライアントデバイス125が動作し、アプリケーション205が互換性のある特定のオペレーティングシステムを特定し得る。
【００４１】
したがって、一部の実装において、コンテンツ要求モジュール130は、コンテンツ要求内で受信されたアプリケーション識別子(たとえば、要求がアプリケーション205から送信されることを特定するアプリケーション識別子)が、ネイティブコンテンツが適切に表示されているかどうかを判定することをトリガするために候補アプリケーションを特定するための記憶されたアプリケーション識別子のうちの1つに一致するかどうかを判定するためにデータベース125の検索を実行する。
【００４２】
一部の実装においては、コンテンツ要求モジュール130がアプリケーション205をネイティブコンテンツの提示の性能に関して評価されるべきアプリケーションとして特定すると、コンテンツ要求モジュール130が、コンテンツ要求を送信したクライアントデバイス125が選択されたネイティブコンテンツアイテムとのインタラクション確認スクリプト215を受信するかどうかを判定する。たとえば、データベース145にやはり記憶され得るのは、候補アプリケーション識別子によって特定されるアプリケーションに関連するネイティブコンテンツの提示の性能の評価をトリガするために記憶されるそれらの候補アプリケーション識別子の各々に割り当てられるかまたはそうでなければ関連付けられる所定の割合である。所定の割合は、スクリプト要求として分類されるコンテンツ要求に応じてインタラクション確認スクリプト215を送信するスクリプト要求として分類されるべきコンテンツ要求の割合を特定し得る。
【００４３】
例として、アプリケーション205のアプリケーション識別子が所定の割合35%を割り当てられる場合、コンテンツ要求モジュール130は、(たとえば、複数のクライアントデバイス125全体で)アプリケーション205から受信されるコンテンツ要求の35%を、インタラクション確認スクリプト215がスクリプト要求として分類されるそれらのコンテンツ要求を送信したクライアントデバイス125に送信されるようにスクリプト要求として分類し得る。一部の実装において、アプリケーション205は、単一のクライアントデバイスにインストールされた1つのアプリケーションのインスタンスに対応する。一部の実装において、アプリケーション205は、複数のクライアントデバイスにインストールされた特定のアプリケーションの特定のバージョンに対応する。一部の実装において、アプリケーション205は、複数のクライアントデバイス125のアプリケーション205の任意のバージョンに対応する。したがって、コンテンツ要求の残り65%は、データ処理システム110が非スクリプトコンテンツ要求として分類したコンテンツ要求を送信したクライアントデバイス125がインタラクション確認スクリプト215を受信しないが、要求されたネイティブコンテンツアイテムを受信するように非スクリプト要求として分類され得る。一部の実装において、コンテンツ要求モジュール130は、コンテンツ要求をスクリプトコンテンツ要求または非スクリプトコンテンツ要求であるものとしてランダムに(たとえば、割り当てられた所定の割合によって規定されるレートで)分類する。一部の実装において、コンテンツ要求モジュール130は、所定のパターンに基づいてコンテンツ要求をスクリプトコンテンツ要求であるものとして分類する(たとえば、所定の割合が25%であるとき、4つのコンテンツ要求毎に1つのコンテンツ要求がスクリプトコンテンツ要求として分類される)。
【００４４】
スクリプトコンテンツ要求として分類されるコンテンツ要求に応じてインタラクション確認スクリプト215を送信することに加えて、コンテンツ選択モジュール135は、データ処理システム110が信号304においてインタラクション確認スクリプト215、要求されたネイティブコンテンツアイテム、およびインタースティシャルコンテンツアイテムを含むコンテンツパッケージを提供するように、(たとえば、元々要求された)ネイティブコンテンツアイテムおよびインタースティシャルコンテンツアイテムを選択し、提供し得る。インタースティシャルコンテンツアイテムは、アプリケーション205の表示エリアの大部分を占めるように提示され、表示されるコンテンツアイテムを含み得る。たとえば、インタースティシャルコンテンツアイテムは、アプリケーション205の表示をオーバレイし得る。一部の実装においては、インタースティシャルコンテンツアイテムの内容が、コンテンツパッケージに含まれるネイティブコンテンツアイテムの内容と実質的に同一である。一部の実装において、インタースティシャルコンテンツアイテムは、ネイティブコンテンツアイテムと一緒に送信されるインラインHTMLコードを含む。
【００４５】
一部の実装において、ネイティブコンテンツは、それぞれブロック305および信号306において、アプリケーション205によってレンダリングされ、アプリケーション205の環境内に表示するために提示され得る。そのような実装においては、1つまたは複数のコンテンツ構成要素を含むネイティブコンテンツアイテムが、データ処理システム110からクライアントデバイス125に送信され、クライアントデバイス125のアプリケーション205が、アプリケーション205の所定のパラメータに従ってコンテンツアイテムのコンテンツ構成要素を組み立てる。アプリケーション205がコンテンツ構成要素を使用してネイティブコンテンツをレンダリングすると、アプリケーション205は、レンダリングされたコンテンツがアプリケーション205内でコンテンツ発行元120によって生成されるコンテンツと同じルックアンドフィールを有するように見えるようにアプリケーション205の環境内に表示するためにレンダリングされたネイティブコンテンツを提示する。一部の実装において、コンテンツ発行元120は、アプリケーション205がネイティブコンテンツアイテムを組み立て、提示するために利用する所定のパラメータを確立することができる。しかし、これらのパラメータがアプリケーション毎に変わり、確立するために個々のコンテンツ発行元120に頼るので、ネイティブコンテンツアイテムがクライアントデバイス125において誤って提示されるように一部のコンテンツ発行元120がパラメータを誤って実装する可能性があり、それが、誤って提示されたネイティブコンテンツアイテムとの意図しないインタラクションを招く可能性がある。
【００４６】
たとえば、コンテンツ発行元120は、それらのコンテンツ発行元120のアプリケーションに関連して表示するためのパラメータを確立することができる。パラメータは、データ処理システム110から受信されるネイティブコンテンツ構成要素の見た目を規定することができる。例として、受信されるネイティブコンテンツ構成要素は、見出し、画像、本文、行動喚起、ロゴ、属性、クリックスルーURLなどであるがこれらに限定されないネイティブコンテンツアイテムの要素を含み得る。確立されるパラメータは、ネイティブコンテンツアイテム内の位置、色、フォント、フォントサイズ、インタラクションの種類(たとえば、インタラクションのためのタップまたはスワイプ)などのネイティブコンテンツ構成要素の見た目を規定することができる。したがって、パラメータは、アプリケーション内で受信されたネイティブコンテンツ構成要素をレンダリングし、提示するためのアプリケーションにおける命令を提供する。一部の実装において、コンテンツ発行元120は、コンテンツ発行元120のアプリケーション内でネイティブコンテンツパラメータを提供する。
【００４７】
しかし、コンテンツパラメータがそれぞれのコンテンツ発行元120によって確立され、実装されるので、ネイティブコンテンツ構成要素がアプリケーション内でどのように表示されるかに大きなばらつきがある可能性がある。さらに、コンテンツ発行元120は、ネイティブコンテンツ構成要素がアプリケーション内で誤ってレンダリングされ、表示されるようにそれらのコンテンツ発行元120のパラメータを不適切に設定する可能性があり、それが、(たとえば、ネイティブコンテンツアイテムがユーザがクリックしたい別個のリンクを不適切にオーバレイするときに)ユーザによるアプリケーション内の不適切に表示されたネイティブコンテンツアイテムとの意図しないインタラクションを招く可能性がある。これらのネイティブコンテンツ表示パラメータはアプリケーション毎、同じアプリケーションのバージョン毎(たとえば、バージョン2.0と比較したバージョン1.0)、または同じアプリケーションの異なる種類毎(たとえば、あるオペレーティングシステムのために構成されたアプリケーションと比較した別のオペレーティングシステムのために構成された同じアプリケーション)に変わる可能性があるので、コンテンツ発行元120によって設定されるパラメータは、異なるアプリケーション、アプリケーションの異なるバージョン、およびアプリケーションの異なる種類に関して同様に変わる可能性があり、したがって、ネイティブコンテンツアイテムは、同じアプリケーションの異なるバージョンまたは種類に関して不適切に表示される可能性がある。
【００４８】
一部の実装においては、信号308で、クライアントデバイス125上で実行されるインタラクションイベント検出モジュール220が、クライアントデバイス125に、アプリケーション205内の提示されたネイティブコンテンツアイテムに関連するインタラクションイベントを検出させることができる。たとえば、インタラクションイベントは、クリック、スワイプ、タップ、カーソルによるホバーオーバー(hover-over)、または提示されたネイティブコンテンツアイテムとの任意のその他のインタラクションを含み得る。
【００４９】
一部の実装においては、ブロック311で、信号308においてインタラクションイベントを検出することに応じて、クライアントデバイス125上で実行されるコンテンツアイテム提示モジュール225が、クライアントデバイス125に、信号304においてコンテンツパッケージ内で受信されたインタースティシャルコンテンツアイテムをレンダリングさせることができる。一部の実装において、クライアントデバイス125上で実行されるアプリケーション205は、クライアントデバイス125に、(たとえば、ネイティブコンテンツアイテム内に提示される同じまたは同様の情報を含む)提示されるネイティブコンテンツアイテムに対応するインタースティシャルコンテンツアイテムが受信されたかどうかを検出させることができる。たとえば、アプリケーション205は、クライアントデバイス125に、ブロック304におけるコンテンツパッケージが要求されたネイティブコンテンツアイテムよりも多くのものを含むことを検出させることができる。一部の実装において、アプリケーション205は、クライアントデバイス125に、インタースティシャルコンテンツアイテムを表すHTMLインラインコードがコンテンツパッケージ内に存在するかどうかを判定することによってコンテンツパッケージがインタースティシャルコンテンツアイテムを含むことを検出させる。一部の実装において、コンテンツパッケージは、コンテンツパッケージがネイティブコンテンツアイテムに加えてインタースティシャルコンテンツアイテムを含むことを示すためのフラグまたは任意のその他のインジケータを含み、アプリケーション205は、クライアントデバイス125に、コンテンツパッケージ内のフラグの存在を検出させることができる。
【００５０】
一部の実装においては、受信されたコンテンツパッケージ内のインタースティシャルコンテンツアイテムの存在を検出することに応じて、および信号308においてインタラクションイベントを検出することに応じて、クライアントデバイス125上で実行されるコンテンツアイテム提示モジュール225が、クライアントデバイス125に、信号304においてコンテンツパッケージ内で受信されたインタースティシャルコンテンツアイテムをレンダリングさせることができる。一部の実装において、コンテンツアイテム提示モジュール225は、クライアントデバイス125に、インタースティシャルコンテンツアイテムをレンダリングすることに関する命令に関してコンテンツパッケージ内で受信されたインラインHTMLコードを解析させ、それから、命令に基づいてインタースティシャルコンテンツアイテムをレンダリングする。インタースティシャルコンテンツアイテムがレンダリングされると、コンテンツアイテム提示モジュール225は、クライアントデバイス125に、アプリケーション205内にインタースティシャルコンテンツアイテムを提示させることができる。たとえば、インタースティシャルコンテンツアイテムは、(たとえば、情報リソース210内のスペースの大部分を占めることによって)情報リソース210内に提示され得る。
【００５１】
一部の実装においては、信号312で、クライアントデバイス125上で実行される確認生成モジュール230が、クライアントデバイス125に、アプリケーション205内の提示されたインタースティシャルコンテンツアイテムに関連するインタラクションイベントを検出させることができる。たとえば、インタラクションイベントは、クリック、スワイプ、タップ、カーソルによるホバーオーバー、または提示されたインタースティシャルコンテンツアイテムとの任意のその他のインタラクションを含み得る。インタースティシャルコンテンツアイテムに関連するインタラクションイベントを検出することに応じて、確認生成モジュール230は、クライアントデバイス125に、ネイティブコンテンツアイテムに関連するインタラクションイベントの確認をデータ処理システム110に送信させることができる。
【００５２】
一部の実装において、データ処理システム110は、ネイティブコンテンツアイテムに関連するインタラクションイベントの確認を受信し、複数のクライアントデバイス125全体でネイティブコンテンツインタラクションイベントの受信された確認に基づいて性能の評価を実施することができる。たとえば、上述のように、データ処理システム110は、ネイティブコンテンツアイテム、インタースティシャルコンテンツアイテム、およびインタラクション確認スクリプトを含むコンテンツパッケージを受信するクライアントデバイス125(たとえば、アプリケーション205からネイティブコンテンツアイテム要求を行うクライアントデバイス125全体のコンテンツパッケージのサブセット(content package subset))であるようにアプリケーション205を介してネイティブコンテンツアイテムを要求するクライアントデバイス125の所定の割合を選択することができ、一方、クライアントデバイス125の残りの割合は、インタースティシャルコンテンツアイテムをともなわずにおよびインタラクション確認スクリプトをともなわずにネイティブコンテンツアイテムを受信することになる(たとえば、アプリケーション205からネイティブコンテンツアイテム要求を行うクライアントデバイス125全体の非コンテンツパッケージのサブセット(non-content package subset))。したがって、一部の実装において、データ処理システム110は、コンテンツ発行元120がネイティブコンテンツアイテムを正しくレンダリングし、表示するかどうか(たとえば、信号308におけるネイティブコンテンツアイテムに関連する第1のインタラクションイベントが意図されたものであったのかまたはネイティブコンテンツアイテムの不適切な提示が原因である偶発的なものであったのか)を判定する際にコンテンツパッケージのサブセットおよび非コンテンツパッケージのサブセットの性能の測定基準を比較し、分析する。
【００５３】
一部の実装において、データ処理システム110は、アプリケーション205からネイティブコンテンツアイテム要求を行ったクライアントデバイス125全体のコンテンツパッケージのサブセットに関連する性能の測定基準を判定する。たとえば、性能の測定基準は、(たとえば、信号304において)コンテンツパッケージを送信されたクライアントデバイス125の数と比較したデータ処理システム110によって(たとえば、信号314において)受信された確認の数を表す割合または比率を含み得る。したがって、コンテンツパッケージのサブセットの性能の測定基準は、アプリケーション205からネイティブコンテンツアイテム要求を行ったクライアントデバイス125全体のコンテンツパッケージのサブセットに送信された個々のコンテンツパッケージの数に対するネイティブコンテンツアイテムと意図的にインタラクションしたユーザの割合を表し得る。同様に、一部の実装において、データ処理システム110は、アプリケーション205からネイティブコンテンツアイテム要求を行ったクライアントデバイス125全体の非コンテンツパッケージのサブセットに関連する性能の測定基準を判定する。たとえば、性能の測定基準は、要求されたネイティブコンテンツアイテムを送信されたクライアントデバイス125の数と比較したデータ処理システム110によって受信されたネイティブコンテンツアイテムに関連するインタラクションイベントの指示の数を表す割合または比率を含み得る。したがって、非コンテンツパッケージのサブセットの性能の測定基準は、アプリケーション205からネイティブコンテンツアイテム要求を行ったクライアントデバイス125全体の非コンテンツパッケージのサブセットに送信された個々のネイティブコンテンツアイテムの数に対するネイティブコンテンツアイテムとインタラクションした(たとえば、意図的と偶発的との両方)ユーザの割合を表し得る。
【００５４】
一部の実装において、データ処理システムは、ネイティブコンテンツアイテムがアプリケーション205内に不適切に表示されるかどうかを判定する際にコンテンツパッケージのサブセットの性能の測定基準を非コンテンツパッケージのサブセットの性能の測定基準と比較する。たとえば、データ処理システム110は、コンテンツパッケージのサブセットの性能の測定基準と非コンテンツパッケージのサブセットの性能の測定基準との間の差を所定のしきい値と比較することができる。一部の実装においては、2つの性能の測定基準の間の差が所定のしきい値を超える場合、データ処理システム110は、アプリケーション205をネイティブコンテンツアイテムを不適切に表示するものとして特定する。例として、データ処理システム110は、非コンテンツパッケージのサブセットの性能の測定基準がコンテンツパッケージのサブセットの性能の測定基準よりも少なくとも所定のしきい値だけ大きいときにアプリケーション205 (たとえば、アプリケーション205の特定のバージョン、複数のバージョンのアプリケーション205、アプリケーション205のこの特定のインスタンスなど)をネイティブコンテンツを不適切に表示するものとして特定し得る。一部の実装において、所定のしきい値は、データ処理システム110において入力され、データベース145に記憶され、(たとえば、割合として表される)性能の測定基準の間のどれだけの差がアプリケーション205がネイティブコンテンツアイテムを不適切に表示すると決定するのかを決定するための任意の好適な値である可能性がある(たとえば、所定のしきい値の値は、5%、10%、15%などである可能性がある)。
【００５５】
一部の実装において、データ処理システム110は、コンテンツパッケージのサブセットの性能の測定基準に基づくが、非コンテンツパッケージのサブセットの性能の測定基準には基づかずに、アプリケーション205がネイティブコンテンツアイテムを不適切に表示すると決定する。データ処理システム110は、コンテンツパッケージのサブセットの性能の測定基準を所定のしきい値と比較し、比較に基づいて判定を行うことができる。たとえば、性能の測定基準は、コンテンツパッケージを送信されたクライアントデバイス125の数と比較したデータ処理システム110によって受信された確認の数を表す割合または比率を含み、データ処理システム110は、割合の性能の測定基準を割合のしきい値と比較することができ、性能の測定基準が割合のしきい値未満である場合、データ処理システム110は、アプリケーション205をネイティブコンテンツを不適切に表示するものとして特定することができる。
【００５６】
一部の実装においては、アプリケーション205をネイティブコンテンツを不適切に表示するものとして特定することに応じて、データ処理システム110は、アプリケーション205に関連する1つまたは複数の制限手順を実行することができる。たとえば、データ処理システム110は、アプリケーション205をコンテンツ制限リスト150に追加することができる。コンテンツ制限リスト150は、データベース145に記憶される可能性があり、アプリケーション205のアプリケーション識別子を含む到着する後続のコンテンツ要求がデータ処理システム110によって受信されるときにデータ処理システム110がリストを相互参照することができるように、アプリケーション205を特定するアプリケーション識別子を含み得る。データ処理システム110が要求元のアプリケーションのアプリケーション識別子をコンテンツ制限リスト150のアプリケーション識別子とマッチングする場合、データ処理システム110は、(たとえば、コンテンツ発行元120によってアプリケーション205においてネイティブコンテンツアイテムの表示の実行が修正されるまで)要求に応じてネイティブコンテンツアイテムを送信することを控える可能性がある。一部の実装において、データ処理システム110は、(たとえば、コンテンツ発行元120のアプリケーション205がネイティブコンテンツを不適切に表示することを示す、コンテンツ発行元120に送信された対応するアラートに応答して)ネイティブコンテンツの不適切な提示が直されたことを示すアプリケーション205のコンテンツ発行元120からのアラートを受信する。アプリケーション205がネイティブコンテンツアイテムのインタラクションイベントの確認を送信することに加えて、一部の実装においては、信号312においてインタラクションイベントを検出することに応じて、クライアントデバイス125上で実行される要求生成モジュール235が、クライアントデバイス125に、インタースティシャルコンテンツアイテムによってリンクされた情報リソースにアクセスするようにとの要求を送信させることができる。要求は、アプリケーション205内に表示されるネイティブコンテンツアイテムおよびインタースティシャルコンテンツアイテムを提供したコンテンツプロバイダ115のサーバに送信され得る。
【００５７】
図4は、一部の実装による、クライアントデバイス上で実行されるアプリケーションによるコンテンツアイテムの不適切な提示を検出するための方法を示す流れ図400である。
【００５８】
一部の実装において、方法400は、クライアントデバイス125がコンテンツアイテムのコンテンツ要求を送信すること(ブロック405)と、データ処理システム110がコンテンツアイテムのコンテンツ要求を受信すること(ブロック410)とを含む。方法400は、データ処理システム110がインタラクション確認スクリプトを含むコンテンツパッケージを送信すること(ブロック415)と、クライアントデバイス125がインタラクション確認スクリプトを含むコンテンツパッケージを受信すること(ブロック420)とをさらに含む。方法400は、クライアントデバイス125が第1のコンテンツアイテムを提示すること(ブロック425)をさらに含む。方法400は、クライアントデバイス125が提示された第1のコンテンツアイテムとの第1のインタラクションイベントを検出すること(ブロック430)をさらに含む。方法400は、クライアントデバイス125が第2のコンテンツアイテムを提示すること(ブロック435)をさらに含む。方法400は、クライアントデバイス125が提示された第2のコンテンツアイテムとの第2のインタラクションイベントを検出すること(ブロック440)をさらに含む。方法400は、クライアントデバイス125が第1のインタラクションイベントの確認を送信すること(ブロック445)をさらに含む。方法400は、データ処理システム110が第1のインタラクションイベントの確認を受信すること(ブロック450)をさらに含む。方法400は、クライアントデバイス125が第2のコンテンツアイテムの情報リソースの要求を送信すること(ブロック455)をさらに含む。方法400は、クライアントデバイス125が第2のコンテンツアイテムの情報リソースを提示すること(ブロック460)をさらに含む。
【００５９】
特に、一部の実装において、方法400は、クライアントデバイス125がコンテンツアイテムのコンテンツ要求を送信すること(ブロック405)と、データ処理システム110がコンテンツアイテムのコンテンツ要求を受信すること(ブロック410)とを含む。クライアントデバイス125は、データ処理システム110にコンテンツ要求を送信することができる。一部の実装において、コンテンツ要求は、ネイティブコンテンツアイテムの要求である。一部の実装において、ネイティブコンテンツアイテムは、アプリケーションの環境内でコンテンツ発行元120によって生成されるコンテンツと同じルックアンドフィールを有するように見えることができる。たとえば、ネイティブコンテンツアイテムは、ネイティブコンテンツアイテムが表示されるべきアプリケーションの周囲の環境に合うかまたは実質的に合う視覚的特徴を含み得る。一部の実装において、データ処理システム110は、ネイティブコンテンツアイテムを構成する複数のコンテンツ構成要素の形態でネイティブコンテンツアイテムをクライアントデバイス125に送信し、コンテンツ構成要素が、クライアントデバイス125においてアプリケーションによってレンダリングされる。たとえば、コンテンツ構成要素は、見出し、画像、本文、行動喚起、ロゴ、属性、クリックスルーURLなどを含み得るがこれらに限定されない。
【００６０】
スクリプトコンテンツ要求として分類されるコンテンツ要求に応じてインタラクション確認スクリプト215を送信することに加えて、コンテンツ選択モジュール135は、データ処理システム110が信号304においてインタラクション確認スクリプト215、要求されたネイティブコンテンツアイテム、およびインタースティシャルコンテンツアイテムを含むコンテンツパッケージを提供するように、(たとえば、元々要求された)ネイティブコンテンツアイテムおよびインタースティシャルコンテンツアイテムを選択し、提供し得る。インタースティシャルコンテンツアイテムは、アプリケーション205の表示エリアの大部分を占めるように提示され、表示されるコンテンツアイテムを含み得る。たとえば、インタースティシャルコンテンツアイテムは、アプリケーション205の表示をオーバレイし得る。一部の実装においては、インタースティシャルコンテンツアイテムの内容が、コンテンツパッケージに含まれるネイティブコンテンツアイテムの内容と実質的に同一である。一部の実装において、インタースティシャルコンテンツアイテムは、ネイティブコンテンツアイテムと一緒に送信されるインラインHTMLコードを含む。
【００６１】
方法400は、データ処理システム110がインタラクション確認スクリプトを含むコンテンツパッケージを送信すること(ブロック415)と、クライアントデバイス125がインタラクション確認スクリプトを含むコンテンツパッケージを受信すること(ブロック420)とをさらに含む。コンテンツ要求に応じてインタラクション確認スクリプトを送信することに加えて、データ処理システム110は、データ処理システム110がインタラクション確認スクリプト、要求されたネイティブコンテンツアイテム、およびインタースティシャルコンテンツアイテムを含むコンテンツパッケージを提供するように、(たとえば、元々要求された)ネイティブコンテンツアイテムおよびインタースティシャルコンテンツアイテムを選択し、提供し得る。インタースティシャルコンテンツアイテムは、アプリケーションの表示エリアの大部分を占めるように提示され、表示されるコンテンツアイテムを含み得る。たとえば、インタースティシャルコンテンツアイテムは、アプリケーションの表示をオーバレイし得る。一部の実装においては、インタースティシャルコンテンツアイテムの内容が、コンテンツパッケージに含まれるネイティブコンテンツアイテムの内容と実質的に同一である。一部の実装において、インタースティシャルコンテンツアイテムは、ネイティブコンテンツアイテムと一緒に送信されるインラインHTMLコードを含む。
【００６２】
方法400は、クライアントデバイス125が第1のコンテンツアイテムを提示すること(ブロック425)をさらに含む。一部の実装において、ネイティブコンテンツは、アプリケーションによってレンダリングされ、アプリケーションの環境内に表示するために提示され得る。そのような実装においては、1つまたは複数のコンテンツ構成要素を含むネイティブコンテンツアイテムが、データ処理システム110からクライアントデバイス125に送信され、クライアントデバイス125のアプリケーションが、アプリケーションの所定のパラメータに従ってコンテンツアイテムのコンテンツ構成要素を組み立てる。アプリケーションがコンテンツ構成要素を使用してネイティブコンテンツをレンダリングすると、アプリケーションは、レンダリングされたコンテンツがアプリケーション内でコンテンツ発行元120によって生成されるコンテンツと同じルックアンドフィールを有するように見えるようにアプリケーションの環境内に表示するためにレンダリングされたネイティブコンテンツを提示する。一部の実装において、コンテンツ発行元120は、アプリケーションがネイティブコンテンツアイテムをどのように組み立て、提示すべきかに関する命令として利用する所定のパラメータを確立することができる。しかし、これらのパラメータがアプリケーション毎に変わり、確立するために個々のコンテンツ発行元120に頼るので、ネイティブコンテンツアイテムがクライアントデバイス125において誤って提示されるように一部のコンテンツ発行元120がパラメータを誤って実装する可能性があり、それが、誤って提示されたネイティブコンテンツアイテムとの意図しないインタラクションを招く可能性がある。
【００６３】
たとえば、コンテンツ発行元120は、それらのコンテンツ発行元120のアプリケーションに関連して表示するためのパラメータを確立することができる。パラメータは、データ処理システム110から受信されるネイティブコンテンツ構成要素の見た目を規定することができる。例として、受信されるネイティブコンテンツ構成要素は、見出し、画像、本文、行動喚起、ロゴ、属性、クリックスルーURLなどであるがこれらに限定されないネイティブコンテンツアイテムの要素を含み得る。確立されるパラメータは、ネイティブコンテンツアイテム内の位置、色、フォント、フォントサイズ、インタラクションの種類(たとえば、インタラクションのためのタップまたはスワイプ)などのネイティブコンテンツ構成要素の見た目を規定することができる。したがって、パラメータは、アプリケーション内で受信されたネイティブコンテンツ構成要素をレンダリングし、提示するためのアプリケーションにおける命令を提供する。一部の実装において、コンテンツ発行元120は、コンテンツ発行元120のアプリケーション内でネイティブコンテンツパラメータを提供する。
【００６４】
しかし、コンテンツパラメータがそれぞれのコンテンツ発行元120によって確立され、実装されるので、ネイティブコンテンツ構成要素がアプリケーション内でどのように表示されるかに大きなばらつきがある可能性がある。さらに、コンテンツ発行元120は、ネイティブコンテンツ構成要素がアプリケーション内で誤ってレンダリングされ、表示されるようにそれらのコンテンツ発行元120のパラメータを不適切に設定する可能性があり、それが、(たとえば、ネイティブコンテンツアイテムがユーザがクリックしたい別個のリンクを不適切にオーバレイするときに)ユーザによるアプリケーション内の不適切に表示されたネイティブコンテンツアイテムとの意図しないインタラクションを招く可能性がある。これらのネイティブコンテンツ表示パラメータはアプリケーション毎、同じアプリケーションのバージョン毎(たとえば、バージョン2.0と比較したバージョン1.0)、または同じアプリケーションの異なる種類毎(たとえば、あるオペレーティングシステムのために構成されたアプリケーションと比較した別のオペレーティングシステムのために構成された同じアプリケーション)に変わる可能性があるので、コンテンツ発行元120によって設定されるパラメータは、異なるアプリケーション、アプリケーションの異なるバージョン、およびアプリケーションの異なる種類に関して同様に変わる可能性があり、したがって、ネイティブコンテンツアイテムは、同じアプリケーションの異なるバージョンまたは種類に関して不適切に表示される可能性がある。
【００６５】
方法400は、クライアントデバイス125が提示された第1のコンテンツアイテムとの第1のインタラクションイベントを検出すること(ブロック430)をさらに含む。一部の実装において、クライアントデバイス125は、アプリケーション内の提示されたネイティブコンテンツアイテムに関連するインタラクションイベントを検出する。たとえば、インタラクションイベントは、クリック、スワイプ、タップ、カーソルによるホバーオーバー、または提示されたネイティブコンテンツアイテムとの任意のその他のインタラクションを含み得る。
【００６６】
方法400は、クライアントデバイス125が第2のコンテンツアイテムを提示すること(ブロック435)をさらに含む。一部の実装においては、インタラクションイベントを検出することに応じて、クライアントデバイス125が、コンテンツパッケージ内で受信されたインタースティシャルコンテンツアイテムをレンダリングする。一部の実装において、クライアントデバイス125上で実行されるアプリケーションは、クライアントデバイス125に、(たとえば、ネイティブコンテンツアイテム内に提示される同じまたは同様の情報を含む)提示されるネイティブコンテンツアイテムに対応するインタースティシャルコンテンツアイテムが受信されたかどうかを検出させることができる。たとえば、アプリケーションは、クライアントデバイス125に、コンテンツパッケージが要求されたネイティブコンテンツアイテムよりも多くのものを含むことを検出させることができる。一部の実装において、アプリケーションは、クライアントデバイス125に、インタースティシャルコンテンツアイテムを表すHTMLインラインコードがコンテンツパッケージ内に存在するかどうかを判定することによってコンテンツパッケージがインタースティシャルコンテンツアイテムを含むことを検出させる。一部の実装において、コンテンツパッケージは、コンテンツパッケージがネイティブコンテンツアイテムに加えてインタースティシャルコンテンツアイテムを含むことを示すためのフラグまたは任意のその他のインジケータを含み、アプリケーションは、クライアントデバイス125に、コンテンツパッケージ内のフラグの存在を検出させることができる。
【００６７】
一部の実装においては、受信されたコンテンツパッケージ内のインタースティシャルコンテンツアイテムの存在を検出することに応じて、およびインタラクションイベントを検出することに応じて、クライアントデバイス125上で実行されるアプリケーションが、クライアントデバイス125に、コンテンツパッケージ内で受信されたインタースティシャルコンテンツアイテムをレンダリングさせることができる。一部の実装において、アプリケーションは、クライアントデバイス125に、インタースティシャルコンテンツアイテムをレンダリングすることに関する命令に関してコンテンツパッケージ内で受信されたインラインHTMLコードを解析させ、それから、命令に基づいてインタースティシャルコンテンツアイテムをレンダリングする。インタースティシャルコンテンツアイテムがレンダリングされると、アプリケーションは、クライアントデバイス125に、アプリケーション内にインタースティシャルコンテンツアイテムを提示させることができる。
【００６８】
方法400は、クライアントデバイス125が提示された第2のコンテンツアイテムとの第2のインタラクションイベントを検出すること(ブロック440)をさらに含む。一部の実装においては、クライアントデバイス125上で実行されるアプリケーションが、クライアントデバイス125に、アプリケーション内の提示されたインタースティシャルコンテンツアイテムに関連するインタラクションイベントを検出させることができる。たとえば、インタラクションイベントは、クリック、スワイプ、タップ、カーソルによるホバーオーバー、または提示されたインタースティシャルコンテンツアイテムとの任意のその他のインタラクションを含み得る。
【００６９】
方法400は、クライアントデバイス125が第1のインタラクションイベントの確認を送信すること(ブロック445)をさらに含む。方法400は、データ処理システム110が第1のインタラクションイベントの確認を受信すること(ブロック450)をさらに含む。インタースティシャルコンテンツアイテムに関連するインタラクションイベントを検出することに応じて、アプリケーションは、クライアントデバイス125に、ネイティブコンテンツアイテムに関連するインタラクションイベントの確認をデータ処理システム110に送信させることができる。
【００７０】
方法400は、クライアントデバイス125が第2のコンテンツアイテムの情報リソースの要求を送信すること(ブロック455)をさらに含む。方法400は、クライアントデバイス125が第2のコンテンツアイテムの情報リソースを提示すること(ブロック460)をさらに含む。要求は、アプリケーション205内に表示されるネイティブコンテンツアイテムおよびインタースティシャルコンテンツアイテムを提供したコンテンツプロバイダ115のサーバに送信され得る。
【００７１】
図5は、一部の実装による、図4に関連して説明されたクライアントデバイス上で実行されるアプリケーションと通信するデータ処理システムによってコンテンツアイテムの不適切な提示を検出するための方法500を示す流れ図である。一部の実装において、方法500は、データ処理システム110が複数のクライアントデバイスから複数のコンテンツ要求を受信すること(ブロック505)を含む。方法500は、データ処理システム110が複数のクライアントデバイスの第1のサブセットにコンテンツパッケージを送信すること(ブロック510)をさらに含む。方法500は、データ処理システム110が複数のクライアントデバイスの第2のサブセットに第1のコンテンツアイテムを送信すること(ブロック515)をさらに含む。方法500は、データ処理システム110が送信されたコンテンツパッケージに関連する第1の性能の測定基準を判定すること(ブロック520)をさらに含む。方法500は、データ処理システム110が第1のコンテンツアイテムに関連する第2の性能の測定基準を判定すること(ブロック525)をさらに含む。方法500は、データ処理システム110が第1の性能の測定基準を第2の性能の測定基準と比較すること(ブロック530)をさらに含む。方法500は、比較に基づいてコンテンツ制限リストにアプリケーション識別子を追加すること(ブロック535)をさらに含む。
【００７２】
特に、一部の実装において、方法500は、データ処理システム110が複数のクライアントデバイスから複数のコンテンツ要求を受信すること(ブロック505)を含む。一部の実装においては、クライアントデバイスからコンテンツ要求を受信することに応じて、データ処理システム110が、受信された要求を、選択されたネイティブコンテンツアイテムおよび同様のインタースティシャルコンテンツアイテムと一緒にインタラクション確認スクリプトをパッケージングし、送信することをトリガする要求として分類し得る。一部の実装において、コンテンツ要求は、アプリケーションを特定するためのアプリケーション識別子を含む。したがって、データ処理システム110は、ネイティブコンテンツが適切に表示されているかどうかについての判定がなされるべき候補アプリケーションであるアプリケーションのリストを維持し得る。一部の実装において、アプリケーション識別子は、アプリケーションおよび特定されたアプリケーションの特定のバージョンを特定する。一部の実装において、アプリケーション識別子は、(たとえば、アプリケーションがインストールされるクライアントデバイスの種類に基づいて)アプリケーションの種類を特定する。たとえば、アプリケーション識別子は、クライアントデバイスが動作し、アプリケーションが互換性のある特定のオペレーティングシステムを特定し得る。
【００７３】
したがって、一部の実装において、データ処理システム110は、コンテンツ要求内で受信されたアプリケーション識別子(たとえば、要求がアプリケーションから送信されることを特定するアプリケーション識別子)が、ネイティブコンテンツが適切に表示されているかどうかを判定することをトリガするために候補アプリケーションを特定するための記憶されたアプリケーション識別子のうちの1つに一致するかどうかを判定するためにデータベースの検索を実行する。
【００７４】
方法500は、データ処理システム110が複数のクライアントデバイスの第1のサブセットにコンテンツパッケージを送信すること(ブロック510)をさらに含む。方法500は、データ処理システム110が複数のクライアントデバイスの第2のサブセットに第1のコンテンツアイテムを送信すること(ブロック515)をさらに含む。一部の実装においては、データ処理システム110がアプリケーションをネイティブコンテンツの提示の性能に関して評価されるべきアプリケーションであると特定すると、データ処理システム110が、コンテンツ要求を送信したクライアントデバイスが選択されたネイティブコンテンツアイテムとのインタラクション確認スクリプトを受信するかどうかを判定する。たとえば、データベースにやはり記憶され得るのは、候補アプリケーション識別子によって特定されるアプリケーションに関連するネイティブコンテンツの提示の性能の評価をトリガするために記憶されるそれらの候補アプリケーション識別子の各々に割り当てられるかまたはそうでなければ関連付けられる所定の割合である。所定の割合は、スクリプト要求として分類されるコンテンツ要求に応じてインタラクション確認スクリプトを送信するスクリプト要求として分類されるべきコンテンツ要求の割合を特定し得る。
【００７５】
例として、アプリケーションのアプリケーション識別子が所定の割合35%を割り当てられる場合、データ処理システム110は、(たとえば、複数のクライアントデバイス全体で)アプリケーションから受信されるコンテンツ要求の35%を、インタラクション確認スクリプトがスクリプト要求として分類されるそれらのコンテンツ要求を送信したクライアントデバイスに送信されるようにスクリプト要求として分類し得る。一部の実装において、アプリケーションは、単一のクライアントデバイスにインストールされた1つのアプリケーションのインスタンスに対応する。一部の実装において、アプリケーションは、複数のクライアントデバイスにインストールされた特定のアプリケーションの特定のバージョンに対応する。一部の実装において、アプリケーションは、複数のクライアントデバイスのアプリケーションの任意のバージョンに対応する。したがって、コンテンツ要求の残り65%は、データ処理システム110が非スクリプトコンテンツ要求として分類したコンテンツ要求を送信したクライアントデバイスがインタラクション確認スクリプト215を受信しないが、要求されたネイティブコンテンツアイテムを受信するように非スクリプト要求として分類され得る。一部の実装において、データ処理システム110は、コンテンツ要求をスクリプトコンテンツ要求または非スクリプトコンテンツ要求であるものとしてランダムに(たとえば、割り当てられた所定の割合によって規定されるレートで)分類する。一部の実装において、データ処理システム110は、所定のパターンに基づいてコンテンツ要求をスクリプトコンテンツ要求であるものとして分類する(たとえば、所定の割合が25%であるとき、4つのコンテンツ要求毎に1つのコンテンツ要求がスクリプトコンテンツ要求として分類される)。
【００７６】
スクリプトコンテンツ要求として分類されるコンテンツ要求に応じてインタラクション確認スクリプトを送信することに加えて、データ処理システム110は、データ処理システム110がインタラクション確認スクリプト215、要求されたネイティブコンテンツアイテム、およびインタースティシャルコンテンツアイテムを含むコンテンツパッケージを提供するように、(たとえば、元々要求された)ネイティブコンテンツアイテムおよびインタースティシャルコンテンツアイテムを選択し、提供し得る。インタースティシャルコンテンツアイテムは、アプリケーションの表示エリアの大部分を占めるように提示され、表示されるコンテンツアイテムを含み得る。たとえば、インタースティシャルコンテンツアイテムは、アプリケーションの表示をオーバレイし得る。一部の実装においては、インタースティシャルコンテンツアイテムの内容が、コンテンツパッケージに含まれるネイティブコンテンツアイテムの内容と実質的に同一である。一部の実装において、インタースティシャルコンテンツアイテムは、ネイティブコンテンツアイテムと一緒に送信されるインラインHTMLコードを含む。
【００７７】
方法500は、データ処理システム110が送信されたコンテンツパッケージに関連する第1の性能の測定基準を判定すること(ブロック520)をさらに含む。一部の実装において、データ処理システム110は、ネイティブコンテンツアイテムに関連するインタラクションイベントの確認を受信し、複数のクライアントデバイス全体でネイティブコンテンツインタラクションイベントの受信された確認に基づいて性能の評価を実施することができる。たとえば、上述のように、データ処理システム110は、ネイティブコンテンツアイテム、インタースティシャルコンテンツアイテム、およびインタラクション確認スクリプトを含むコンテンツパッケージを受信するクライアントデバイス125(たとえば、アプリケーションからネイティブコンテンツアイテム要求を行うクライアントデバイス全体のコンテンツパッケージのサブセット)であるようにアプリケーションを介してネイティブコンテンツアイテムを要求するクライアントデバイスの所定の割合を選択することができ、一方、クライアントデバイスの残りの割合は、インタースティシャルコンテンツアイテムをともなわずにおよびインタラクション確認スクリプトをともなわずにネイティブコンテンツアイテムを受信することになる(たとえば、アプリケーションからネイティブコンテンツアイテム要求を行うクライアントデバイス全体の非コンテンツパッケージのサブセット)。したがって、一部の実装において、データ処理システム110は、コンテンツ発行元がネイティブコンテンツアイテムを正しくレンダリングし、表示するかどうか(たとえば、信号308におけるネイティブコンテンツアイテムに関連する第1のインタラクションイベントが意図されたものであったのかまたはネイティブコンテンツアイテムの不適切な提示が原因である偶発的なものであったのか)を判定する際にコンテンツパッケージのサブセットおよび非コンテンツパッケージのサブセットの性能の測定基準を比較し、分析する。
【００７８】
一部の実装において、データ処理システムは、アプリケーションからネイティブコンテンツアイテム要求を行ったクライアントデバイス全体のコンテンツパッケージのサブセットに関連する性能の測定基準を判定する。たとえば、性能の測定基準は、コンテンツパッケージを送信されたクライアントデバイスの数と比較したデータ処理システム110によって受信された確認の数を表す割合または比率を含み得る。したがって、コンテンツパッケージのサブセットの性能の測定基準は、アプリケーションからネイティブコンテンツアイテム要求を行ったクライアントデバイス全体のコンテンツパッケージのサブセットに送信された個々のコンテンツパッケージの数に対するネイティブコンテンツアイテムと意図的にインタラクションしたユーザの割合を表し得る。
【００７９】
方法500は、データ処理システム110が第1のコンテンツアイテムに関連する第2の性能の測定基準を判定すること(ブロック525)をさらに含む。同様に、一部の実装において、データ処理システムは、アプリケーションからネイティブコンテンツアイテム要求を行ったクライアントデバイス全体の非コンテンツパッケージのサブセットに関連する性能の測定基準を判定する。たとえば、性能の測定基準は、要求されたネイティブコンテンツアイテムを送信されたクライアントデバイスの数と比較したデータ処理システム110によって受信されたネイティブコンテンツアイテムに関連するインタラクションイベントの指示の数を表す割合または比率を含み得る。したがって、非コンテンツパッケージのサブセットの性能の測定基準は、アプリケーションからネイティブコンテンツアイテム要求を行ったクライアントデバイス全体の非コンテンツパッケージのサブセットに送信された個々のネイティブコンテンツアイテムの数に対するネイティブコンテンツアイテムとインタラクションした(たとえば、意図的と偶発的との両方)ユーザの割合を表し得る。
【００８０】
方法500は、データ処理システム110が第1の性能の測定基準を第2の性能の測定基準と比較すること(ブロック530)をさらに含む。一部の実装において、データ処理システム110は、ネイティブコンテンツアイテムがアプリケーション内に不適切に表示されるかどうかを判定する際にコンテンツパッケージのサブセットの性能の測定基準を非コンテンツパッケージのサブセットの性能の測定基準と比較する。たとえば、データ処理システム110は、コンテンツパッケージのサブセットの性能の測定基準と非コンテンツパッケージのサブセットの性能の測定基準との間の差を所定のしきい値と比較することができる。一部の実装においては、2つの性能の測定基準の間の差が所定のしきい値を超える場合、データ処理システム110は、アプリケーションをネイティブコンテンツアイテムを不適切に表示するものとして特定する。例として、データ処理システム110は、非コンテンツパッケージのサブセットの性能の測定基準がコンテンツパッケージのサブセットの性能の測定基準よりも少なくとも所定のしきい値だけ大きいときにアプリケーション(たとえば、アプリケーションの特定のバージョン、複数のバージョンのアプリケーション、アプリケーションのこの特定のインスタンスなど)をネイティブコンテンツを不適切に表示するものとして特定し得る。一部の実装において、所定のしきい値は、データ処理システム110において入力され、データベースに記憶され、(たとえば、割合として表される)性能の測定基準の間のどれだけの差がアプリケーションがネイティブコンテンツアイテムを不適切に表示すると決定するのかを決定するための任意の好適な値である可能性がある(たとえば、所定のしきい値の値は、5%、10%、15%などである可能性がある)。
【００８１】
一部の実装において、データ処理システム110は、コンテンツパッケージのサブセットの性能の測定基準に基づくが、非コンテンツパッケージのサブセットの性能の測定基準には基づかずに、アプリケーション205がネイティブコンテンツアイテムを不適切に表示すると決定する。データ処理システム110は、コンテンツパッケージのサブセットの性能の測定基準を所定のしきい値と比較し、比較に基づいて判定を行うことができる。たとえば、性能の測定基準は、コンテンツパッケージを送信されたクライアントデバイス125の数と比較したデータ処理システム110によって受信された確認の数を表す割合または比率を含み、データ処理システム110は、割合の性能の測定基準を割合のしきい値と比較することができ、性能の測定基準が割合のしきい値未満である場合、データ処理システム110は、アプリケーションをネイティブコンテンツを不適切に表示するものとして特定することができる。
【００８２】
方法500は、データ処理システム110が比較に基づいてコンテンツ制限リストにアプリケーション識別子を追加すること(ブロック535)をさらに含む。一部の実装においては、アプリケーションをネイティブコンテンツを不適切に表示するものとして特定することに応じて、データ処理システム110は、アプリケーションに関連する1つまたは複数の制限手順を実行することができる。たとえば、データ処理システム110は、アプリケーションをコンテンツ制限リストに追加することができる。コンテンツ制限リストは、データベースに記憶される可能性があり、アプリケーションのアプリケーション識別子を含む到着する後続のコンテンツ要求がデータ処理システム110によって受信されるときにデータ処理システム110がリストを相互参照することができるように、アプリケーションを特定するアプリケーション識別子を含み得る。データ処理システム110が要求元のアプリケーションのアプリケーション識別子をコンテンツ制限リストのアプリケーション識別子とマッチングする場合、データ処理システム110は、(たとえば、コンテンツ発行元120によってアプリケーションにおいてネイティブコンテンツアイテムの表示の実行が修正されるまで)要求に応じてネイティブコンテンツアイテムを送信することを控える可能性がある。一部の実装において、データ処理システム110は、(たとえば、コンテンツ発行元のアプリケーションがネイティブコンテンツを不適切に表示することを示す、コンテンツ発行元に送信された対応するアラートに応答して)ネイティブコンテンツの不適切な提示が直されたことを示すアプリケーションのコンテンツ発行元からのアラートを受信する。
【００８３】
図6は、一部の実装による、(システム110ならびにコンテンツ要求モジュール130、コンテンツ選択モジュール135、およびスクリプトプロバイダモジュール140などのシステム110の構成要素を含む)本明細書において説明され、図示されるシステムおよび方法の要素を実装するために使用され得るコンピュータシステム600のための全体的なアーキテクチャを示すブロック図である。コンピュータシステム600は、表示するためにネットワーク105を介して情報を与えるために使用され得る。図6のコンピュータシステム600は、メモリ625と通信可能なように結合された1つまたは複数のプロセッサ620、1つまたは複数の通信インターフェース605、ならびに1つまたは複数の出力デバイス610(たとえば、1つまたは複数のディスプレイユニット)および1つまたは複数の入力デバイス615を含む。プロセッサ620は、データ処理システム110、またはコンテンツ要求モジュール130およびコンテンツ選択モジュール135などのシステム110のその他の構成要素に含まれ得る。
【００８４】
図6のコンピュータシステム600において、メモリ625は、任意のコンピュータ可読ストレージ媒体を含む可能性があり、それぞれのシステムのための本明細書において説明される様々な機能を実装するためのプロセッサが実行可能な命令などのコンピュータ命令と、それらのシステムに関連する、それらのシステムによって生成される、または通信インターフェースもしくは入力デバイスを介して受信される任意のデータ(もしあれば)とを記憶する可能性がある。図1のシステム110を再び参照すると、データ処理システム110は、とりわけ、1つまたは複数のコンテンツユニットのインベントリの可用性、1つまたは複数のコンテンツユニットの予約に関連する情報を記憶するためのメモリ625を含み得る。メモリ625は、データベース145を含み得る。図6に示されたプロセッサ620は、メモリ625に記憶された命令を実行するために使用される可能性があり、そのようにする際に、命令の実行によって処理および/または生成された様々な情報をメモリから読むかまたはメモリに書き込む可能性もある。
【００８５】
図6に示されたコンピュータシステム600のプロセッサ620は、命令の実行によって様々な情報を送信または受信するための通信インターフェース605に通信可能なように結合されるかまたは通信インターフェース605を制御する可能性もある。たとえば、通信インターフェース605は、有線もしくはワイヤレスネットワーク、バス、またはその他の通信手段に結合される可能性があり、したがって、コンピュータシステム600がその他のデバイス(たとえば、その他のコンピュータシステム)に情報を送信するかまたはその他のデバイス(たとえば、その他のコンピュータシステム)から情報を受信することを可能にし得る。図1のシステムに明示されていないが、1つまたは複数の通信インターフェースが、システム600の構成要素の間の情報の流れを促進する。一部の実装において、通信インターフェースは、コンピュータシステム600の少なくとも一部の態様にウェブサイトをアクセスポータルとして提供するように(たとえば、様々なハードウェア構成要素またはソフトウェア構成要素によって)構成され得る。通信インターフェース605の例は、ユーザがデータ処理システム110と通信し得るユーザインターフェース(たとえば、ウェブページ)を含む。
【００８６】
図6に示されたコンピュータシステム600の出力デバイス610は、たとえば、命令の実行に関連して様々な情報が見られるかまたはその他の方法で知覚されることを可能にするために提供され得る。入力デバイス615は、たとえば、ユーザが命令の実行中に手動の調整を行うか、選択を行うか、データを入力するか、またはプロセッサと様々な方法のいずれかでインタラクションすることを可能にするために提供され得る。本明細書において検討される様々なシステムのために使用され得る通常のコンピュータシステムのアーキテクチャに関連する追加的な情報が、本明細書においてさらに提供される。
【００８７】
本明細書に記載の対象の実装および動作は、本明細書で開示される構造およびそれらの構造的均等物を含むデジタル電子回路、または有形の媒体上に具現化されたコンピュータソフトウェア、ファームウェア、もしくはハードウェア、またはそれらのうちの1つもしくは複数の組合せで実装され得る。本明細書に記載の対象の実装は、1つまたは複数のコンピュータプログラム、すなわち、データ処理装置による実行のために、またはデータ処理装置の動作を制御するためにコンピュータストレージ媒体上に符号化されたコンピュータプログラム命令の1つまたは複数のモジュールとして実装され得る。プログラム命令は、データ処理装置による実行のために好適な受信機装置に送信するために情報を符号化するように生成される人為的に生成された伝播信号、たとえば、機械によって生成された電気的信号、光学的信号、または電磁的信号上に符号化され得る。コンピュータストレージ媒体は、コンピュータ可読ストレージデバイス、コンピュータ可読ストレージ基板、ランダムもしくはシリアルアクセスメモリアレイもしくはデバイス、またはこれらのうちの1つもしくは複数の組合せであるか、あるいはこれらに含まれる可能性がある。さらに、コンピュータストレージ媒体は、伝播信号ではないが、人為的に生成された伝播信号に符号化されたコンピュータプログラム命令の送信元または送信先を含み得る。コンピュータストレージ媒体は、1つまたは複数の別個の物理的構成要素または媒体(たとえば、複数のCD、ディスク、もしくはその他のストレージデバイス)であるか、またはこれらに含まれる可能性もある。
【００８８】
本明細書において開示された特徴は、インターネット接続性を(たとえば、ケーブル、衛星、電波、またはその他の信号によって受け取られる)より旧来型のテレビ番組のソースと統合するように構成された処理モジュールを含み得るスマートテレビモジュール(またはコネクテッドテレビモジュール(connected television module)、ハイブリッドテレビモジュールなど)上に実装される可能性がある。スマートテレビモジュールは、テレビセットに物理的に組み込まれる可能性があり、またはセットトップボックス、ブルーレイもしくはその他のデジタルメディアプレイヤー、ゲームコンソール、ホテルのテレビシステム、およびその他のコンパニオンデバイス(companion device)などの別個のデバイスを含む可能性がある。スマートテレビモジュールは、ウェブ、ローカルケーブルTVチャンネル、衛星TVチャンネルの、またはローカルのハードドライブに記憶されたビデオ、ムービー、写真、およびその他のコンテンツを視聴者が検索し、見つけることを可能にするように構成され得る。セットトップボックス(STB)またはセットトップユニット(STU)は、チューナを含み、テレビセットおよび信号の外部ソースに接続し得る情報家電デバイスを含む可能性があり、信号をコンテンツに変換し、そして、そのコンテンツが、テレビのスクリーンまたはその他のディスプレイデバイス上に表示される。スマートテレビモジュールは、ウェブブラウザおよび複数のストリーミングメディアサービスなどの複数の異なるアプリケーション、接続されたケーブルまたは衛星媒体のソース、その他のウェブ「チャンネル」などに関するアイコンを含むホーム画面または最上位の画面を提供するように構成され得る。スマートテレビモジュールは、ユーザに電子番組ガイドを提供するようにさらに構成され得る。スマートテレビモジュールに対するコンパニオンアプリケーション(companion application)は、利用可能な番組についての追加的な情報をユーザに提供すること、ユーザがスマートテレビモジュールを制御することを可能にすることなどのためにモバイルコンピューティングデバイス上で動作し得る可能性がある。代替的な実装において、特徴は、ラップトップコンピュータもしくはその他のパーソナルコンピュータ、スマー
トフォン、その他のモバイル電話、ハンドヘルドコンピュータ、タブレットPC、またはその他のコンピューティングデバイス上に実装される可能性がある。
【００８９】
本明細書に記載の動作は、1つもしくは複数のコンピュータ可読ストレージデバイスに記憶された、またはその他のソースから受信されたデータに対してデータ処理装置によって実行される動作として実装され得る。
【００９０】
用語「データ処理装置」、「データ処理システム」、「ユーザデバイス」、または「コンピューティングデバイス」は、例として、1つのプログラミング可能なプロセッサ、1台のコンピュータ、1つのシステムオンチップ、またはこれらの複数もしくは組合せを含む、データを処理するためのすべての種類の装置、デバイス、および機械を包含する。装置は、専用の論理回路、たとえば、FPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)を含み得る。装置は、ハードウェアに加えて、問題にしているコンピュータプログラムのための実行環境を作成するコード、たとえば、プロセッサのファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、クロスプラットフォームランタイム環境、仮想マシン、またはこれらのうちの1つもしくは複数の組合せを構成するコードも含み得る。装置および実行環境は、ウェブサービスインフラストラクチャ、分散コンピューティングインフラストラクチャ、およびグリッドコンピューティングインフラストラクチャなどの様々な異なるコンピューティングモデルインフラストラクチャを実現することができる。コンテンツ要求モジュール130およびコンテンツ選択モジュール135は、1つまたは複数のデータ処理装置、コンピューティングデバイス、またはプロセッサを含むかまたは共有する可能性がある。
【００９１】
コンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプト、またはコードとしても知られる)は、コンパイラ型言語もしくはインタープリタ型言語、宣言型言語もしくは手続き型言語を含む任意の形態のプログラミング言語で記述可能であり、独立型プログラムとしての形態、またはモジュール、コンポーネント、サブルーチン、オブジェクト、もしくはコンピューティング環境内での使用に好適なその他の単位としての形態を含む任意の形態で展開され得る。コンピュータプログラムは、ファイルシステム内のファイルに対応する場合があるが、必ずそうであるとは限らない。プログラムは、その他のプログラムもしくはデータを保持するファイルの一部(たとえば、マークアップ言語の文書に記憶された1つもしくは複数のスクリプト)、問題にしているプログラムに専用の単一のファイル、または複数の連携されたファイル(たとえば、1つもしくは複数のモジュール、サブプログラム、もしくはコードの一部を記憶するファイル)に記憶され得る。コンピュータプログラムは、1つのコンピュータ上で、または1つの場所に置かれるか、もしくは複数の場所に分散され、通信ネットワークによって相互に接続される複数のコンピュータ上で実行されるように展開され得る。
【００９２】
本明細書に記載のプロセスおよび論理フローは、入力データに対して演算を行い、出力を生成することによってアクションを行うために1つまたは複数のコンピュータプログラムを1つまたは複数のプログラミング可能なプロセッサが実行することによって実行され得る。また、プロセスおよび論理フローは、専用の論理回路、たとえば、FPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)によって実行される可能性があり、さらに、装置は、それらの専用の論理回路として実装される可能性がある。
【００９３】
コンピュータプログラムの実行に好適なプロセッサは、例として、汎用マイクロプロセッサと専用マイクロプロセッサとの両方、および任意の種類のデジタルコンピュータの任意の1つまたは複数のプロセッサを含む。概して、プロセッサは、読み出し専用メモリ、またはランダムアクセスメモリ、またはこれらの両方から命令およびデータを受け取る。コンピュータの必須の要素は、命令に従ってアクションを実行するためのプロセッサ、ならびに命令およびデータを記憶するための1つまたは複数のメモリデバイスである。また、概してコンピュータは、データを記憶するための1つまたは複数の大容量ストレージデバイス、たとえば、磁気ディスク、光磁気ディスク、もしくは光ディスクを含むか、またはこれらの大容量ストレージデバイスからデータを受信するか、もしくはこれらの大容量ストレージデバイスにデータを転送するか、もしくはそれら両方を行うために動作可能なように結合される。しかし、コンピュータは、そのようなデバイスを備えていなくてもよい。さらに、たとえば、コンピュータは、別のデバイス、たとえば、モバイル電話、携帯情報端末(PDA)、モバイルオーディオもしくはビデオプレイヤー、ゲームコンソール、全地球測位システム(GPS)受信機、またはポータブルストレージデバイス(たとえば、ユニバーサルシリアルバス(USB)フラッシュドライブ)に組み込まれ得る。コンピュータプログラム命令およびデータを記憶するのに好適なデバイスは、例として、半導体メモリデバイス、たとえば、EPROM、EEPROM、およびフラッシュメモリデバイス、磁気ディスク、たとえば、内蔵ハードディスクまたはリムーバブルディスク、光磁気ディスク、ならびにCD-ROMディスクおよびDVD-ROMディスクを含む、すべての形態の不揮発性メモリ、媒体、およびメモリデバイスを含む。プロセッサおよびメモリは、専用の論理回路によって補完されるか、または専用の論理回路に組み込まれ得る。
【００９４】
ユーザとのインタラクションを行うために、本明細書に記載の対象の実装は、ユーザに対して情報を表示するためのディスプレイデバイス、たとえば、CRT(ブラウン管)、プラズマ、またはLCD(液晶ディスプレイ)モニタ、ならびにユーザがコンピュータに入力を与えることができるキーボードおよびポインティングデバイス、たとえば、マウスまたはトラックボールを有するコンピュータ上に実装され得る。その他の種類のデバイスが、ユーザとのインタラクションを行うためにやはり使用される可能性があり、たとえば、ユーザに提供されるフィードバックは、任意の形態の感覚フィードバック、たとえば、視覚的フィードバック、聴覚的フィードバック、または触覚的フィードバックを含む可能性があり、ユーザからの入力は、音響、発話、または触覚による入力を含む任意の形態で受け取られる可能性がある。加えて、コンピュータは、ユーザによって使用されるデバイスにドキュメントを送信し、そのデバイスからドキュメントを受信することによって、たとえば、ウェブブラウザから受信された要求に応答してユーザのクライアントデバイス上のウェブブラウザにウェブページを送信することによってユーザとインタラクションすることができる。
【００９５】
本明細書に記載の対象の実装は、バックエンド構成要素を、たとえば、データサーバとして含むか、またはミドルウェア構成要素、たとえば、アプリケーションサーバを含むか、またはフロントエンド構成要素、たとえば、ユーザが本明細書に記載の対象の実装とインタラクションすることができるグラフィカルユーザインターフェースもしくはウェブブラウザを有するクライアントコンピュータを含むか、または1つもしくは複数のそのようなバックエンド構成要素、ミドルウェア構成要素、もしくはフロントエンド構成要素の任意の組合せを含むコンピューティングシステムに実装され得る。システムの構成要素は、任意の形態または媒体のデジタルデータ通信、たとえば、通信ネットワークによって相互に接続され得る。通信ネットワークの例は、ローカルエリアネットワーク(「LAN」)およびワイドネットワーク(「WAN」)、インターネットワーク(たとえば、インターネット)、ならびにピアツーピアネットワーク(たとえば、アドホックピアツーピアネットワーク)を含む。
【００９６】
システム600またはシステム110などのコンピューティングシステムは、クライアントおよびサーバを含み得る。たとえば、データ処理システム110は、1つまたは複数のデータセンターまたはサーバファーム内の1つまたは複数のサーバを含み得る。クライアントおよびサーバは、概して互いに離れており、通常は通信ネットワークを通じてインタラクションする。クライアントとサーバとの関係は、それぞれのコンピュータ上で実行されており、互いにクライアント-サーバの関係にあるコンピュータプログラムによって生じる。一部の実装において、サーバは、(たとえば、クライアントデバイスとインタラクションするユーザに対してデータを表示し、そのようなユーザからユーザ入力を受信する目的で)クライアントデバイスにデータ(たとえば、HTMLページ)を送信する。クライアントデバイスにおいて生成されたデータ(たとえば、ユーザのインタラクションの結果)が、サーバにおいてクライアントデバイスから受信され得る。
【００９７】
本明細書は多くの特定の実装の詳細を含むが、これらは、本開示の範囲または特許請求され得るものの範囲に対する限定とも見なされるべきでなく、むしろ、本明細書において説明されたシステムおよび方法の特定の実装に固有の特徴の説明と見なされるべきである。別々の実装に関連して本明細書に記載されている特定の特徴が、単一の実装に組み合わせて実装される可能性もある。反対に、単一の実装に関連して説明されている様々な特徴が、複数の実装に別々に、または任意の適切な部分的組合せで実装される可能性もある。さらに、特徴は、特定の組合せで動作するものとして上で説明されている場合があり、最初にそのように主張されてさえいる場合があるが、主張された組合せの1つまたは複数の特徴は、場合によっては組合せから削除される可能性もあり、主張された組合せは、部分的組合せ、または部分的組合せの変形を対象とする可能性がある。
【００９８】
同様に、動作が図中に特定の順序で示されているが、これは、そのような動作が示された特定の順序でもしくは逐次的順序で実行されること、または所望の結果を達成するために示されたすべての動作が実行されることを必要とするものと理解されるべきでない。場合によっては、請求項に挙げられたアクションは、異なる順序で実行され、それでも所望の結果を達成することができる。加えて、添付の図面に示されたプロセスは、所望の結果を達成するために、必ずしも、示された特定の順序または逐次的順序である必要はない。
【００９９】
特定の状況においては、マルチタスクおよび並列処理が有利である可能性がある。さらに、上述の実装における様々なシステム構成要素の分割は、すべての実装においてそのような分割を必要とするものと理解されるべきでなく、説明されたプログラム構成要素およびシステムは、概して、単一のソフトウェア製品に一緒に統合されるか、または複数のソフトウェア製品にパッケージングされる可能性があることが理解されるべきである。たとえば、コンテンツ要求モジュール130およびコンテンツ選択モジュール135は、データ処理システム110の一部、単一のモジュール、1つもしくは複数の処理モジュールを有する論理デバイス、1つまたは複数のサーバ、あるいは検索エンジンの一部である可能性がある。
【０１００】
ここにいくつかの例示的な実装および実装を説明したが、以上は例示的であり、限定的でなく、例として提示されたことは明らかである。特に、本明細書において提示された例の多くは方法の行為またはシステムの要素の特定の組合せを含むが、それらの行為およびそれらの要素は、同じ目的を達成するためにその他の方法で組み合わされる可能性がある。1つの実装にのみ関連して検討された行為、要素、および特徴は、その他の実装または実装において同様の役割から除外されるように意図されていない。
【０１０１】
本開示の実装において、コンテンツまたはコンテンツアイテムは、任意の好適なコンテンツである可能性がある。一部のアプリケーションにおいて、コンテンツまたはコンテンツアイテムは広告(「アド(ad)」)である可能性があるが、本開示はこれに限定されない。コンテンツまたはコンテンツアイテムが広告であるとき、コンテンツサーバ205はアドサーバである可能性があり、および/または第三者のコンテンツプロバイダは広告主である可能性がある。
【０１０２】
一部の実装において、第三者のコンテンツの要求は、情報リソース上に第三者のコンテンツアイテムを表示するための最小限の収益額(または最小限の入札値(bid value))も含み得る。一部の実装において、コンテンツ選択モジュール135は、オークションシステム、たとえば、広告オークションシステムと通信し、クライアントデバイスから受信された第三者のコンテンツの要求に含まれるオークションシステムの情報を提供し得る。また、コンテンツ選択モジュール135は、第三者のコンテンツの要求に含まれる情報を提供することに応じてオークションシステムから1つまたは複数の第三者のコンテンツアイテムを受信し得る。
【０１０３】
一部の実装において、データ処理システム110は、オークションをホストするように構成されたオークションシステム、たとえば、広告オークションシステムを含み得る。一部の実装において、データ処理システム110は、オークションシステムを含まず、ネットワーク105を介してオークションシステムと通信するように構成される。
【０１０４】
一部の実装においては、ランディングページが、コンテンツアイテムにおいて広告される製品の追加的な製品情報を含む可能性がある。コンテンツアイテムに関連するコンバージョンが、ランディングページにおいて起こる可能性があり、たとえば、ユーザが、コンテンツアイテムによって広告された製品またはサービスをランディングページを介して購入する可能性がある。コンバージョンは、ユーザがコンテンツアイテムをクリックし、それから、ランディングページを介して購入、加入、登録などの行動を取るときに起こる可能性がある。
【０１０５】
本明細書において使用された語法および術語は、説明を目的としており、限定と見なされるべきでない。本明細書における「〜を含む(including)」、「〜を含む(comprising)」、「〜を有する」、「〜を含む(containing)」、「〜を含む(involving)」、「〜によって特徴付けられる(characterized by)」、「〜ことを特徴とする(characterized in that)」、およびこれらの変化形の使用は、その後に列挙された項目、それらの項目の均等物、および追加的な項目、ならびにその後に列挙された項目だけからなる代替的な実装を包含するように意図される。1つの実装において、本明細書に記載のシステムおよび方法は、説明された要素、行為、または構成要素のうちの1つ、2つ以上のそれぞれの組合せ、またはすべてからなる。
【０１０６】
本明細書において単数形で言及されたシステムおよび方法の実装または要素または行為へのすべての言及は、複数のこれらの要素を含む実装も包含する可能性があり、本明細書における任意の実装または要素または行為への複数形のすべての言及は、単一の要素のみを含む実装も包含する可能性がある。単数形または複数形の言及は、ここに開示されたシステムもしくは方法、それらの構成要素、行為、または要素を単一のまたは複数の構成に限定するように意図されていない。任意の情報、行為、または要素に基づいている任意の行為または要素への言及は、行為または要素が任意の情報、行為、または要素に少なくとも部分的に基づく実装を含み得る。
【０１０７】
本明細書において開示された任意の実装は、任意のその他の実装と組み合わされる可能性があり、「実装」、「いくつかの実装」、「代替的な実装」、「様々な実装」、「1つの実装」などの言及は、必ずしも相互排他的ではなく、実装に関連して説明された特定の特徴、構造、または特色が少なくとも1つの実装に含まれる可能性があることを示すように意図される。本明細書において使用されるそのような用語は、必ずしもすべてが同じ実装に言及していない。任意の実装は、本明細書において開示された態様および実装に合致する任意の方法で包括的または排他的に任意のその他の実装と組み合わされる可能性がある。
【０１０８】
「または(or)」との言及は、「または(or)」を使用して記載された任意の項が記載された項のうちの1つ、2つ以上、およびすべてのいずれかを示す可能性があるように包括的であると見なされ得る。
【０１０９】
図面、詳細な説明、または任意の請求項の技術的な特徴が後に参照符号が付されている場合、参照符号は、図面、詳細な説明、および請求項の理解しやすさを高めることのみを目的として含められたものである。したがって、参照符号があることもないことも、いかなる請求項の要素の範囲に対してのいかなる限定的な効果も持たない。
【０１１０】
本明細書に記載のシステムおよび方法は、それらの特徴を逸脱することなくその他の特定の形態で具現化される可能性がある。本明細書において提供された例は情報リソースの表示を制御することに関するが、本明細書において説明されたシステムおよび方法は、その他の環境に適用され得る。上述の実装は、説明されたシステムおよび方法の限定ではなく、例示的である。したがって、本明細書に記載のシステムおよび方法の範囲は、上述の説明ではなく添付の請求項によって示され、請求項の均等の意味および範囲内に入る変更は、それに包含される。
【符号の説明】
【０１１１】
100  環境
105  ネットワーク
110  データ処理システム
115  コンテンツプロバイダコンピューティングデバイス、コンテンツプロバイダ
120  コンテンツ発行元コンピューティングデバイス、コンテンツ発行元
125  クライアントデバイス
130  コンテンツ要求モジュール
135  コンテンツ選択モジュール
140  スクリプトプロバイダモジュール
145  データベース
150  コンテンツ制限リスト
200  システム、インタラクション確認システム、インタラクション確認スクリプトシステム
205  アプリケーション
210  情報リソース
215  インタラクション確認スクリプト
220  インタラクションイベント検出モジュール
225  コンテンツアイテム提示モジュール
230  確認生成モジュール
235  要求生成モジュール
240  コンテンツパッケージ
245  第1のコンテンツアイテム
250  第2のコンテンツアイテム
400  流れ図
500  方法
600  コンピュータシステム
605  通信インターフェース
610  出力デバイス
615  入力デバイス
620  プロセッサ
625  メモリ
【図１】
0006806894.tif 000002
【図２】
0006806894.tif 000003
【図３】
0006806894.tif 000004
【図４】
0006806894.tif 000005
【図５】
0006806894.tif 000006
【図６】
0006806894.tif 000007