(57)【特許請求の範囲】
【請求項１】
デバイス識別子を含むプライバシ要求を、モバイルデバイス上のプライバシアプリケーションから受信するステップであって、デバイス識別子は、符号化されたデバイス識別子を生成するために、符号化され、ここで、プライバシ要求は、具体的には、モバイルデバイス上にインストールされた複数のアプリケーションを示し、モバイルデバイスにおいて、プライバシ要求は、示された複数のアプリケーションの各々に対して、対応するモバイルデバイス広告データに適用される、受信するステップと、
前記プライバシ要求を認証するステップと、
前記符号化されたデバイス識別子を復号するステップと、
復号されたデバイス識別子に関連付けられたモバイルデバイス広告データを取り出すステップと、
1つまたは複数のプロセッサを使用して、前記プライバシ要求を前記モバイルデバイス広告データに適用するステップと
を含む方法。
【請求項２】
前記要求を認証するステップが、
符号化されたテキストを含むセキュリティ画像を提供するステップと、
モバイルデバイスからテキストを受信するステップと、
セキュリティ画像に応答して提供されたテキストを、前記セキュリティ画像において符号化された前記テキストと比較するステップを含む、請求項1に記載の方法。
【請求項３】
符号化されたデバイス識別子を、前記デバイス識別子に割り当てられたランダムな識別子にマップするステップと、
前記モバイルデバイス広告データを取り出すために、前記ランダムな識別子を使用するステップと
をさらに含む請求項1に記載の方法。
【請求項４】
モバイルデバイス広告データを取り出すステップが、前記デバイスのモバイルアプリケーションに提示された広告ごとに割り当てられた値を取り出すステップを含む、請求項1に記載の方法。
【請求項５】
値を取り出すステップが、1つまたは複数の広告についてのコンバージョントラッキングに関連付けられた値を取り出すステップを含む、請求項4に記載の方法。
【請求項６】
値を取り出すステップが、頻度上限に関連付けられた値を取り出すステップを含む、請求項4に記載の方法。
【請求項７】
前記プライバシ要求が履歴消去要求であり、前記履歴消去要求を適用するステップが、ランダムな識別子に関連付けられた既存のモバイルデバイス広告データを消去するステップを含む、前記デバイス識別子に関連付けられた前記ランダムな識別子をリセットするステップを含む、請求項1に記載の方法。
【請求項８】
前記プライバシ要求がトラッキングオプトアウト要求であり、前記トラッキングオプトアウト要求を適用するステップが、
モバイルデバイス広告データを消去するステップ、およびダミー記録を挿入するステップを含み、
前記ダミー記録が、前記モバイルデバイスに提供された広告が追跡されないことを示す、
請求項1に記載の方法。
【請求項９】
前記プライバシ要求を前記モバイルデバイス広告データに適用するステップが、それについてモバイルデバイス広告データが記憶されている前記モバイルデバイスのすべてのモバイルアプリケーションについてのモバイルデバイス広告データを修正するステップを含む、請求項1に記載の方法。
【請求項１０】
前記プライバシ要求を前記モバイルデバイス広告データに適用するステップが、それについてモバイルデバイス広告データが記憶されている前記モバイルデバイス上にインストールされた複数の指定されたモバイルアプリケーションについてのモバイルデバイス広告データを修正するステップを含む、請求項1に記載の方法。
【請求項１１】
１つまたは複数のコンピュータと命令を記憶する１つまたは複数の記憶デバイスとを含むシステムであって、前記命令は、１つまたは複数のコンピュータによって実行される時に、１つまたは複数のコンピュータに、
デバイス識別子を含むプライバシ要求を、モバイルデバイス上のプライバシアプリケーションから受信することであって、デバイス識別子は、符号化されたデバイス識別子を生成するために、符号化され、ここで、プライバシ要求は、具体的には、モバイルデバイス上にインストールされた複数のアプリケーションを示し、モバイルデバイスにおいて、プライバシ要求は、示された複数のアプリケーションの各々に対して、対応するモバイルデバイス広告データに適用される、受信すること、
前記プライバシ要求を認証すること、
前記符号化されたデバイス識別子を復号すること、
復号されたデバイス識別子に関連付けられたモバイルデバイス広告データを取り出すこと、および
前記プライバシ要求を前記モバイルデバイス広告データに適用すること
を含む動作を実施させるように動作可能なシステム。
【請求項１２】
前記要求を認証することが、
符号化されたテキストを含むセキュリティ画像を提供すること、
モバイルデバイスからテキストを受信すること、
セキュリティ画像に応答して提供されたテキストを、前記セキュリティ画像において符号化された前記テキストと比較することを含む、請求項11に記載のシステム。
【請求項１３】
符号化されたデバイス識別子を、前記デバイス識別子に割り当てられたランダムな識別子にマップすること、および
前記モバイルデバイス広告データを取り出すために、前記ランダムな識別子を使用すること
を含む動作を実施するようにさらに動作可能である請求項11に記載のシステム。
【請求項１４】
モバイルデバイス広告データを取り出すことが、前記デバイスのモバイルアプリケーションに提示された広告ごとに割り当てられた値を取り出すことを含む、請求項11に記載のシステム。
【請求項１５】
値を取り出すことが、1つまたは複数の広告についてのコンバージョントラッキングに関連付けられた値を取り出すことを含む、請求項14に記載のシステム。
【請求項１６】
値を取り出すことが、頻度上限に関連付けられた値を取り出すことを含む、請求項14に記載のシステム。
【請求項１７】
前記プライバシ要求が履歴消去要求であり、前記履歴消去要求を適用することが、ランダムな識別子に関連付けられた既存のモバイルデバイス広告データを消去することを含む、前記デバイス識別子に関連付けられた前記ランダムな識別子をリセットすることを含む、請求項11に記載のシステム。
【請求項１８】
前記プライバシ要求がトラッキングオプトアウト要求であり、前記トラッキングオプトアウト要求を適用することが、
モバイルデバイス広告データを消去すること、およびダミー記録を挿入することを含み、
前記ダミー記録が、前記モバイルデバイスに提供された広告が追跡されないことを示す、
請求項11に記載のシステム。
【請求項１９】
前記プライバシ要求を前記モバイルデバイス広告データに適用することが、それについてモバイルデバイス広告データが記憶されている前記モバイルデバイスのすべてのモバイルアプリケーションについてのモバイルデバイス広告データを修正する、請求項11に記載のシステム。
【請求項２０】
前記プライバシ要求を前記モバイルデバイス広告データに適用することが、それについてモバイルデバイス広告データが記憶されている前記モバイルデバイス上にインストールされた複数の指定されたモバイルアプリケーションについてのモバイルデバイス広告データを修正する、請求項11に記載のシステム。
【請求項２１】
コンピュータプログラムで符号化された非一時的なコンピュータ記憶媒体であって、
前記プログラムが命令を含み、前記命令が、データ処理装置によって実行されるときに、前記データ処理装置に、
デバイス識別子を含むプライバシ要求を、モバイルデバイス上のプライバシアプリケーションから受信することであって、デバイス識別子は、符号化されたデバイス識別子を生成するために、符号化され、ここで、プライバシ要求は、具体的には、モバイルデバイス上にインストールされた複数のアプリケーションを示し、モバイルデバイスにおいて、プライバシ要求は、示された複数のアプリケーションの各々に対して、対応するモバイルデバイス広告データに適用される、受信すること、
前記プライバシ要求を認証すること、
前記符号化されたデバイス識別子を復号すること、
復号されたデバイス識別子に関連付けられたモバイルデバイス広告データを取り出すこと、および
前記プライバシ要求を前記モバイルデバイス広告データに適用すること
を含む動作を実施させる、
コンピュータ記憶媒体。
【請求項２２】
前記要求を認証することが、
符号化されたテキストを含むセキュリティ画像を提供すること、
モバイルデバイスからテキストを受信すること、
セキュリティ画像に応答して提供されたテキストを、前記セキュリティ画像において符号化された前記テキストと比較することを含む、請求項21に記載のコンピュータ記憶媒体。
【請求項２３】
データ処理装置によって実行されるときに、前記データ処理装置に、
符号化されたデバイス識別子を、前記デバイス識別子に割り当てられたランダムな識別子にマップすること、および
前記モバイルデバイス広告データを取り出すために、前記ランダムな識別子を使用すること
を含む動作を実施させる命令
をさらに含む請求項21に記載のコンピュータ記憶媒体。
【請求項２４】
モバイルデバイス広告データを取り出すことが、前記デバイスのモバイルアプリケーションに提示された広告ごとに割り当てられた値を取り出すことを含む、請求項21に記載のコンピュータ記憶媒体。
【請求項２５】
値を取り出すことが、1つまたは複数の広告についてのコンバージョントラッキングに関連付けられた値を取り出すことを含む、請求項24に記載のコンピュータ記憶媒体。
【請求項２６】
値を取り出すことが、頻度上限に関連付けられた値を取り出すことを含む、請求項24に記載のコンピュータ記憶媒体。
【請求項２７】
前記プライバシ要求が履歴消去要求であり、前記履歴消去要求を適用することが、ランダムな識別子に関連付けられた既存のモバイルデバイス広告データを消去することを含む、前記デバイス識別子に関連付けられた前記ランダムな識別子をリセットすることを含む、請求項21に記載のコンピュータ記憶媒体。
【請求項２８】
前記プライバシ要求がトラッキングオプトアウト要求であり、前記トラッキングオプトアウト要求を適用することが、
モバイルデバイス広告データを消去すること、およびダミー記録を挿入することを含み、
前記ダミー記録が、前記モバイルデバイスに提供された広告が追跡されないことを示す、
請求項21に記載のコンピュータ記憶媒体。
【請求項２９】
前記プライバシ要求を前記モバイルデバイス広告データに適用することが、それについてモバイルデバイス広告データが記憶されている前記モバイルデバイスのすべてのモバイルアプリケーションについてのモバイルデバイス広告データを修正することを含む、請求項21に記載のコンピュータ記憶媒体。
【請求項３０】
前記プライバシ要求を前記モバイルデバイス広告データに適用することが、それについてモバイルデバイス広告データが記憶されている前記モバイルデバイス上にインストールされた複数の指定されたモバイルアプリケーションについてのモバイルデバイス広告データを修正することを含む、請求項21に記載のコンピュータ記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、コンテンツ提示に関する。
【背景技術】
【０００２】
広告主は、消費者を引き付けるために、さまざまな形態で広告を提供する。広告(「ad」)は、ユーザ、たとえば特定の消費者によって、その全体または一部において使用されるように設計された1つの情報である。広告は、電子的形態で提供されてもよい。たとえば、オンライン広告が、ウェブページ上のバナー広告として、検索結果と共に提示される広告として、またはモバイルアプリケーションに提示される広告として、提供されてもよい。
【０００３】
ウェブページまたはモバイルアプリケーションなどの媒体に広告を含めることを、インプレッションと呼ぶことができる。広告活動システムは、たとえば、検索エンジンに入力されたユーザの検索クエリの中の1つまたは複数のキーワードに応答して、ウェブページに広告を含めることができる。ユーザが、提示された広告を(たとえば、広告を「クリックする」ことによって)選択すると、ユーザは、通例、広告に関連付けられた別のロケーション、たとえば、別の特定のウェブページへと導かれる。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
一般に、本明細書は、コンテンツ提示に関する。
【課題を解決するための手段】
【０００５】
一般に、本明細書で説明する発明の対象の一態様は、符号化されたデバイス識別子を含むプライバシ要求を、モバイルデバイスから受信するステップと、要求を認証するステップと、デバイス識別子を復号するステップと、復号されたデバイス識別子に関連付けられたモバイルデバイス広告データを取り出すステップと、プライバシ要求をモバイルデバイス広告データに適用するステップとの作用を含む方法において、具体化されてよい。この態様の他の実施形態は、対応するシステム、装置、およびコンピュータプログラム製品を含む。
【０００６】
これらの、および他の実施形態は、オプションで、以下の特徴のうちの1つまたは複数を含むことができる。要求を認証するステップは、セキュリティ画像に応答して提供されたテキストを、セキュリティ画像において符号化されたテキストと比較するステップを含む。方法は、受信したデバイス識別子を、デバイス識別子に割り当てられたランダムな識別子にマップするステップと、モバイルデバイス広告データを取り出すために、ランダムな識別子を使用するステップとをさらに含む。
【０００７】
モバイルデバイス広告データを取り出すステップは、デバイスのモバイルアプリケーションに提示された広告ごとに割り当てられた値を取り出すステップを含む。値を取り出すステップは、1つまたは複数の広告についてのコンバージョントラッキングに関連付けられた値を取り出すステップを含む。値を取り出すステップは、頻度上限に関連付けられた値を取り出すステップを含む。
【０００８】
プライバシ要求は履歴消去要求であり、履歴消去要求を適用するステップは、ランダムな識別子に関連付けられた既存のモバイルデバイス広告データを消去するステップを含む、デバイス識別子に関連付けられたランダムな識別子をリセットするステップを含む。プライバシ要求はトラッキングオプトアウト要求であり、トラッキングオプトアウト要求を適用するステップは、モバイルデバイス広告データを消去するステップ、およびダミー記録を挿入するステップを含み、ダミー記録は、モバイルデバイスに提供された広告が追跡されないことを示す。プライバシ要求をモバイルデバイス広告データに適用するステップは、それについてデータが記憶されているモバイルデバイスのすべてのモバイルアプリケーションについてのモバイルデバイス広告データを修正する。プライバシ要求をモバイルデバイス広告データに適用するステップは、それについてデータが記憶されているモバイルデバイスの指定されたモバイルアプリケーションについてのモバイルデバイス広告データを修正する。
【０００９】
本明細書で説明する発明の対象の特定の実施形態を、以下の効果のうちの1つまたは複数の実現するために実装することができる。ユーザ情報をセキュアに記憶して、ユーザのプライバシを保持することができる。ユーザは、所望のプライバシレベルに基づいて、モバイルアプリケーションについてのプライバシを制御することができる。加えて、特定のユーザに関連のある広告を、ユーザのプライバシを損なうことなく、提供することができる。
【００１０】
本発明の1つまたは複数の実施形態の詳細が、添付の図面および以下の説明において述べられる。本発明の他の特徴、目的、および効果は、説明および図面から、および特許請求の範囲から明らかであろう。
【図面の簡単な説明】
【００１１】
【図１】例示的な広告活動システムのブロック図である。
【図２】モバイルデバイスアプリケーションを含む例示的なシステムのブロック図である。
【図３】モバイルデバイスを含む例示的な広告活動システムのブロック図である。
【図４】デバイス識別子を取り出すステップ、およびプライバシ要求を広告システムに送信するステップの例示的な方法の流れ図である。
【図５】モバイルデバイスからデバイス識別子およびプライバシ要求を受信するステップの例示的な方法の流れ図である。
【発明を実施するための形態】
【００１２】
さまざまな図面における同様の参照記号は、同様の要素を示す。
【００１３】
ユーザに、コンテンツアイテム(たとえば、広告)を提示することができる。コンテンツアイテムは、さまざまな形態でユーザデバイス(たとえば、モバイル電話、PDA、デスクトップコンピュータ)に表示されてよい。ユーザがコンテンツアイテムと対話する異なるやり方は、コンバージョンとして数えられてよい。たとえば、ユーザは、コンテンツアイテムをクリックして特定のランディングページに到達することができ、ユーザは、ランディングページから製品を購入することができ、またはユーザは、他のやり方でコンテンツアイテムと対話することができる。これらのコンバージョンを、たとえば、コンバージョンに対して広告主に課金するために追跡することができる。
【００１４】
いくつかの実装形態において、コンテンツアイテムは、モバイルデバイスで実行しているアプリケーション内で提示されてよい。たとえば、モバイルデバイスは、いくつかの別個のアプリケーションを含むことができ、そのそれぞれが、異なるアプリケーションコンテンツ(たとえば、ニュースアプリケーション、ゲームアプリケーション)を提供する。コンテンツアイテム(たとえば、広告)は、アプリケーションが実行している間に、アプリケーションコンテンツと共に提示されてよい。プライバシ管理アプリケーションは、モバイルデバイスのユーザによって使用されて、たとえば、ユーザに関連付けられたコンテンツアイテムのトラッキングをオプトアウトすることを含む、広告内のコンテンツアイテムの提示に関連付けられた特徴を制御することができる。
【００１５】
以下では広告活動システムおよび方法への参照が行われることになるが、他の形態のスポンサー付きコンテンツを含む他の形態のコンテンツが、以下の説明に従って、管理され、提示され、追跡されてもよい。
【００１６】
図1は、例示的な広告活動システム100のブロック図である。いくつかの実装形態において、1つまたは複数の広告主102が、広告管理システム104において、広告情報を、直接的または間接的に、入力し、維持し、追跡することができる。広告への参照が行われるが、他の形態のスポンサー付きコンテンツを含む他の形態のコンテンツが、システム100によって配信されてもよい。広告は、バナー広告などのグラフィカル広告、テキストのみの広告、画像広告、バーコード広告(たとえば、広告を商品と引き換えるのに使用するための1つまたは複数のバーコードを含む広告)、オーディオ広告、ビデオ広告、そのようなコンポーネントのいずれかの1つまたは複数を組み合わせる広告などの形態であってよい。広告はまた、リンク、メタ情報、および/またはマシン実行可能命令などの埋め込まれた情報を含むことができる。
【００１７】
1つまたは複数の発行元106が、広告管理システム104に、広告の要求をサブミットすることができる。広告管理システム104は、発行元のコンテンツアイテム(たとえば、ウェブプロパティ)のうちの1つまたは複数に配置する、または関連付けるための広告を、要求する発行元106に送信することによって応答する。例示的なウェブプロパティは、ウェブページ、テレビおよびラジオの広告スロット、ならびに印刷媒体スペースさえも含むことができる。
【００１８】
ユーザ108および広告主102などの他のエンティティは、たとえば、広告に関連したコンバージョンまたはクリックスルーが発生したか否かなどの使用情報を、広告管理システム104に提供することができる。この使用情報は、供給されている広告に関連した、測定されたまたは観察されたユーザの挙動を含むことができる。広告管理システム104は、使用情報に基づいて、金銭上のトランザクション、たとえば、発行元106に入金すること、および広告主102に課金することを実施することができる。
【００１９】
ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、インターネット、またはそれらの組合せなどのコンピュータネットワーク110が、広告主102、広告管理システム104、発行元106、およびユーザ108を接続する。
【００２０】
一例の発行元106は、コンテンツ(たとえば、記事、討論スレッド、音楽、ビデオ、グラフィック、検索結果、ウェブページリスト、情報フィードなど)の要求を受信し、要求に応答して要求されたコンテンツを取り出す、一般的なコンテンツサーバである。コンテンツサーバは、広告の要求を、広告管理システム104の広告サーバにサブミットすることができる。広告要求は、所望される広告の数を含むことができる。広告要求はまた、コンテンツ要求情報を含むことができる。この情報は、コンテンツそれ自体(たとえば、ページ、ビデオブロードキャスト、ラジオ番組、または他のタイプのコンテンツ)、コンテンツまたはコンテンツ要求に対応したカテゴリ(たとえば、アート、ビジネス、コンピュータ、アート映画、アート音楽など)、コンテンツ要求の一部または全部、コンテンツ年齢、コンテンツタイプ(たとえば、テキスト、グラフィクス、ビデオ、オーディオ、混合媒体など)、ジオロケーション情報などを含むことができる。
【００２１】
いくつかの実装形態において、コンテンツサーバまたはクライアントブラウザは、要求されたコンテンツを、広告管理システム104によって提供された広告のうちの1つまたは複数と組み合わせることができる。組み合わされたコンテンツと広告は、ビューア(たとえば、ブラウザ、または他のコンテンツディスプレイシステム)に提示するためのコンテンツを要求したユーザ108に送信されてよい。コンテンツサーバは、広告がどのように、いつ、および/またはどこでレンダリングされるべきかを(たとえば、HTMLまたはJavaScript(登録商標)で)記述する情報を含む広告に関する情報を、広告サーバに返送することができる。
【００２２】
別の例の発行元106は、検索サービスである。検索サービスは、検索結果のためのクエリを受信することができる。それに応じて、検索サービスは、ドキュメントのインデックスから(たとえば、ウェブページのインデックスから)関連する検索結果を取り出すことができる。検索結果は、たとえば、ウェブページタイトルのリスト、それらのウェブページから抽出されたテキストのスニペット、およびそれらのウェブページへのハイパーテキストリンクを含むことができ、検索結果の所定の数(たとえば、10)にグループ分けされてよい。
【００２３】
検索サービスは、広告の要求を、広告管理システム104にサブミットすることができる。要求は、所望される広告の数を含むことができる。この数は、検索結果、検索結果によって占められるスクリーンまたはページスペースの量、検索結果および広告のために利用可能なスクリーンまたはページスペースの量、広告のサイズおよび形状などによって左右されてよい。広告の要求はまた、(入力された、または構文解析された)クエリ、クエリに基づいた情報(ジオロケーション情報、クエリがアフィリエイトから来たかどうか、およびそのようなアフィリエイトの識別子など)、および/または、検索結果に関連付けられた情報もしくは検索結果に基づいた情報を含むことができる。情報は、たとえば、検索結果に関連した識別子(たとえば、ドキュメント識別子、すなわち「docID」)、検索結果に関連したスコア(たとえば、情報検索(「IR」)スコア)、識別されたドキュメント(たとえば、ウェブページ)から抽出されたテキストのスニペット、識別されたドキュメントの全テキスト、識別されたドキュメントの特徴ベクトルなどを含むことができる。いくつかの実装形態において、IRスコアは、たとえば、クエリおよびドキュメントに対応した特徴ベクトルのドット積、ページランクスコア、および/またはIRスコアとページランクスコアとの組合せなどから計算される。
【００２４】
いくつかの実装形態において、広告管理システム104は、広告主102から広告を選択するための競売プロセスを含む。たとえば、広告主102は、広告の提示ごとに、または広告との対話(たとえば、クリック)ごとに、広告主102が支払ってもよいとする金額、たとえばユーザが広告をクリックするときに、広告主が支払うクリック単価金額などを、選択する、またはそれに値を付けることが許可されてよい。クリック単価は、クエリの中の1つまたは複数のワードなどのキーワードに基づいた広告のクリックごとに、広告主が支払ってもよいとする最高金額などの、最高クリック単価を含むことができる。しかしながら、他の付け値のタイプがまた使用されてもよい。これらの付け値に基づいて、提示するための広告を選択し、ランク付けすることができる。
【００２５】
検索サービスは、検索結果を、広告管理システム104によって提供された広告のうちの1つまたは複数と組み合わせることができる。この組み合わされた情報は次いで、コンテンツを要求したユーザ108に転送されてよい。検索結果は、有料の広告と、おそらく中立的な検索結果との間でユーザを混同させないように、広告とは別に維持されてよい。
【００２６】
いくつかの実装形態において、発行元106のうちの1つまたは複数は、広告の要求を、広告管理システム104にサブミットすることができる。広告管理システム104は、発行元のウェブプロパティ(たとえば、ウェブサイトおよび他のネットワーク分散コンテンツ)のうちの1つまたは複数に配置するための、そのウェブプロパティに関連した広告を、要求する発行元106に送信することによって応答する。たとえば、発行元106のうちの1つがスポーツ関連のウェブサイトを発行した場合、広告管理システム104は、スポーツ関連の広告を発行元106に提供することができる。いくつかの他の実装形態において、要求は、たとえば、発行元のウェブページがクライアントデバイスにロードされているときに、Javascriptの実行により、ユーザ108に関連付けられたデバイスによって実行される。
【００２７】
別の例の発行元106は、モバイルアプリケーション開発者である。モバイルアプリケーションは、モバイルデバイス(たとえば、スマートフォン)上で動作するために、特に設計されたアプリケーションである。モバイルアプリケーションはまた、モバイルアプリケーションのコンテンツ内に位置付けられた1つまたは複数の広告を含むことができる。発行元106と同様に、広告は、ユーザによってアクセスされるとき(たとえは、モバイルアプリケーションの特定のページがモバイルデバイスにロードされるとき)に、モバイルアプリケーションに配置するために、広告管理システム104から受信されてよい。モバイルアプリケーションは、以下で図2に関してより詳細に説明される。
【００２８】
図2は、モバイルデバイスアプリケーションを含むシステム200の例のブロック図である。この例において、開発者システム202は、1つまたは複数のモバイルデバイス204のためのアプリケーションなどのプログラムコンテンツを作成するために、開発者によって使用されてよい。モバイルデバイス204は、たとえば、セルラ電話、携帯情報端末、または任意の他のタイプのモバイルデバイスを含むことができる。とりわけ、開発者は、プログラムコードを生成し、それをモバイルデバイス204と互換性のある実行可能なプログラムにコンパイルすることなどによって、アプリケーション206を作成することができる。アプリケーション206は、モバイルデバイス204のグラフィカルユーザインターフェース210において、たとえば、ディスプレイスクリーン上で、1つまたは複数のページ208を提示するように考案されてよい。個々のシステムおよび/またはコンポーネントは、ハードウェア、ファームウェア、ソフトウェア、またはそれらの組合せを使用して実装されてよく、異なる数のユニットに分割される、またはつながれてよい。以下の例は、アプリケーション206が実行されているときに、たとえば、第三者からの広告としてのコンテンツ212をページ208に提示することができるように、開発者がどのようにアプリケーション206を構成できるかを説明することにする。
【００２９】
アプリケーション206および/または他のプログラムを作成するためのソフトウェア開発キット214が、開発者に提供されてよい。ソフトウェア開発キット214は、いくつかの例を挙げると、コードおよび/または疑似コード用のエディタ、1つまたは複数のコンパイル機能、ディスプレイコンテンツをプレビューするためのエミュレート機能、ならびにデバッグ機能を提供することができる。いくつかの実装形態において、ソフトウェア開発キット214はまた、広告などの第三者コンテンツをモバイルデバイス用に作成されたプログラムに追加するのに都合のよいやり方を、開発者に提供するように構成されてよい。たとえば、ソフトウェア開発キット214は、広告が要求され、ユーザに表示されるように、かつユーザと広告とのあらゆる対話が追跡されるように、必要なコードおよび/または他のアプリケーションコンテンツを、開発者に提供することができる。
【００３０】
ソフトウェア開発キット214は、1つまたは複数のオブジェクト216を提供することができる。いくつかの実装形態において、開発者は、アプリケーションを作成するときに、オブジェクト216をコードの中に組み入れることができる。たとえば、ソフトウェア開発キット214は、開発者が、オブジェクトを選択し、アプリケーション206が作成されているときに、対応するマテリアルをアプリケーション206に含めることができるやり方で、開発者が全体のアプリケーションコンテンツを生成する場所などのスクリーン上にオブジェクト216を提供することができる。
【００３１】
ソフトウェア開発キット214は、特定のプラットフォーム218に従ってアプリケーション206を作成できるように構成されていてよい。いくつかの実装形態において、プラットフォーム218は、モバイルデバイス204のタイプなどのモバイルデバイスを対象にすることができ、モバイルデバイス204は、いくつかの例を挙げると、セル式電話、ハンドヘルドデバイス、または携帯情報端末を含むことができる。たとえば、プラットフォーム218は、Open Handset Allianceによって作成された、またはサポートされたプラットフォームであってよい。いくつかの実装形態において、オブジェクト216は、アプリケーションコードが実行可能なプログラムの中にコンパイルされる前に含まれる。たとえば、オブジェクトは、コンパイル前にコードを挿入することによって、アプリケーションの統合された部分として組み入れられてもよい。
【００３２】
オブジェクト216は、1つまたは複数の機能を実施することができる。いくつかの実装形態において、オブジェクトは、広告212などの第三者コンテンツを、モバイルデバイス204上で見られるようにさせてよい。たとえば、オブジェクト216は、関係する広告を要求し、その広告を適切なやり方でユーザに表示し、ユーザが広告をクリックしたかどうか、または別の方法でユーザが広告と対話するかどうかを追跡することを担当することができる。
【００３３】
いくつかの実装形態において、オブジェクト216は、アプリケーション206のユーザインターフェースに追加されて、広告などのコンテンツのフェッチングおよびレンダリング、ならびに広告などのコンテンツとの対話を処理するように構成されたJava(登録商標)オブジェクトである。たとえば、開発者は、アプリケーション206に関連付けられたビュークラスを拡張するビューオブジェクトを実装することができる。いくつかの実装形態において、広告ビューオブジェクトは、以下を含むことができる:GoogleBaseAdView(String client)。
【００３４】
このオブジェクトは、広告ビューを作成するために、ベースクラスを表すことができる。コンストラクタが、コンテンツ要求に含まれるフロントエンドのURLを含むことができるコンテンツ広告要求におけるクライアントパラメータを設定することができる。上記のオブジェクトは、Google Inc.からのいくつかの実装形態において使用されるWebViewクラスなどのより一般的なビュークラスを拡張することができ、いくつかの実装形態においては、広告を対象とする他のより固有のクラスによって拡張されてよい。いくつかの例において、コンテンツを要求するビューの上部および/または下部の配置を指定するために、そのような拡張は、void setAdLayoutType(int placement)を使用することができる。画像コンテンツのサムネイルをギャラリービューに配置するギャラリーなどの、コンテンツ(たとえば広告)を表示する他のやり方が使用されてもよい。
【００３５】
1つまたは複数の機能が、オブジェクトと共に使用されてよい。そのような機能は、コンテンツが表示されるときに、そのコンテンツのルックアンドフィールをカスタマイズすることができる。いくつかの実装形態において、そのような機能は、コンテンツ要求において1つまたは複数のCGIパラメータを設定することができる。
【００３６】
アプリケーションプログラムインターフェース(API)220が、オブジェクト216と共に使用されてよい。いくつかの実装形態において、APIは、広告などのコンテンツをアプリケーション206の中に組み入れるときに開発者が呼び出すことができるJava APIである。たとえば、オブジェクト216は、開発者がアプリケーション206の中にコードを挿入できるように、Java API 220を使用するJavaコードスニペットを含むことできる。先に述べたように、そのようなコードスニペットは、開発者のカスタマイゼーションに基づいて、広告などのコンテンツの要求を構築し、そのコンテンツをフェッチし、それをアプリケーション206のユーザインターフェースに書き込むことができる。
【００３７】
広告212は、いくつかの異なるタイプのコンテンツを含むことができる。いくつかの実装形態において、テキスト広告、画像広告(静止画像および動画を含む)、およびビデオ広告を含む広告タイプを使用することができるが、これらに限定されない。たとえば、広告は、広告主に関連付けられた他のコンテンツへの、ユーザナビゲーション(たとえば、リンク)を提供することができる。他のタイプのコンテンツ(たとえば非広告コンテンツ)も可能である。
【００３８】
広告ディストリビュータシステム222は、広告212などの任意のタイプのコンテンツを、モバイルデバイス204および/または開発者システム202に転送するために使用されてよい。いくつかの実装形態において、広告ディストリビュータシステム222は、コンテンツの要求をモバイルデバイス204から受信し、1つまたは複数のマッチする広告または他のコンテンツをレポジトリ224からフェッチし、マッチするコンテンツをモバイルデバイス204に転送するように構成されている。たとえば、広告212のマッチングは、マッチするコンテンツ/広告を識別するために構成された、アプリケーション206に関連付けられた1つまたは複数のコンテキストパラメータを提供することができる、コンテキストコンポーネント226を使用して実施されてよい。
【００３９】
開発者システム202、モバイルデバイス204、および/または広告ディストリビュータシステム222は、インターネットなどの任意の種類のネットワーク223を使用して接続されていてよい。たとえば、開発者システム202および広告ディストリビュータシステム222は、TCP/IPプロトコル群を使用して通信することができ、モバイルデバイス204は、IEEE 802.11、WAP、および/またはBluetooth(登録商標)などの任意の種類の無線プロトコルを使用して通信することができる。
【００４０】
アプリケーション206および/またはモバイルデバイス204の関連するコンテキストは、異なるやり方で共有されてよい。いくつかの実装形態において、開発者は、アプリケーション206についてのメタデータを含むコンテキストを、広告ディストリビュータシステム222と共有することができる。ソフトウェア開発キット214のコンテキスト共有コンポーネント228により、開発者が、広告などのコンテンツの取り出しおよび提示に適切である、開発者が決定する1つまたは複数のキーワードを入力するのを可能にすることができる。たとえば、アプリケーションを作成する開発者は、記憶のためにコンテキストコンポーネント226によって受信されるキーワードを、コンテキスト共有コンポーネント228を使用してサブミットすることができる。いくつかの実装形態において、サブミットされたメタデータがアプリケーション206といかによく相関するかを決定するために、監視を実施することができ、必要であれば、使用されたコンテキストパラメータにおいて修正が行われてよい。
【００４１】
いくつかの実装形態において、コンテキストは、アプリケーション206を広告ディストリビュータシステム222にサブミットする開発者によって共有されてよい。コンテキストの評価において使用するために、アプリケーション206のうちの一部または全部のサブミットに、コンテキスト共有コンポーネント228を使用することができる。これは、転送されるべきコンテンツ/広告のコンテキストを決定するために、広告ディストリビュータシステム222がアプリケーションを検査できるように、セットアッププロセスの一部として行われてよい。考慮に入れることができる態様の例は、モバイルデバイス204の以前のスクリーンまたはページの本文のコンテンツ、アプリケーション206全体のコンテンツ、および/または兄弟オブジェクトなどの他のビューオブジェクトのコンテンツを含むが、これらに限定されない。
【００４２】
アプリケーション206の分析は、コードを(静的分析などによって)分析すること、アプリケーション206の全般のコンテキストを決定すること、または特定のページ208のうちの1つまたは複数の特定のコンテキストを決定することを含むことができる。これは、モバイルデバイス204においてページ208のうちのどのページが現在アクティブであるかを判定するために、コンテキストコンポーネント226を必要とすることがある。たとえば、これは、開発者によって提供されたアプリケーション206のバージョンを使用して行われてよい。アプリケーション206が後で更新される場合、または後で更新されるときに、必要に応じてコンテキストを更新できるように、たとえばコンテキスト共有コンポーネント228を使用して、広告ディストリビュータシステム222に改訂されたバージョンを転送することができる。
【００４３】
別の例として、開発者がアプリケーション206のコードにおいて1つまたは複数のフックを指定できることを条件とすることによって、コンテキストを決定することができる。いくつかの実装形態において、ソフトウェア開発キット214および/またはプラットフォーム218が、そのような特徴を提供することができる。たとえば、アプリケーション206の1つまたは複数の段階での状態を変更するために、グローバル変数が作成されてよい。そのような変数を、Javaコードのスニペットなどによって、オブジェクト216によって読み取ることができる。
【００４４】
広告などの、マッチするコンテキストを探し出すのに使用するコンテキストパラメータを、さまざまな形式のうちのいずれかで記憶することができる。たとえば、コンテキストコンポーネント226は、1つまたは複数のキーワード、カテゴリ、ラベル、トピック、コンテキスト情報、および/または広告ディストリビュータシステム222によって使用される任意の他の種類のパラメータを記憶することができる。
【００４５】
以下は、上述したような実装形態をどのように使用することができるかの例である。開発者は、ソフトウェア開発キット214を使用して、モバイルデバイス204向けのアプリケーション206を作成することができる。とりわけ、アプリケーション206は、プラットフォーム218に従って作成されてよく、オブジェクト216を含むことができる。開発者は、たとえば、デバイス204が最初に販売されたとき、またはダウンロードプロセスなどによって後で更新されたときに、使用のためのアプリケーション206をモバイルデバイスに転送することができる。開発者はまた、コンテキスト共有コンポーネント228を使用して、1つもしくは複数のキーワードをサブミットすること、および/またはアプリケーション206のバージョンを提供することなどによって、アプリケーション206に関連したコンテキストを提供することができる。1つまたは複数のコンテキストパラメータは、広告ディストリビュータシステム222に登録されてよい。
【００４６】
ユーザがモバイルデバイス204を操作するとき、1つまたは複数の広告212などのコンテンツをページ208に提示することができる。提示するためのコンテンツは、コンテキストパラメータに基づいて、広告ディストリビュータシステム222によって選択されてよい。いくつかの実装形態において、ユーザは、広告212をクリックする、開発者が指定した組合せのキー押下(たとえば、単一のキーを2度タップする、もしくは2つのキーを素早く連続してタップする)を実施する、またはタッチスクリーンデバイス上で広告をタップするなどによる1つまたは複数のやり方で、広告212と対話することができる。
【００４７】
広告などのコンテンツを、さまざまなやり方のいずれかで取り出すことができる。いくつかの実装形態において、コンテンツを、実質的にオンデマンド手法に従って取り出すことができる。たとえば、広告または他のコンテンツは、広告ディストリビュータシステム222に要求され、表示のためにそこから転送されてよい。そのような実装形態は、ユーザに表示された広告が、アプリケーション206および/またはモバイルデバイス204の個々の状態に対して極めて最新でありうるという利点を有することができる。
【００４８】
いくつかの実装形態において、プリフェッチ手法を使用することができる。たとえば、開発者は、広告などの複数のコンテンツ部分が広告ディストリビュータシステム222に要求されるように、アプリケーション206を構成することができる。広告は、モバイルデバイス204、および/またはモバイルデバイス204と通信するサーバなどの別のコンピュータデバイスなどの、好適なロケーションに記憶されてよい。アプリケーション206により実施される決定などによるある時点で、たとえば、オフライン状態後にオンラインモードに戻るときに、広告をモバイルデバイス204に表示することができる。開発者は、たとえば、ソフトウェア開発キット214からアプリケーション206の中にある特徴を組み入れることによって、どのコンテンツ/広告が表示されたかという報告を提供することができる。いくつかの実装形態において、たとえば、コンテンツ/広告提示に関連付けられたクラスに以前に供給されたコンテンツ/広告を追跡させ、規則(たとえば、1セッションにつき所定の回数を超えない)に従って同じコンテンツ/広告を確実に提示させることによって、クライアント側の頻度上限を使用することができる。コンテンツをフェッチするための他の手法が使用されてもよい。
【００４９】
いくつかの実装形態において、コンテンツ/広告提示に関連付けられたクラスを使用するアクティビティが初めて表示されるときに、広告212などの新しいコンテンツ部分を提示することができる。別の例として、モバイルデバイス204のアクティビティスタックからアクティビティが取り除かれたときに、新しい広告/コンテンツを提示することができる。さらに別の例において、モバイルデバイス204がアクティブであり続ける場合(たとえば、デバイスのディスプレイのバックライトがオンのままの場合)に、以前の広告/コンテンツが所定の時間にわたって表示されると、コンテンツ/広告を提示することができる。いくつかの実装形態において、開発者は、たとえば、広告のカルーセル式のブラウジングを提供するために、ギャラリービューの生成を担当するクラスを介して、ユーザが開始したコンテンツ/広告のリフレッシュを円滑化することができる。
【００５０】
上の例では、ソフトウェア開発キット214について言及してきた。いくつかの実装形態において、発行元向けのインターフェースにおけるウィザードを使用して、キット214を拡張する、または強化することができる。たとえば、広告ディストリビュータシステム222は、発行元が広告プログラムのアフィリエイトになるためのアカウントを確立することができるユーザインターフェースを提供でき、このインターフェースは、開発者がアプリケーション206に関連して表示されるべきコンテンツ/広告のルックアンドフィールをカスタマイズするやり方として、ウィザードを特徴付けることができる。いくつかの実装形態において、これは、たとえば、広告および/または他のコンテンツによるそのアプリケーションの提案を強化する機会を可能にするための、開発者のためのセルフサービスのサインアッププロセスとして実装されてよい。別の例として、かつユーザのプライバシ権利を考慮に入れることを仮定すると、そのようなインターフェースは、広告クリック、インプレッション、クエリ、収益、および/または他の側面についての統計の報告を、広告ディストリビュータシステム222に提供することができる。
【００５１】
図3は、モバイルデバイスを含む例示的な広告活動システム300のブロック図である。広告活動システム300は、広告および他のコンテンツをモバイルデバイスに供給するために使用されてよい。以下でより詳細に説明するように、モバイルデバイスのプライバシアプリケーションは、モバイルデバイスに関連した情報が広告システムから取り除かれるだけでなく、今後の広告が追跡されないことを要求するように、広告システムにプライバシ要求を送信することができる。
【００５２】
システム300は、広告システム302を含む。いくつかの実装形態において、モバイルデバイス304は、コンテンツ、たとえば、いくつかの例を挙げると、1つまたは複数の広告306、ウェブページ、ビデオもしくはオーディオストリーム、画像、または他の媒体を、広告システム302に要求する。広告システム302は、広告306を含むコンテンツを、モバイルデバイス304のユーザインターフェース上に提示するために、モバイルデバイス304に供給することができる。
【００５３】
いくつかの実装形態において、モバイルデバイス304で動作する1つまたは複数のモバイルアプリケーション308は、広告を広告システム302に要求する。モバイルアプリケーション308は、たとえば、図2の開発者システム202を使用して、モバイルデバイス304用に作成されてよい。モバイルアプリケーション308のタイプは、いくつかの例を挙げると、ゲーム、ユーティリティ、ニュースアプリケーション、および構成ツールを含むことができる。モバイルアプリケーション308は、デバイスが製造業者によって最初に販売される前にモバイルデバイス304にインストールされてよく、またはモバイルアプリケーション308は、その後に(たとえば、モバイルデバイスアプリケーションストアからのダウンロードプロセスを通して)モバイルデバイスにインストールされてもよい。モバイルアプリケーション308は、モバイルアプリケーションのAPIを通して、デバイスのための識別子、たとえば、モバイルデバイス304のデバイス識別子を取得することができる。デバイス識別子は、たとえば、デバイスのためのデバイスID、またはモバイルデバイスのための他のハードウェア識別子であってよい。デバイス識別子は、たとえば、モバイルデバイスに関連付けられた一意の英数字識別子であってよい。
【００５４】
広告システム302は、モバイルアプリケーション308のうちの1つまたは複数に提示された広告306とのユーザ対話を追跡するためのアプリケーショントラッキングエンジン310を含むことができる。アプリケーショントラッキングエンジン310は、トラッキング情報を備えるデータを1つまたは複数の広告ログ312に記憶することができる。広告ログ312は、モバイルデバイスを広告イベントに関連付けるデータの行を記憶するためのテーブルを含むことができる。いくつかの実装形態において、広告ログ312は、モバイルデバイスを広告イベントに関連付けるときに、モバイルデバイスのデバイス識別子を記憶するためのデバイス識別子フィールドを含む。デバイス識別子は、システム300におけるモバイルデバイスごとに一意であってよい。いくつかの実装形態において、広告ログ312は、広告イベントをトリガしたモバイルアプリケーションを追跡するためのアプリケーションIDフィールドを含むことができる。広告ログ312はまた、広告識別子(たとえば、広告クッキーのための識別子(「adCookielD」))、コンバージョントラッキング識別子、および/または広告頻度上限情報を含むことができる。
【００５５】
他の実装形態において、アプリケーショントラッキングエンジン310は、広告ログ312においてモバイルデバイス識別子をログしないことによってユーザのプライバシを保護するために、デバイス識別子ごとにランダムな識別子(「randomID」)を生成する。アプリケーショントラッキングエンジン310は、デバイス識別子へのランダムな識別子に関するマッピングを、デバイス識別子テーブル314に記憶することができる。この例では、広告ログ312が、デバイス識別子の代わりに、モバイルデバイスに関連付けられたランダムな識別子を記憶するためのランダムな識別子フィールドを含む。ランダムな識別子の値は、モバイルデバイスを広告イベントに関連付けるために、広告ログ312において使用される。いくつかの実装形態において、デバイス識別子テーブル314は、ユーザデバイス識別子をセキュアに記憶するために、別のロケーション、たとえば、異なるサーバに記憶される。
【００５６】
アプリケーショントラッキングエンジン310は、モバイルデバイス304のためのデバイス識別子を受信することができる。たとえば、ユーザが広告を選択したとき、デバイス識別子は、広告イベントに関連付けられた他のデータと共に、広告システム302に送信されてよい。広告イベントは、いくつかの例を挙げると、モバイルアプリケーション308のうちの1つにおける広告の提示、または広告306のうちの1つのユーザ選択を含むことができる。アプリケーショントラッキングエンジン310は、デバイス識別子にマップされたランダムな識別子についてデバイス識別子テーブル314にクエリし、検出された広告イベントをランダムな識別子に関連付けるエントリを、広告ログ312に作成することができる。
【００５７】
デバイス識別子テーブル314がモバイルデバイス304のデバイス識別子に関連付けられた行を含まない場合、アプリケーショントラッキングエンジン310は、生成されたランダムな識別子をデバイス識別子にマップする新しい記録をデバイス識別子テーブル314に生成することができ、ここで、ランダムな識別子は、モバイルデバイスからその後に受信された広告情報のために、デバイス識別子に関連付けられることになる。
【００５８】
デバイス識別子テーブル314の各行は、単一のモバイルデバイスに関連付けられた一意のデバイス識別子のための行であってよい。デバイス識別子テーブル314は、行ごとにコンバージョントラッキング情報フィールドを含むことができる。コンバージョンは、ユーザによる広告に対する異なる応答(たとえば、広告をクリックする、広告と対話する、広告に関連付けられた広告主のウェブページに対して行動を実施する)を記述することができる。たとえば、コンバージョントラッキング情報フィールドは、広告をクリックした後で、ユーザが、広告主が指定した行動を行うかどうかを確認するために使用されるデータを記憶することができる。広告主は、コンバージョンを、いくつかの例を挙げると、フォームに記入すること、買い物をすること、またはメーリングリストにサインアップすることと定義することができる。
【００５９】
デバイス識別子テーブル314はまた、行ごとに頻度上限フィールドを含むことができる。頻度上限フィールドは、指定された時間内に、広告がモバイルデバイス304に提示された回数を制限するのに使用されてよい。たとえば、広告システム302は、頻度上限を使用して、ユーザが、広告主が指定した事例の数を超えて広告306のうちの1つにさらされるのを防ぐことができる。デバイス識別子テーブル314は、モバイルデバイス304のユーザが、アプリケーショントラッキングエンジン310が追跡するのが何の情報かを指定することができるように、行ごとにプライバシ設定を含むことができる。いくつかの実装形態において、デバイス識別子テーブル314は、アプリケーションIDフィールドまたは何らかの他のモバイルアプリケーション識別子を用いて、広告イベントをトリガするアプリケーションを追跡することができる。
【００６０】
いくつかの実装形態において、デバイス識別子テーブル314は、追加のデータを含む。たとえば、特定のデバイス識別子に関連付けられた行ごとに、コンバージョンデータ、ロケーション履歴データ、およびアプリケーションデータ(たとえば、アプリケーション広告要求から取り出された、ユーザデバイスのアプリケーションの名前)が含まれてよい。
【００６１】
モバイルデバイス304は、セルラ電話、スマートフォン、携帯情報端末、または任意の他のタイプのモバイルデバイスであってよい。この例では、モバイルデバイス304は、電話をかける、ボイスオーバーインターネットプロトコル(VoIP)通話をする、およびWorld Wide Webまたは任意の他のタイプのネットワークをブラウズするために、使用されてよい。モバイルデバイスは、いくつかの例を挙げると、タッチスクリーンインターフェース、キーボード、トラックボール、またはスタイラスからユーザ入力を受信することができる。モバイルデバイス304は、インターネットなどのネットワーク316を通して、広告システム302に接続することができる。他の実装形態において、ネットワーク316は、LAN、WAN、またはそれらの任意の組合せである。モバイルデバイス304は、IEEE 802.11、WAP、および/またはBluetoothなどの任意の種類の無線プロトコルを使用して通信することができる。
【００６２】
モバイルデバイス304は、インターネット、たとえばWorld Wide Webをブラウズするための、またはネットワーク上の他のコンテンツ(たとえば、ドキュメント、画像、および他の形式の媒体)にアクセスするためのブラウザ318を含むことができる。ブラウザ318は、モバイルデバイス304のユーザインターフェース上に表示するためのコンテンツを、検索エンジンなどの発行元システム320に要求することができる。いくつかの実装形態において、発行元システム320は、要求されたコンテンツに加えて、1つまたは複数のブラウザクッキー322をブラウザ318に送信する。たとえば、ブラウザクッキー322は、ウェブページなどのコンテンツがモバイルデバイス304のユーザインターフェース上に表示された回数を追跡するのに使用されてよい。ブラウザクッキー322は、オプションで、ブラウザ318に提示された広告306などの広告を追跡するために使用されてもよい。いくつかの実装形態において、ブラウザクッキー322は、ウェブサイト上のユーザセッションを追跡することができる。
【００６３】
発行元システム320は、広告306の1つなどの広告を、広告システム302に要求することができる。発行元システム320は、広告306が要求されたコンテンツと一緒にブラウザ318に表示されるように、広告306をブラウザ318に送信することができる。発行元システム320は、ネットワーク316に接続し、ネットワーク316を通して、広告システム302およびモバイルデバイス304と通信することができる。
【００６４】
いくつかの実装形態において、ブラウザ318は、1つまたは複数の広告を含む、ブラウザを使用するウェブページを要求することができる。結果として、広告は、ウェブページコンテンツの中に組み入れるために、広告システム302に要求される。広告システム302は、広告306のうちの1つまたは複数をブラウザ318に送信することができる。ブラウザ318は、モバイルデバイス304のユーザインターフェース上に提示するために、要求されたコンテンツを広告306と組み合わせることができる。広告システム302は、要求されたウェブページおよび広告306に関連した情報を記憶するために、1つまたは複数のクッキーをモバイルデバイス304に送信することができる。モバイルデバイス304は、ブラウザクッキー322によってクッキーを記憶することができる。クッキーは、広告306のうちのどれがモバイルデバイス304に提示されたかを追跡する、またはウェブサイト上のユーザセッションを追跡するために使用されてよい。
【００６５】
別の例では、モバイルアプリケーション308のうちの1つが、広告306をモバイルデバイス304に提示することができる。たとえば、モバイルアプリケーション308は、モバイルデバイス304のユーザがポーカーゲームをしている間に、広告を提示するポーカーゲームを含むことができる。ユーザが広告306のうちの1つと対話すると、ポーカーゲームは、選択された広告に関連付けられたウェブページの要求URLを生成し、URL要求を広告システム302に送信することができる。URL要求は、モバイルデバイス304のデバイス識別子を含むことができる。
【００６６】
本例を続けると、広告システム302は、URL要求を受信して、選択された広告に関連付けられたブラウザクッキーを生成することができる。生成されたクッキーは、AdCookielDを有することができる。コンバージョンデータは、アプリケーショントラッキングエンジン310によって、デバイス識別子テーブル314に記憶されてよい。たとえば、ポーカーゲームのためのアプリケーションID、デバイス識別子、およびコンバージョンクッキーのためのコンバージョンIDが、デバイス識別子テーブル314に記憶されてよい。アプリケーショントラッキングエンジン310は、URL要求からのデバイス識別子を使用して、デバイス識別子テーブル314に記憶される関連したランダムな識別子を決定することができる。アプリケーショントラッキングエンジン310は、ランダムな識別子およびAdCookielDを使用して、広告ログ312に記録(たとえば、行)を作成することができる。広告システム302は、生成したブラウザクッキーをブラウザ318に送信し、ブラウザ318を、選択された広告に関連付けられたウェブページにリダイレクトすることができる。ブラウザ318は、広告に関連付けられたウェブページを、モバイルデバイス304のユーザインターフェース上に表示することができる。
【００６７】
モバイルデバイス304は、モバイルアプリケーション308のうちの1つとして、プライバシアプリケーション324を含むことができる。プライバシアプリケーション324は、広告システム302などのサーバに記憶されたユーザ情報を管理することができる。いくつかの実装形態において、プライバシアプリケーション324は、ユーザによってモバイルデバイス304にインストールされてよい。他の実装形態において、プライバシアプリケーション324は、モバイルデバイス304が最初に販売される前に、モバイルデバイス304にインストールされてよい。プライバシアプリケーション324は、起動されると、ユーザが、モバイルデバイス304のためのプライバシ管理機能を実施するのを可能にすることができる。たとえば、プライバシアプリケーション324は、ユーザが、1つまたは複数のモバイルアプリケーションに関連付けられた1つまたは複数の広告オプトアウトオプションを制御するのを可能にすることができる。
【００６８】
ある実装形態において、プライバシアプリケーション324は、モバイルアプリケーション308のそれぞれに、別個にアプリケーションプライバシ管理を提供することができる。他の実装形態において、プライバシアプリケーション324は、モバイルアプリケーション308のすべてに同じプライバシ設定を提供する。
【００６９】
いくつかの実装形態において、プライバシアプリケーション324は、コンバージョントラッキング情報および頻度上限情報を独立して制御することができる。たとえば、プライバシアプリケーション324は、モバイルデバイス304に関連付けられたコンバージョントラッキングデータは消去するように、しかし頻度上限データは消去しないようにする要求を受信することができる。同様に、プライバシアプリケーション324は、モバイルデバイス304に関連付けられた頻度上限データは消去するように、しかしコンバージョントラッキングデータは消去しないようにする要求を受信することができる。
【００７０】
いくつかの実装形態において、プライバシアプリケーション324は、コンバージョンデータ、頻度上限データ、および/または広告クッキーデータが広告システム302から消去される前に、それらのデータが記憶される時間の長さを示す、ユーザからの入力を受信することができる。指定された時間の長さが経過した後で、アプリケーショントラッキングエンジン310は、モバイルデバイス304に関連付けられたあらゆる記録についてのコンバージョンデータおよび頻度上限データを、たとえば、デバイス識別子テーブル314から消去し、モバイルデバイス304のためにマップするデバイス識別子への新しいランダムな識別子を生成する。いくつかの実装形態において、たとえば、デバイス識別子テーブルに記憶された、ロケーション履歴データ、コンバージョンデータ、およびアプリケーションデータを含む追加のデータを、プライバシアプリケーション324を使用して管理することができる。たとえば、これらのフィールドは、まとめて、または個々に消去されてよい。代替として、オプトアウトがこれらのフィールドのうちの1つまたは複数に適用されてもよい。
【００７１】
一例で、ユーザは、モバイルデバイス304のためのプライバシ設定を更新するために、プライバシアプリケーション324を起動することができる。プライバシアプリケーション324は、ネイティブアプリケーションAPIを通して、モバイルデバイス304のデバイス識別子を取り出すことができる。プライバシアプリケーション324は、デバイス識別子を広告システム302に送信し、デバイス識別子に関連付けられた、広告システム302に記憶されたプライバシ設定へのアクセスを要求することができる。アプリケーショントラッキングエンジン310は、デバイス識別子に関連付けられたプライバシ設定についてデバイス識別子テーブル314にクエリし、プライバシ設定をプライバシアプリケーション324に送信することができる。プライバシアプリケーション324は、ユーザにプライバシ設定を提示するユーザインターフェースを提供して、ユーザが、モバイルデバイス304のユーザインターフェース上で設定を見るのを可能にすることができる。プライバシアプリケーション324は、更新されたプライバシ設定を示すユーザからの入力を受信し、更新された設定を示す要求を広告システム302に送信することができる。
【００７２】
たとえば、ユーザは、モバイルデバイス304の広告履歴を消去すべきであることを示す、ユーザインターフェース上に表示された制御を選択することができる。プライバシアプリケーション324は、ユーザ選択に基づいて、履歴消去要求を広告システム302に送信することができる。アプリケーショントラッキングエンジン310がプライバシアプリケーション324から履歴消去要求およびデバイス識別子を受信すると、アプリケーショントラッキングエンジン310は、デバイス識別子テーブル314のデバイス識別子に関連付けられたランダムな識別子をリセットし、デバイス識別子に関連付けられたすべての既存データを消去することができる。とりわけ、アプリケーショントラッキングエンジン310は、デバイス識別子テーブル314において、新しいランダムな識別子をデバイス識別子にマップすることができる。
【００７３】
アプリケーショントラッキングエンジン310は、デバイス識別子およびランダムな識別子と同じ行に記憶されたモバイルデバイス広告データを取り除くことができる。たとえば、アプリケーショントラッキングエンジン310は、その行のあらゆるコンバージョントラッキング情報および頻度上限情報を消去することができる。いくつかの実装形態において、ユーザがモバイルデバイス304の広告履歴を消去すべきであることを示すとき、プライバシアプリケーション324はまた、ブラウザと対話して、ブラウザ318に記憶されたブラウザクッキー322を削除することができる。
【００７４】
別の例で、ユーザは、広告システム302がモバイルデバイス304のモバイルアプリケーションにおける広告イベントをこれ以上追跡すべきでないことを示すことができる。プライバシアプリケーション324は、ユーザの指示に基づいて、オプトアウト要求を広告システム302に送信することができる。アプリケーショントラッキングエンジン310は、モバイルデバイス304のデバイス識別子を受信し、モバイルデバイス304に関連付けられた記録についてデバイス識別子テーブル314にクエリすることができる。アプリケーショントラッキングエンジン310は、モバイルデバイス304に関連付けられた記録を、「ダミー記録」で更新することができる。ダミー記録は、ランダムな識別子のためのダミー値(たとえば、ゼロ)を含み、コンバージョントラッキング情報フィールドおよび頻度上限フィールドのための値を含まないことができる。アプリケーショントラッキングエンジン310がデバイス識別子に関連付けられた広告イベントを検出し、デバイス識別子テーブルがそのデバイス識別子のためのダミー記録を含む場合、アプリケーショントラッキングエンジン310は、イベントを追跡しない。
【００７５】
とりわけ、新しいエントリは、デバイス識別子/ランダムな識別子のマッピングがない場合に作成されることになるので、ダミー記録は、デバイス識別子がテーブルの中にありながら、モバイルデバイス304のモバイルアプリケーションで発生する広告イベントについてトラッキングが実施されるべきでないことを示す。
【００７６】
以下は、プライバシアプリケーション324からオプトアウトプライバシ要求を受信した後に広告イベントを検出する広告システム302の例である。たとえば、モバイルアプリケーション308は、モバイルデバイス304のソーシャルネットワーキングアプリケーションを含むことができる。ソーシャルネットワーキングアプリケーションは、ソーシャルネットワーキングアプリケーションに提示された広告306のうちの1つのユーザ選択を示す入力を受信することができる。ソーシャルネットワーキングアプリケーションは、ブラウザ318を起動すべきであると判定することができ、ブラウザ318は、選択された広告に関連付けられたURLランディングページを要求することができる。
【００７７】
本例を続けると、ブラウザ318は、モバイルデバイス304のデバイス識別子と共にURL要求を広告システム302に送信することができる。デバイス識別子は、広告システム302から、アプリケーショントラッキングエンジン310へと転送される。アプリケーショントラッキングエンジン310は、デバイス識別子テーブル314にクエリし、デバイス識別子に関連付けられたダミー記録を受信する。アプリケーショントラッキングエンジン310は、デバイス識別子テーブル314に記憶されたプライバシ設定に基づいて、デバイス識別子に関連付けられた、ユーザが選択した広告などの広告イベントを、追跡すべきでないことを判定する。広告システム302は、ブラウザ318にクッキーを記憶することなく、または広告ログ312もしくはデバイス識別子テーブル314の広告イベントを追跡することなく、ブラウザ318を、選択された広告に関連付けられたランディングページにリダイレクトすることができる。
【００７８】
いくつかの実装形態において、広告306のうちの1つとのユーザ対話を示す入力を受信した後で、ソーシャルネットワーキングアプリケーション、またはモバイルアプリケーション308のうちの1つは、ユーザにプロンプトを提示することができる。たとえば、プロンプトは、ユーザに、ブラウザ318またはソーシャルネットワーキングアプリケーションに開いた、広告に関連付けられたランディングページを望むかを尋ねることができる。
【００７９】
図4は、デバイス識別子を取り出すステップ、およびプライバシ要求を広告システムに送信するステップの例示的な方法400の流れ図である。モバイルデバイス(たとえば、モバイルデバイス304)およびその部分が、以下で例として参照されることになる。方法400は、モバイルデバイスと併用して、またはモバイルデバイスに代わって、1つまたは複数の他のシステムによって実施されてよい。
【００８０】
プライバシアプリケーション(たとえば、プライバシアプリケーション324)がインストールされる(402)。たとえば、プライバシアプリケーションは、モバイルデバイスにインストールされてよい。プライバシアプリケーションは、ユーザによってモバイルデバイスにインストールされてよい。たとえば、ユーザは、プライバシアプリケーションをモバイルデバイスにダウンロードして、インストールするために、モバイルアプリケーションストアにアクセスすることができる。他の実装形態において、プライバシアプリケーションは、モバイルデバイスが販売される前に、インストールされてよい。プライバシアプリケーションは、いくつかの例を挙げると、モバイルデバイスのオペレーティングシステムの一部として、または追加のアプリケーションとしてインストールされてよい。
【００８１】
プライバシアプリケーションは、アプリケーションAPIを使用してデバイス識別子を取り出す(404)。たとえば、プライバシアプリケーションは、実行されるときに、ネイティブアプリケーションAPIを通してモバイルデバイスのデバイス識別子を取り出すことができる。いくつかの実装形態において、プライバシアプリケーションは、Java APIを使用して、モバイルデバイスからデバイス識別子を取り出す。
【００８２】
プライバシアプリケーションは、プライバシ要求を示すユーザ入力を受信する(406)。たとえば、プライバシアプリケーションは、履歴消去要求を示すユーザからの入力を受信することができる。履歴消去要求は、モバイルデバイスの(たとえば、モバイルアプリケーション308のうちの)特定のモバイルアプリケーション、モバイルアプリケーション308のグループ、またはモバイルアプリケーションのすべてに対する要求であってよい。たとえば、履歴消去要求は、ユーザによって指定されたアプリケーションに関連付けられた、システムに記憶されたすべての履歴データを取り除くためのシステムに対する要求であってもよい。代替として、プライバシアプリケーションは、システムがモバイルアプリケーションのいずれについても履歴情報をこれ以上追跡すべきでないことを示すオプトアウト要求を受信することができる。いくつかの実装形態において、履歴消去要求またはオプトアウト要求は、モバイルデバイスに関連付けられたブラウザ広告トラッキングを含む。
【００８３】
プライバシアプリケーションは、デバイス識別子に関連付けられたモバイルアプリケーションに対するプライバシ要求を送信する(408)。たとえば、プライバシアプリケーションは、広告システム(たとえば、広告システム302)にプライバシ要求を送信することができる。プライバシ要求は、プライバシアプリケーションが受信したユーザ入力によって指定された、モバイルアプリケーションのうちの1つまたは複数に対する要求であってよい。いくつかの実装形態において、ユーザのプライバシを確実にするために、デバイス識別子および/またはプライバシ要求を符号化することができる。たとえば、プライバシアプリケーションは、プライバシアプリケーションユーザエージェント文字列、タイムスタンプ、およびデバイス識別子を使用して、暗号化方式によるシグネチャを生成することができる。暗号化方式は、AES-128、またはトリプルDESなどの、データ暗号化標準(DES)アルゴリズム、または先進暗号化標準(AES)アルゴリズムであってよい。たとえば、公開鍵がモバイルデバイスでの暗号化のために使用され、秘密鍵が広告活動システムによる解読のために使用されてよい。いくつかの実装形態において、ユーザエージェント文字列およびタイムスタンプをシグネチャに追加することにより、デバイス識別子の符号化をより複雑でセキュアにすることができる。
【００８４】
ある実装形態において、プライバシアプリケーションは、プライバシ要求を送信する前に、ユーザに認証課題を提示することができる。たとえば、プライバシアプリケーションがプライバシ要求のユーザの指示を受信すると、プライバシアプリケーションは、広告システムに認証課題を要求することができる。広告システムは、認証課題要求に応答して、たとえば、プライバシアプリケーションにキャプチャテストを送信することができる。プライバシアプリケーションは、ユーザにキャプチャテストを提示して、ユーザの応答を示すユーザからの入力を受信することができる。プライバシアプリケーションは、ユーザの応答を広告システムに送信することができ、それにより、広告システムは、ユーザの応答の正確さを検証することができる。
【００８５】
ユーザの応答が正しい場合、広告システムは、ユーザを認証し、プライバシアプリケーションからのプライバシ要求を受け入れることができる。ユーザの応答が正しくない場合、広告システムは、プライバシアプリケーションに別の認証課題を送信することができる。他の実装形態において、認証課題は、プライバシアプリケーションがプライバシ要求を広告システムに送信した後で、ユーザに提示される。
【００８６】
図5は、モバイルデバイスからデバイス識別子およびプライバシ要求を受信するステップの例示的な方法500の流れ図である。広告システム(たとえば、広告システム302)およびその部分が、以下で例として参照されることになる。方法500は、広告システムと併用して、または広告システムに代わって、1つまたは複数の他のシステムによって実施されてよい。
【００８７】
プライバシ要求が受信される(502)。たとえば、プライバシ要求は、モバイルデバイスから広告システムによって受信されてよい。プライバシアプリケーション(たとえば、プライバシアプリケーション324)は、たとえば、プライバシ要求を作成し、広告システムに送信することができる。プライバシアプリケーション、または別のモバイルアプリケーション(たとえば、モバイルアプリケーション308のうちの1つ)は、ユーザ(たとえば、ユーザがマシンではないこと)を検証するために、モバイルデバイスのユーザに認証課題を提示することができる。たとえば、プライバシアプリケーションは、ユーザにキャプチャ課題ワードを提示することができる。プライバシ要求は、モバイルデバイスのデバイス識別子および認証解答を含むことができる。いくつかの実装形態において、広告システムは、モバイルデバイスからプライバシ要求を受信し、プライバシ要求に応答して、モバイルデバイスに認証課題を送信することができる。
【００８８】
いくつかの実装形態において、プライバシ要求は、プライバシ要求に合致する関連したアプリケーションを示す。たとえば、プライバシアプリケーションは、特定のモバイルアプリケーション、またはモバイルデバイスのすべてのゲーミングアプリケーションの履歴を消去すべきであることを示す、ユーザからの入力を受信することができる。この例で、プライバシ要求は、広告イベントのトラッキングが、1つまたは複数の広告ログ(たとえば、広告ログ312)およびデバイス識別子テーブル(たとえば、デバイス識別子テーブル314)から取り除かれるべきである、特定のアプリケーションを示す情報を含む。別の例で、プライバシアプリケーションは、オプトアウト要求を送信し、広告システムがこれ以上追跡すべきでない特定のアプリケーションを示すアプリケーション情報を含むことができる。ある実装形態において、プライバシ要求は、モバイルデバイスのすべてのアプリケーションに対する要求である。
【００８９】
プライバシ要求が認証される(504)。たとえば、広告システムは、認証解答を、ユーザに提示されたキャプチャ課題ワードと比較することができる。いくつかの実装形態において、認証解答が正しくない場合、広告システムは、ユーザに提示するために、別のキャプチャ課題ワードをモバイルデバイスに送信することができる。
【００９０】
デバイス識別子が、プライバシ要求から復号される(506)。たとえば、広告システムは、DES鍵またはAES鍵を使用して、プライバシ要求を復号し、モバイルデバイスのためのデバイス識別子を確認することができる。他の実装形態において、RSA鍵が、デバイス識別子および/またはプライバシ要求を暗号化し、解読するのに使用されてよい。いくつかの実装形態において、ユーザエージェント文字列およびタイムスタンプが、デバイス識別子と共に解読される。
【００９１】
デバイス識別子に関連付けられたモバイルデバイス広告データが取り出される(508)。たとえば、アプリケーショントラッキングエンジン(たとえば、アプリケーショントラッキングエンジン310)は、解読されたデバイス識別子を広告システムから受信し、解読されたデバイス識別子に関連付けられた、デバイス識別子テーブルにおける行を決定することができる。アプリケーショントラッキングエンジンは、解読されたデバイス識別子に関連付けられた行の中のデータを取り出すことができ、データは、デバイス識別子にマップされたランダムな識別子、ならびにモバイルデバイスに提示された広告(たとえば、広告306)のそれぞれについてのコンバージョントラッキング情報および頻度上限情報を含む。
【００９２】
デバイス識別子テーブルが解読されたデバイス識別子に関連付けられた行を含まない場合、アプリケーショントラッキングエンジンは、デバイス識別子テーブルに、解読されたデバイス識別子のための新しい記録を作成することができる。プライバシ要求がオプトアウト要求である場合、アプリケーショントラッキングエンジンは、ランダムな識別子フィールド、コンバージョン情報フィールド、および頻度上限情報フィールドにおいて、空白値、ヌル値、またはゼロ値で、デバイス識別子のためのダミー記録を生成することができる。プライバシ要求が履歴消去要求の場合、アプリケーショントラッキングエンジンは、デバイス識別子テーブルに新しい記録を作成し、解読されたデバイス識別子にマップされる新しいランダムな識別子を生成することができる。アプリケーショントラッキングエンジンは、新しく作成された記録において、コンバージョン情報フィールドおよび頻度上限フィールドのための空白値、ヌル値、またはゼロ値を入力することができる。
【００９３】
要求されたプライバシ動作が、モバイルデバイス広告データ上で実施される(510)。たとえば、アプリケーショントラッキングエンジンは、要求されたプライバシポリシーを、広告ログおよびデバイス識別子テーブルに記憶されたモバイルデバイス広告データに適用することができる。アプリケーショントラッキングエンジンがプライバシアプリケーションから履歴消去要求を受信した場合、アプリケーショントラッキングエンジンは、デバイス識別子テーブルにおいて、新しいランダムな識別子を解読されたデバイス識別子にマップし、解読されたデバイス識別子に関連付けられたあらゆるコンバージョントラッキング情報および頻度上限情報を、デバイス識別子テーブルから消去することができる。
【００９４】
デバイス識別子テーブルは、もはや古いランダムな識別子をデバイス識別子に関連付けないので、アプリケーショントラッキングエンジンは、たとえば、古いランダムな識別子に関連付けられた、(たとえば、広告ロギングにおいて識別された)広告イベントが、モバイルデバイスによって生成されたことを、もはや確認することはできない。履歴消去要求がモバイルデバイス広告データ上で実施された後に、広告システムによって検出された広告イベントは、モバイルデバイスのデバイス識別子にマップされた新しいランダムな識別子で広告ログにおいてログされ、デバイス識別子を使用してデバイス識別子テーブルにおいてログされてよい。
【００９５】
広告システムがトラッキング要求のオプトアウトを受信した場合、アプリケーショントラッキングエンジン310は、解読されたデバイス識別子に関連付けられた、デバイス識別子テーブルの行におけるデータを取り除き、その行の中にダミー記録を挿入することができる。たとえば、アプリケーショントラッキングエンジンは、解読されたデバイス識別子に関連付けられた行におけるランダムな識別子フィールドの中に、ヌル値、または何らかの他の所定の悪意のある値を入力することができる。アプリケーショントラッキングエンジンが、デバイス識別子記録についてデバイス識別子テーブルにクエリし、ダミー記録または悪意のあるランダムな識別子の値を含む行を受信すると、アプリケーショントラッキングエンジンは、クエリされたデバイス識別子に関連付けられたいかなる行動も追跡しない、またはログしないことになる。
【００９６】
たとえば、広告システムは、プライバシアプリケーションから、デバイス識別子に関連付けられたオプトアウトプライバシ要求を受信する。その後に、広告システムは、デバイス識別子を含む要求を受信して、広告をモバイルデバイスのモバイルアプリケーションにおいて表示することができる。広告システムは、モバイルデバイスのデバイス識別子を、アプリケーショントラッキングエンジンに送信することができる。アプリケーショントラッキングエンジンは、デバイス識別子に関連付けられた記録についてデバイス識別子テーブルにクエリすることができる。アプリケーショントラッキングエンジンは、クエリに応答して、デバイス識別子テーブルから、ダミー記録(たとえば、ダミー記録は、プライバシアプリケーションによって送信されたデバイス識別子に関連付けられている)を受信することができる。アプリケーショントラッキングエンジンは、デバイス識別子に関連付けられた要求が追跡されるべきでないことを、広告システムに示すことができる。広告システムは、要求するアプリケーションにいかなるクッキーも送信せずに、要求するアプリケーションに広告を供給し、アプリケーショントラッキングエンジンは、広告の供給を追跡しない。
【００９７】
いくつかの実装形態において、アプリケーショントラッキングエンジンは、プライバシ要求の一部として受信したアプリケーションID情報を使用して、モバイルデバイスにインストールされた特定のアプリケーションにプライバシ設定を適用することができる。たとえば、デバイス識別子テーブルは、異なるランダムな識別子を、モバイルデバイスのモバイルアプリケーションのためのそれぞれのデバイス識別子およびアプリケーションIDの組合せにマップすることができる。アプリケーショントラッキングエンジンは、デバイス識別子およびアプリケーションIDを使用してデバイス識別子テーブルにクエリし、デバイス識別子テーブルのエントリに、履歴消去プライバシ要求、またはトラッキングプライバシ要求のオプトアウトを実施することができる。
【００９８】
ある実装形態において、広告システムは、プライバシ設定を含むプライバシ要求を受信することができる。たとえば、プライバシ設定は、別の広告イベント(たとえば、同じ広告の提示)が同じまたは同様の情報のロギングをトリガすることなく、トラッキング情報がデバイス識別子に関連付けられる、最大時間を含むことができる。プライバシ設定は、モバイルアプリケーションのうちの1つまたは複数の履歴を、スケジュール通りに自動的に消去すべきであることを示すことができる。いくつかの実装形態において、広告ログおよび/またはデバイス識別子テーブルに記憶されたトラッキングデータまたはコンバージョンデータは、所定の時間(たとえば、30日)の後で期限が切れてよい。
【００９９】
いくつかの代替実装形態において、プライバシ管理は、プライバシアプリケーションを通す代わりに、広告ベースであってもよい。たとえば、広告は、制御またはプライバシ設定を提供するために、広告と対話するための論理を含むことができる。たとえば、広告との対話(たとえば、選択またはユーザ入力ジェスチャの一種)に際し、提示されるオプションが、編集設定ボタンを含むことができる。選択されると、要求は、新しいウェブビューウィンドウが提示されるようにプロンプトするURLの一部として広告システムに送信されて、ユーザが、上述したようなさまざまなプライバシ設定と対話することを可能にする。
【０１００】
本明細書で説明した発明の対象および動作の実施形態は、デジタル電子回路において、または本明細書で開示した構造、およびそれらの構造の均等物を含むコンピュータソフトウェア、ファームウェア、もしくはハードウェアにおいて、またはそれらの1つもしくは複数の組合せにおいて、実装されてよい。本明細書で説明した発明の対象の実施形態は、1つまたは複数のコンピュータプログラムとして、すなわち、データ処理装置によって実行されるために、またはデータ処理装置の動作を制御するために、コンピュータ記憶媒体上で符号化されたコンピュータプログラム命令の1つまたは複数のモジュールとして、実装されてよい。コンピュータ記憶媒体は、コンピュータ可読記憶デバイス、コンピュータ可読記憶基板、ランダムもしくはシリアルアクセスメモリアレイもしくはメモリデバイス、またはそれらの1つまたは複数の組合せであってよく、あるいは、それらに含まれていてもよい。
【０１０１】
用語「データ処理装置」は、例として、プログラマブルプロセッサ、コンピュータ、または複数のプロセッサもしくはコンピュータを含む、データを処理するためのすべての装置、デバイス、およびマシンを包含する。装置は、ハードウェアに加えて、当該コンピュータプログラムのための実行環境を作成するコード、たとえば、プロセッサファームウェアを構成するコード、プロトコルスタック、データベース管理システム、オペレーティングシステム、またはそれらの1つもしくは複数の組合せを含むことができる。
【０１０２】
コンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプト、またはコードとしても知られている)は、コンパイラ型もしくはインタプリタ型言語、または宣言型もしくは手続型言語を含む、任意の形式のプログラミング言語で書かれてよく、スタンドアローンプログラムとして、またはモジュール、コンポーネント、サブルーチンとして、またはコンピューティング環境における使用に好適な他のユニットを含む、任意の形式で導入されてよい。コンピュータプログラムは、必ずしもファイルシステムにおけるファイルに対応するわけではない。プログラムは、他のプログラムまたはデータ(たとえば、マークアップ言語ドキュメントの中に記憶された1つまたは複数のスクリプト)を保持するファイルの一部に、当該プログラムに専用の単一のファイルに、または、複数の調整されたファイル(たとえば、1つもしくは複数のモジュール、サブプログラム、またはコードの一部を記憶するファイル)に、記憶されてよい。コンピュータプログラムは、1つのコンピュータ上で、または1つの場所に位置する、もしくは複数の場所にわたって分散されて通信ネットワークによって相互接続された、複数のコンピュータ上で実行されるように導入されてもよい。
【０１０３】
本明細書で説明した処理および論理フローは、入力データを操作し、出力を生成することによって機能を実施するために、1つもしくは複数のコンピュータプログラムを実行する、1つまたは複数のプログラムマブルプロセッサによって実施されてよい。処理および論理フローはまた、FPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)などの特殊用途論理回路によって実施されてもよく、装置はまた、FPGAまたはASICなどの特殊用途論理回路として実装されてもよい。
【０１０４】
コンピュータプログラムの実行に好適なプロセッサは、例として、汎用および特殊用途の両方のマイクロプロセッサ、ならびにあらゆる種類のデジタルコンピュータの任意の1つまたは複数のプロセッサを含む。一般に、プロセッサは、読み出し専用メモリまたはランダムアクセスメモリから、またはその両方から、命令およびデータを受信することになる。コンピュータの主要な要素は、命令を実行するためのプロセッサ、ならびに命令およびデータを記憶するための1つまたは複数のメモリデバイスである。一般に、コンピュータはまた、データを記憶するための1つまたは複数の大容量記憶デバイス、たとえば、磁気ディスク、光磁気ディスク、または光ディスクを含むことになる、あるいは、それらからデータを受信する、もしくはそれらにデータを転送する、またはその両方のために、動作可能に結合されることになる。しかしながら、コンピュータは、そのようなデバイスを有する必要はない。さらに、コンピュータは別のデバイス、たとえば、いくつかの例を挙げると、モバイル電話、携帯情報端末(PDA)、モバイルオーディオまたはビデオプレイヤー、ゲームコンソール、全地球測位システム(GPS)受信機に組み込まれてもよい。
【０１０５】
コンピュータプログラム命令およびデータを記憶するために好適なコンピュータ可読媒体は、例として、半導体メモリデバイス(たとえばEPROM、EEPROM、およびフラッシュメモリデバイス)、磁気ディスク(たとえば、内部ハードディスクまたは取り外し可能なディスク)、光磁気ディスク、ならびにCD-ROMディスクおよびDVD-ROMディスクを含む、すべての形態の不揮発性メモリ、媒体、およびメモリデバイスを含む。プロセッサおよびメモリは、特殊用途論理回路によって補完されてもよく、または特殊用途論理回路に組み入れられてもよい。
【０１０６】
ユーザとの対話を提供するために、本明細書で説明した発明の対象の実施形態は、ユーザに情報を表示するためのCRT(ブラウン管)またはLCD(液晶ディスプレイ)モニタなどのディスプレイデバイス、ならびに、ユーザがコンピュータに入力を提供することができるキーボード、およびマウスまたはトラックボールなどのポインティングデバイスを有するコンピュータ上で実装されてよい。ユーザとの対話を提供するために、他の種類のデバイスがまた使用されてもよく、たとえば、ユーザに提供されるフィードバックは、視覚フィードバック、聴覚フィードバック、または触覚フィードバックなどの任意の形態の感覚フィードバックでよく、ユーザからの入力は、音響、音声、または触覚入力を含む任意の形態で受信されてよい。
【０１０７】
本明細書で説明した発明の対象の実施形態は、たとえばデータサーバとしてのバックエンドコンポーネントを含む、またはアプリケーションサーバなどのミドルウェアコンポーネントを含む、またはクライアントコンピュータ(ユーザが本明細書で説明した発明の対象の実装形態と対話することができるグラフィカルユーザインターフェースもしくはウェブブラウザを有する)などのフロントエンドコンポーネントを含む、または1つもしくは複数のそのようなバックエンドコンポーネント、ミドルウェアコンポーネント、またはフロントエンドコンポーネントの任意の組合せを含む、コンピューティングシステムにおいて実装されてよい。システムのコンポーネントは、通信ネットワークなどの、デジタルデータ通信の任意の形態または媒体によって相互接続されてよい。通信ネットワークの例は、ローカルエリアネットワーク(「LAN」)、およびインターネットなどのワイドエリアネットワーク(「WAN」)を含む。
【０１０８】
コンピューティングシステムは、クライアントおよびサーバを含むことができる。クライアントおよびサーバは、一般に、互いからリモートであり、典型的には、通信ネットワークを通して対話する。クライアントおよびサーバの関係は、それぞれのコンピュータ上で動作し、互いに対してクライアント-サーバの関係を有するコンピュータプログラムによって発生する。
【０１０９】
本明細書は多くの特定の実装形態の詳細を含むが、これらはいかなる実装形態の範囲、または特許請求されるものの範囲を限定するものとしても解釈されるべきではなく、むしろ、特定の実装形態の特定の実施形態に固有でありうる特徴の説明として解釈されるべきである。別々の実施形態のコンテキストにおいて本明細書で説明したいくつかの特徴はまた、単一の実施形態を組み合わせて実装されてもよい。逆に、単一の実施形態のコンテキストにおいて説明したさまざまな特徴がまた、複数の実施形態で別々に実装されても、または任意の適切なサブコンビネーションで実装されてもよい。さらに、特徴は、特定の組合せにおいて作用するものとして上で説明され、さらにそのように最初に特許請求されていることがあるが、いくつかのケースでは、特許請求される組合せからの1つまたは複数の特徴がその組合せから削られることがあり、特許請求される組合せが、サブコンビネーション、またはサブコンビネーションの変形形態を対象とすることがある。
【０１１０】
同様に、図面における動作が、特定の順序で示されているが、これは、そのような動作が示された特定の順序もしくは連続した順序で実施されるように、または、所望の結果を達成するために図示したすべての動作が実施されるように要求しているものと理解されるべきではない。ある状況では、多重タスク処理および並行処理が好都合でありうる。さらに、上述した実施形態におけるさまざまなシステムコンポーネントの分離は、すべての実施形態においてそのような分離を要求しているものと理解されるべきではなく、説明したプログラムコンポーネントおよびシステムは、一般に単一のソフトウェア製品に一緒に統合されても、複数のソフトウェア製品の中にパッケージされてもよいことが理解されるべきである。
【０１１１】
本明細書で説明した発明の主題の特定の実施形態を説明してきた。他の実施形態は、以下の特許請求の範囲内である。たとえば、特許請求の範囲に列挙された動作は、異なる順序で実施されても所望の結果を達成することができる。一例として、添付の図面に示されたプロセスは、所望の結果を達成するために、必ずしも示された特定の順序、または連続した順序が必要ではない。ある実装形態においては、多重タスク処理および並行処理が好都合でありうる。
【符号の説明】
【０１１２】
100  広告活動システム
102  広告主
104  広告管理システム
106  発行元
108  ユーザ
110  コンピュータネットワーク
200  システム
202  開発者システム
204  モバイルデバイス
206  アプリケーション
208  ページ
210  グラフィカルユーザインターフェース
212  コンテンツ、広告
214  ソフトウェア開発キット
216  オブジェクト
218  プラットフォーム
220  アプリケーションプログラムインターフェース
222  広告ディストリビュータシステム
223  ネットワーク
224  レポジトリ
226  コンテキストコンポーネント
228  コンテキスト共有コンポーネント
300  広告活動システム
302  広告システム
304  モバイルデバイス
306  広告
308  モバイルアプリケーション
310  アプリケーショントラッキングエンジン
312  広告ログ
314  デバイス識別子テーブル
316  ネットワーク
318  ブラウザ
320  発行元システム
322  ブラウザクッキー
324  プライバシアプリケーション
【図１】
0005876043.tif 000002
【図２】
0005876043.tif 000003
【図３】
0005876043.tif 000004
【図４】
0005876043.tif 000005
【図５】
0005876043.tif 000006