(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-12-18
(45)【発行日】2023-12-26
(54)【発明の名称】ユーザ同意フレームワーク
(51)【国際特許分類】
G06F 21/62 20130101AFI20231219BHJP
G06F 21/64 20130101ALI20231219BHJP
【FI】
G06F21/62 345
G06F21/64
(21)【出願番号】P 2022541854
(86)(22)【出願日】2020-01-22
(86)【国際出願番号】 US2020014530
(87)【国際公開番号】W WO2021150213
(87)【国際公開日】2021-07-29
【審査請求日】2022-07-20
(73)【特許権者】
【識別番号】502208397
【氏名又は名称】グーグル エルエルシー
【氏名又は名称原語表記】Google LLC
【住所又は居所原語表記】1600 Amphitheatre Parkway 94043 Mountain View, CA U.S.A.
(74)【代理人】
【識別番号】100108453
【氏名又は名称】村山 靖彦
(74)【代理人】
【識別番号】100110364
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100133400
【氏名又は名称】阿部 達彦
(72)【発明者】
【氏名】ガン・ワン
(72)【発明者】
【氏名】イアン・ガオ
【審査官】金沢 史明
(56)【参考文献】
【文献】特表2008-527526(JP,A)
【文献】特開2002-055991(JP,A)
【文献】国際公開第2008/029723(WO,A1)
【文献】特開2001-005833(JP,A)
【文献】特表2019-517086(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 21/00-21/88
(57)【特許請求の範囲】
【請求項1】
クライアントデバイスによって実行される方法であって、
受信者への
前記クライアントデバイスによる送信を求める要求が、前記クライアントデバイスのユーザのユーザデータを含むことになると決定するステップと、
前記要求が前記ユーザデータを含むことになるとの決定に応答して、
前記クライアントデバイスの同意管理モジュールに、前記ユーザによって指定される現在のユーザ同意設定を要求するステップであって、前記ユーザ同意設定が、(i)前記クライアントデバイスから送信され得るユーザデータ、(ii)前記クライアントデバイスから送信されるユーザデータがどのように使用され得るか、または(iii)どの受信者が前記クライアントデバイスからのユーザデータを受信し保持し得るかのうちの少なくとも1つを規定する、要求するステップと、
前記同意管理モジュールから、前記現在のユーザ同意設定を受信するステップと、
前記現在のユーザ同意設定に従って要求データを生成するステップであって、前記生成するステップが、
前記要求データに、前記ユーザが前記受信者への送信に同意している前記ユーザの前記ユーザデータの1つまたは複数の部分を含めるステップと、
前記要求データに、前記ユーザデータの前記1つまたは複数の部分の、前記受信者に与えられる前記同意を指定する前記ユーザ同意設定の少なくとも一部分を含めるステップであって、前記同意が、前記受信者による前記ユーザデータの前記1つまたは複数の部分の使用を制限する、含めるステップと
を含む、生成するステップと
前記要求データを前記受信者に送信するステップと
を含む
、方法。
【請求項2】
前記クライアントデバイスのコンピューティングプラットフォームの秘密鍵を使用して、前記ユーザデータの前記1つまたは複数の部分を使用するための、前記受信者に与えられる前記同意を指定する前記ユーザ同意設定の前記部分のデジタル署名を生成するステップをさらに含み、
前記要求を送信するステップが、前記要求データ、ユーザ同意データ、および前記デジタル署名を少なくとも含む認証トークンを生成し送信するステップを含む、
請求項1に記載の方法。
【請求項3】
サードパーティに、前記クライアントデバイスの前記コンピューティングプラットフォームの前記秘密鍵に対応する公開鍵を提供するステップをさらに含み、前記公開鍵は、前記サードパーティが、前記ユーザ同意データを確認することを可能にする、請求項2に記載の方法。
【請求項4】
多数の同意管理プラットフォームから、所与の同意管理プラットフォームの選定を指定する選定データを受信するステップと、
前記所与の同意管理プラットフォームまたはアプリケーションストアから、前記同意管理モジュールを取得するステップと、
前記クライアントデバイスにおいて、前記クライアントデバイス上の前記同意管理モジュールをインストールするステップと
をさらに含む、請求項1から3のいずれか一項に記載の方法。
【請求項5】
前記ユーザが、前記ユーザ同意設定を指定し、現在のユーザ同意設定を見直すことを可能にする対話型インターフェースを提示するステップと、
前記ユーザ同意設定を指定するデータを受信するステップと、
前記ユーザ同意設定を前記クライアントデバイスにおいて記憶するステップと
をさらに含む、請求項1から4のいずれか一項に記載の方法。
【請求項6】
前記対話型インターフェースに、1つまたは複数の推薦付きユーザ同意設定を提示するステップをさらに含む、請求項5に記載の方法。
【請求項7】
前記クライアントデバイスの現在の場所または前記クライアントデバイスにおけるユーザ活動に少なくとも基づいて、前記1つまたは複数の推薦付きユーザ同意設定を選定するステップをさらに含む、請求項6に記載の方法。
【請求項8】
前記同意管理モジュールが、前記クライアントデバイスのコンピューティングプラットフォームのユーザ同意プラグインを含む、請求項1から7のいずれか一項に記載の方法。
【請求項9】
前記同意管理モジュールが、前記クライアントデバイスのオペレーティングシステムのユーザ同意プラグインを含む、請求項1から8のいずれか一項に記載の方法。
【請求項10】
前記同意管理モジュールが、前記クライアントデバイスのウェブブラウザのユーザ同意プラグインを含む、請求項1から9のいずれか一項に記載の方法。
【請求項11】
前記クライアントデバイスにおいて提示するためのデジタルコンポーネントを受信するステップと、
前記デジタルコンポーネントが、前記ユーザのユーザデータの1つまたは複数の部分に基づいて選定される個人化されたデジタルコンポーネントであると決定するステップと、
前記デジタルコンポーネントが、前記ユーザのユーザデータの1つまたは複数の部分に基づいて選定される個人化されたデジタルコンポーネントであるとの決定に応答して、
前記現在のユーザ同意設定が、前記個人化されたデジタルコンポーネントを提供したデジタルコンポーネント配信システムによって提供される個人化されたデジタルコンポーネントの提示を許可するかどうかを決定するステップと、
前記現在のユーザ同意設定が、デジタルコンポーネント配信システムによって提供される個人化されたデジタルコンポーネントの提示を許可しないとの決定に応答して、前記クライアントデバイスによる、前記個人化されたデジタルコンポーネントの提示をブロックするステップと
をさらに含む、請求項1から10のいずれか一項に記載の方法。
【請求項12】
前記クライアントデバイスの1つまたは複数のプロセッサによって実行されると、前記プロセッサに、請求項1から11のいずれか一項に記載の方法を行わせる命令を含む、1つまたは複数の非一時的コンピュータ可読媒体。
【請求項13】
1つまたは複数のプロセッサと、
前記1つまたは複数のプロセッサによって実行されると、前記プロセッサに、請求項1から11のいずれか一項に記載の方法を行わせる命令を含む、1つまたは複数のストレージ媒体と
を備える
、クライアントデバイス。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ユーザ同意フレームワークに関する。
【背景技術】
【0002】
ユーザ同意は、オンラインプライバシー保護の重要な一部である。いくつかの状況においては、ユーザは、自分のデータが自分の嗜好に従ってのみ収集され使用されることを確実にしたいと望む場合がある。ユーザ同意を尊重するとともに、同意されているユーザデータを保護することは、ユーザ信頼の獲得とユーザのオンライン体験の向上に役立つ。
【発明の概要】
【発明が解決しようとする課題】
【0003】
本明細書では、オンラインエコシステムにわたってユーザ同意を系統的に収集し、伝播し、実施するエンドツーエンドユーザ同意フレームワークに関する技術について説明する。
【課題を解決するための手段】
【0004】
概して、本明細書に説明する主題の1つの革新的な態様は、受信者へのクライアントデバイスによる送信を求める要求が、クライアントデバイスのユーザのユーザデータを含むことになると決定するステップを含む方法において具現化され得る。要求がユーザデータを含むことになるとの決定に応答して、方法は、クライアントデバイスの同意管理モジュールに、ユーザによって指定される現在のユーザ同意設定を要求するステップを含み、ユーザ同意設定は、(i)クライアントデバイスから送信され得るユーザデータ、(ii)クライアントデバイスから送信されるユーザデータがどのように使用され得るか、または(iii)どの受信者がクライアントデバイスからのユーザデータを受信し保持し得るかのうちの少なくとも1つを規定する。方法は、同意管理モジュールから、現在のユーザ同意設定を受信するステップと、現在のユーザ同意設定に従って要求データを生成するステップとをさらに含む。要求データを生成するステップは、要求データに、ユーザが受信者への送信に同意しているユーザのユーザデータの1つまたは複数の部分を含めるステップと、要求データに、ユーザデータの1つまたは複数の部分の、受信者に与えられる同意を指定するユーザ同意設定の少なくとも一部分を含めるステップとを含み、同意は、受信者によるユーザデータの1つまたは複数の部分の使用を制限する。方法は、要求データを受信者に送信するステップをさらに含む。この態様の他の実装形態は、コンピュータストレージデバイスにおいて符号化される、方法の態様を行うように構成された対応する装置、システム、およびコンピュータプログラムを含む。別の態様は、1つまたは複数のプロセッサによって実行されると、プロセッサに、本明細書において開示される方法を行わせる命令を含む、非一時的コンピュータ可読媒体を含む。
【0005】
これらおよび他の実装形態はそれぞれ、任意で、次の特徴のうちの1つまたは複数を含むことができる。
【0006】
いくつかの態様は、クライアントデバイスのコンピューティングプラットフォームの秘密鍵を使用して、ユーザデータの1つまたは複数の部分を使用するための、受信者に与えられる同意を指定するユーザ同意設定の部分のデジタル署名を生成するステップを含む。要求データを受信者に送信するステップは、要求データ、ユーザ同意データ、およびデジタル署名を少なくとも含む認証トークンを生成し送信するステップを含むことができる。いくつかの態様は、サードパーティに、クライアントデバイスのコンピューティングプラットフォームの秘密鍵に対応する公開鍵を提供するステップを含むことができる。公開鍵は、サードパーティが、ユーザ同意データを確認することを可能にする。これにより、サードパーティが、ユーザによって指定されるユーザ同意データを確認するための安全な方法が可能になる。
【0007】
いくつかの態様は、多数の同意管理プラットフォームから、所与の同意管理プラットフォームの選定を指定する選定データを受信するステップを含む。方法は、所与の同意管理プラットフォームまたはアプリケーションストアから、同意管理モジュールを取得するステップと、クライアントデバイスにおいて、クライアントデバイス上の同意管理モジュールをインストールするステップとをさらに含む。
【0008】
いくつかの態様は、ユーザが、ユーザ同意設定を指定し、現在のユーザ同意設定を見直すことを可能にする対話型インターフェースを提示するステップを含む。この態様は、ユーザ同意設定を指定するデータを受信するステップと、ユーザ同意設定をクライアントデバイスにおいて記憶するステップとを含むことができる。この態様はまた、対話型インターフェースに、1つまたは複数の推薦付きユーザ同意設定を提示するステップも含むことができる。この態様はまた、クライアントデバイスの現在の場所またはクライアントデバイスにおけるユーザ活動に少なくとも基づいて、1つまたは複数の推薦付きユーザ同意設定を選定するステップを含むことができる。ユーザインターフェースは、ユーザが、同意設定を効率的に見直し管理することを可能にし、それによって、自分のユーザデータについてのユーザの同意設定に対する制御を向上させることがさらに容易になり得る。さらには、推薦付きユーザ同意設定を提示するステップは、ユーザが、設定を手動で選択する必要なく、代わりに、クライアントデバイスの現在の場所またはクライアントデバイスにおけるユーザ活動に基づくことができる推薦付き同意設定を採用できるようにして、自分のユーザ同意設定を指定するのに効率的な方法を提供する。
【0009】
いくつかの態様は、クライアントデバイスにおいて提示するためのデジタルコンポーネントを受信するステップと、デジタルコンポーネントが、ユーザのユーザデータの1つまたは複数の部分に基づいて選定される個人化されたデジタルコンポーネントであると決定するステップとを含むことができる。デジタルコンポーネントが、ユーザのユーザデータの1つまたは複数の部分に基づいて選定される個人化されたデジタルコンポーネントであるとの決定に応答して、方法は、現在のユーザ同意設定が、個人化されたデジタルコンポーネントを提供したデジタルコンポーネント配信システムによって提供される個人化されたデジタルコンポーネントの提示を許可するかどうかを決定するステップと、現在のユーザ同意設定が、デジタルコンポーネント配信システムによって提供される個人化されたデジタルコンポーネントの提示を許可しないとの決定に応答して、クライアントデバイスによる、個人化されたデジタルコンポーネントの提示をブロックするステップとを含む。このようにして、方法は、現在のユーザ同意設定を使用して、望まない個人化されたデジタルコンポーネントがクライアントデバイスにおいて提示されることを防止する。
【0010】
いくつかの態様においては、同意管理モジュールは、クライアントデバイスのコンピューティングプラットフォームのユーザ同意プラグインを含む。いくつかの態様においては、同意管理モジュールは、クライアントデバイスのオペレーティングシステムのユーザ同意プラグインを含む。いくつかの態様においては、同意管理モジュールは、クライアントデバイスのウェブブラウザのユーザ同意プラグインを含む。これらの実施形態の形で、プラグインを用いて同意管理モジュールを提供することにより、同意管理モジュールは、クライアントデバイス上の既存のアプリケーションまたはシステムに対するプラグインとしてインストールされることが可能になり、それによって、同意管理モジュールによって提供される追加の機能がこれらの既存のアプリケーションまたはシステムに提供される。
【0011】
本明細書に説明する主題を特定の実施形態において実装して、次の利点のうちの1つまたは複数を実現することができる。本明細書に説明するユーザ同意プラットフォームは、ユーザが、単一の同意管理プラグイン(もしくは他のモジュール)および/または単一のユーザインターフェースを使用して、多数の受信者(たとえば、ドメイン)についてのユーザ同意設定を指定することを可能にし、ユーザデータがどのように収集され使用されるかについての制御をより簡単に、かつより効率的にする。言い換えれば、開示の主題は、ユーザが、多数の受信者に対する自分のユーザデータについてのユーザ同意設定を一元的に管理する手段を提供し、それによって、ユーザに、自分の個人的ユーザデータに対する制御の向上をもたらす。同意管理プラグインはまた、たとえばユーザの地理上の場所に基づいて、カスタムユーザ同意設定をユーザに推薦することもでき、それによって、同意設定の管理の効率性および簡易性がさらに高まり、同意設定が、様々な国または地域の法律もしくは規則に基づいて適切であることが確実になる。クライアントデバイスは、ユーザデータを送信する前に、ユーザ同意設定をクエリして、ユーザが送信に同意していないユーザデータの送信を防止することができる。
【0012】
ユーザデータがクライアントデバイスから送信されるとき、送信されたデータは、受信者によって記憶されなければならないデジタル署名付きユーザ同意設定を含むことができる。このようにして、ユーザおよびユーザデータの使用をオーディットしてコンプライアンスを確実にしながら、受信したユーザ同意設定を受信者が不正に改ざんすることを防止することができる。
【0013】
前述の主題の様々な特徴および利点について、図に関して後述する。追加の特徴および利点は、本明細書において説明する主題、および特許請求の範囲から明らかである。
【図面の簡単な説明】
【0014】
【
図1】データの収集および使用に対するユーザ同意を管理するためのフレームワークを提供する環境のブロック図である。
【
図2】クライアントデバイスにおいてユーザ選定の同意管理モジュールをインストールするための例示的なプロセスを示すフロー図である。
【
図3】ユーザがユーザ同意設定を指定することを可能にし、ユーザ同意設定を記憶するための例示的なプロセスを示すフロー図である。
【
図4】ユーザ同意設定に従って要求を送信するための例示的なプロセスを示すフロー図である。
【
図5】上述した動作を行うのに使用され得る例示的なコンピュータシステムのブロック図である。
【発明を実施するための形態】
【0015】
様々な図面における同様の参照番号および名称は、同様の要素を示す。
【0016】
概して、本明細書において説明するシステムおよび技法は、オンラインエコシステムにわたって(たとえば、完全に別個のドメインにわたって)ユーザ同意を系統的に収集し、伝播し、実施するエンドツーエンドのユーザ同意フレームワークを提供する。多くの異なる企業および他の組織は、ユーザ向けのコンテンツをカスタマイズするなど、様々な目的のためにユーザデータを収集し、共有し、それに頼っている。ユーザ同意を管理する1つのやり方は、たとえばユーザがウェブサイトを訪問する、またはアプリケーションをダウンロードするときにユーザ選定嗜好を要求することによって、各組織がそのユーザの同意のそれぞれを取得することである。しかしながら、このことは、ユーザにはもどかしい可能性があり、重複データの入力を要求することもあり、ユーザのデータが、それらの嗜好に従って収集かつ/または使用されることを確実にするものではない。したがって、開示の主題は、ユーザ同意データを管理するために、より単純でより効率的な手法を提供するという技術的問題の解決に関するものである。
【0017】
この技術的問題に対する1つまたは複数の技術的解決策は、システム、方法、装置、コンピュータ可読媒体、およびコンピュータプログラムとして実装され得る開示のユーザ同意フレームワークを含む。本明細書に説明するユーザ同意フレームワークは、ユーザが、多数の同意管理プラットフォームから、自分のユーザ同意設定を管理するための同意管理プラットフォームを選定することを可能にする。ユーザに対するユーザ同意設定は、たとえば、どんなユーザデータが収集され得るか、誰がデータを受け取ることができるか、およびデータが、各受信者によってどのように使用され得るかを規定する。このようにして、ユーザは、単一のプラットフォームを使用して、オンラインエコシステム全体にわたって自分のプライバシーを一元的に管理することができる。言い換えれば、同意管理プラットフォームを使用することによって、ユーザは、自分の同意設定を一度に提出することができ、それらの設定は、ユーザにユーザの同意設定の再提出を要求することなく、ユーザが多数の異なるドメイン(たとえば、ウェブサイト)およびアプリケーション(たとえば、モバイルアプリ)にアクセスするように実施され得る。
【0018】
同意管理プラットフォームは、ユーザのクライアントデバイスに、同意管理モジュール、たとえば、動作システムについてのプラグインを提供することができ、それにより、ユーザは、ユーザ同意設定を指定することが可能になる。同意管理モジュールは、ユーザがユーザ同意設定を指定することを可能にする1つまたは複数の対話型ユーザインターフェースを提供することができる。クライアントデバイスが、ユーザデータを含むことになる要求を送信しようとするとき、クライアントデバイスのプラットフォームは、現在のユーザ同意設定をクエリして、あるのであればどんなユーザデータが要求に含められ得るのか、およびデータに関するどんな制限が要求に含められるべきであるかを決定することができる。次いで、クライアントデバイスは、現在のユーザ同意設定に従って要求を生成し、それをその受信者に送信することができる。
【0019】
ユーザ同意設定のコンプライアンスを確実にするために、クライアントデバイスから送出される要求は、受信者が記憶することができるデジタル署名付きユーザ同意設定を含むことができる。このようにして、受信者がユーザ同意設定を改変または偽装することができない状態で、オーディタは、受信者が受け取ったユーザ同意設定を確認することができる。
【0020】
同意管理モジュールはまた、ユーザに対してユーザ同意設定を推薦して、ユーザがユーザ同意設定を指定することをより簡単にすることができる。同意管理モジュールは、たとえば、ユーザのデバイスの現在の地理上の場所、ユーザのデバイスにおいて提示されるデジタルコンポーネントに対する受信者の寄与、および/またはデバイス上のユーザ活動を含む種々の要因に基づいて、ユーザ同意設定を推薦することができる。
【0021】
図1は、データの収集および使用に対するユーザ同意を管理するためのフレームワークを提供する環境100のブロック図である。例示的な環境100は、ローカルエリアネットワーク(LAN)、広域ネットワーク(WAN)、インターネット、モバイルネットワーク、またはそれらの組合せなど、データ通信ネットワーク105を含む。ネットワーク105は、クライアントデバイス110と、パブリッシャ130と、ウェブサイト140と、デジタルコンポーネント配信システム150と、同意管理プロバイダシステム170とを接続する。例示的な環境100は、多くの異なるクライアントデバイス110、パブリッシャ130、ウェブサイト140、および同意管理プロバイダシステム170を含んでもよい。
【0022】
ウェブサイト140は、ドメイン名と関連付けられ1つまたは複数のサーバによってホストされている1つまたは複数のリソース145である。例示的なウェブサイトは、テキスト、画像、マルチメディアコンテンツ、およびスクリプトなどのプログラミング要素を含むことができるHTMLでフォーマットされるウェブページの集合である。各ウェブサイト140は、パブリッシャ130によって維持され、パブリッシャ130は、ウェブサイト140を含む1つまたは複数のウェブサイトを制御し、管理し、かつ/または所有するエンティティである。ドメインは、対応するドメイン名をホストするコンピュータ、たとえば、リモートサーバとすることができるドメインホストとすることができる。
【0023】
リソース145は、ネットワーク105を介して提供され得る任意のデータである。リソース145は、リソース145に関連付けられているリソースアドレス、たとえば、ユニバーサルリソースロケータ(URL)によって識別される。リソースとして、ほんのいくつか挙げると、HTMLページ、ワープロ文書、およびポータブルドキュメントフォーマット(PDF)文書、画像、動画、ならびにフィードソースが挙げられる。リソースは、埋込み情報(ハイパーリンクにおけるメタ情報など)、および/または埋込み命令(スクリプトなど)を含むことができる、単語、語句、画像、および音などのコンテンツを含むことができる。
【0024】
クライアントデバイス110は、ネットワーク105を介して通信することができる電子デバイスである。例示的なクライアントデバイス110としては、パーソナルコンピュータ、モバイル通信デバイス、たとえば、スマートフォン、およびネットワーク105を介してデータを送受信することができる他のデバイスが挙げられる。クライアントデバイス110は、ソフトウェアアプリケーションが実行する環境であるデバイスプラットフォーム113を有する。デバイスプラットフォーム113は、クライアントデバイス110のハードウェア、および/またはクライアントデバイス110の動作システムを含むことができる。
【0025】
クライアントデバイス110は、典型的には、デバイスプラットフォーム113において動作しネットワーク105を介してデータを送受信することを容易にする、ウェブブラウザおよび/またはネイティブアプリケーションなど、アプリケーション112を含む。ネイティブアプリケーションは、特定のプラットフォームおよび特定のデバイスについて開発されるアプリケーションである。パブリッシャ130は、ネイティブアプリケーションを開発し、クライアントデバイス110に提供し、たとえば、ダウンロードに利用できるようにすることができる。いくつかの実装形態においては、クライアントデバイス110は、デジタルメディアデバイス、たとえばテレビまたは他のディスプレイにプラグインして、動画をテレビにストリーミングするストリーミングデバイスである。デジタルメディアデバイスはまた、動画をストリーミングする、かつ/またはリソースを提示するウェブブラウザおよび/または他のアプリケーションを含むこともできる。
【0026】
ウェブブラウザは、ウェブサーバにリソース145を要求することができ、ウェブサーバは、たとえばクライアントデバイス110のユーザが、ウェブブラウザのアドレスバーにリソース145のリソースアドレスを入力すること、またはリソースアドレスを参照するリンクを選定することに応答して、パブリッシャ130のウェブサイト140をホストする。同様に、ネイティブアプリケーションは、パブリッシャ130のリモートサーバにアプリケーションコンテンツを要求することができる。
【0027】
いくつかのリソース145、アプリケーションページ、または他のアプリケーションコンテンツは、リソース145またはアプリケーションページとともにデジタルコンポーネントを提示するためのデジタルコンポーネントスロットを含むことができる。本明細書全体を通じて用いられるとき、「デジタルコンポーネント(digital component)」という語句は、デジタルコンテンツまたはデジタル情報の個別単位(たとえば、動画クリップ、音声クリップ、マルチメディアクリップ、画像、テキスト、またはコンテンツの別の単位)を示す。デジタルコンポーネントは、単一のファイルとして、またはファイルの集合で、物理メモリデバイスに電子的に記憶され得、デジタルコンポーネントは、動画ファイル、音声ファイル、マルチメディアファイル、画像ファイル、またはテキストファイルの形態をとり、広告情報を含むことができ、それにより、広告は、あるタイプのデジタルコンポーネントになる。たとえば、デジタルコンポーネントは、アプリケーション112によって提示されるウェブページまたは他のリソースのコンテンツを補完するように意図されているコンテンツであってもよい。より具体的には、デジタルコンポーネントは、リソースコンテンツに関係するデジタルコンテンツを含んでもよい(たとえば、デジタルコンポーネントは、ウェブページコンテンツと同じトピック、または関連のトピックに関係していてもよい)。したがって、デジタルコンポーネント配信システム150によるデジタルコンポーネントの提供は、ウェブページまたはアプリケーションコンテンツを補完し、全体的に充実させることができる。
【0028】
アプリケーション112が1つまたは複数のデジタルコンポーネントスロットを含むリソース145(またはアプリケーションコンテンツ)をロードするとき、アプリケーション112は、デジタルコンポーネント配信システム150に、各スロットのデジタルコンポーネントを求める要求120(後述する認証トークン122を含むことができる)を送出することができる。デジタルコンポーネント配信システム150は、ひいては、デジタルコンポーネントプロバイダ160にデジタルコンポーネントを要求することができる。デジタルコンポーネントプロバイダ160は、リソース145とともに提示するためのデジタルコンポーネントを提供するエンティティである。
【0029】
いくつかの場合においては、デジタルコンポーネント配信システム150はまた、1つまたは複数のデジタルコンポーネントパートナ157にデジタルコンポーネントを要求することができる。デジタルコンポーネントパートナ157は、デジタルコンポーネント要求に応答して、デジタルコンポーネントプロバイダ160に代わって、デジタルコンポーネント129を選定するエンティティである。
【0030】
デジタルコンポーネント配信システム150は、様々な基準に基づいて、各デジタルコンポーネントスロットについてのデジタルコンポーネント129を選定することができる。たとえば、デジタルコンポーネント配信システム150は、デジタルコンポーネントプロバイダ160および/またはデジタルコンポーネントパートナ157から受け取ったデジタルコンポーネントから、リソース145(またはアプリケーションコンテンツ)との関係性または関連性に基づいたデジタルコンポーネント、デジタルコンポーネントの性能(たとえば、ユーザがデジタルコンポーネントと対話する速度)などを選定することができる。次いで、デジタルコンポーネント配信システム150は、リソース145または他のアプリケーションコンテンツとともに提示するための選定されたデジタルコンポーネント129をクライアントデバイス110に提供することができる。
【0031】
クライアントデバイス110はまた、クライアントデバイス110のユーザが、ユーザのデータが収集され使用されるかどうか、および/またはそれがどのように収集され使用されるかを規定するユーザ同意設定を管理することを可能にする同意管理モジュール114を含むことができる。同意管理モジュール114は、デバイスプラットフォーム113へのプラグインとして、たとえばクライアントデバイス110のオペレーティングシステムへのプラグインとして実装され得る。プラグインは、追加の機能をアプリケーションに提供するソフトウェアコンポーネントである。いくつかの実装形態においては、同意管理モジュール114は、ウェブブラウザまたはネイティブアプリケーションへのプラグインとして実装され得る。
【0032】
同意管理モジュール114は、同意管理モジュール114をクライアントデバイス110の他のアプリケーションおよび/またはリソースから分離する厳密に制御された環境において動作することができる。たとえば、同意管理モジュール114は、デバイスプラットフォーム113のサンドボックスにおいて動作することができる。このようにして、同意管理モジュール114は、デバイスプラットフォーム113の外部と通信すること、または同じデバイス上の他のアプリケーション112の実行を妨害することはできない。
【0033】
同意管理モジュール114は、ユーザが、クライアントデバイス上のユーザの活動、ウェブブラウジング履歴、ダウンロードもしくはアクセスされたネイティブアプリケーション、人口統計学的情報、場所情報、興味、および/または他の個人データなどのユーザデータがどのように収集され使用されるかを指定することを可能にする。いくつかの実装形態においては、同意管理モジュール114は、ユーザが、すべての受信者および/または各受信者に対して個々に、受信者がクライアントデバイス110上の情報を記憶することおよび/もしくはその情報にアクセスすることができるかを指定し、ユーザデータを使用してデジタルコンポーネントを選定し、ユーザデータを使用して1つまたは複数のプロファイルを作成し、ユーザデータを使用して個人化されたデジタルコンポーネントを選定し(たとえば、プロファイルを使用して)、デジタルコンポーネントもしくは他のコンテンツの性能を測定し(たとえば、ユーザがデジタルコンポーネントもしくは他のコンテンツと対話するかどうかに基づいて)、ならびに/またはオーディエンスインサイト(audience insight)を生成することを可能にする。
【0034】
同意管理モジュール114は、ユーザが、ユーザ同意設定を指定することを可能にする1つまたは複数の同意管理ユーザインターフェース116を提供することができる。たとえば、ユーザインターフェースは、各設定について、ユーザが、設定に同意できるようにする、または設定を拒否できるようにするチェックボックスコントロールを提示することができる。具体的な例においては、設定は、いずれのユーザデータもクライアントデバイス110から送信できることとすることができる。この例においては、ユーザは、設定のためのチェックボックスを選定しても(たとえば、チェック付き)、または設定を拒否するためにチェックボックスを選定しなくてもよい(たとえば、チェックなし)。
【0035】
別の例においては、ユーザインターフェース116は、ユーザが、設定について多数のオプションから選定することを可能にすることができる。たとえば、ユーザインターフェース116は、(パブリッシャ、デジタルコンポーネントプロバイダ160、デジタルコンポーネント配信システム150、および/またはデジタルコンポーネントパートナ157のウェブサイトを含むことができる)ドメイン名および/またはネイティブアプリケーションのセットのそれぞれについて、アプリケーションによってドメインに送出され得るデータのタイプをそれぞれが規定する多数のボタンを提示することができる。ユーザは、ボタンを選定することによってデータのタイプに同意すること、およびボタンを選定解除することによって同意を撤回することができる。
【0036】
同意管理モジュール114は、ユーザが、どんなデータがクライアントデバイス110から送信されるか、そのデータが(たとえば、ウェブページまたはアプリケーションのコンテンツをカスタマイズするために、安全なチャネルのみを介して、暗号化または非暗号化の形態で、デジタルコンポーネントを選定するために)どのように使用され得るか、どんな受信者にデータが送出され得るか、ユーザデータは記憶され得るかどうかおよびどれくらいの間、記憶され得るか、ならびに/またはユーザデータの使用に対する他の適切な同意を規定するユーザ同意設定を指定することを可能にすることができる。同意管理モジュール114は、ユーザが、すべての受信者に対する設定、たとえば全体的な設定、または受信者ごとの設定を指定することを可能にすることができる。このようにして、ユーザは、自分のデータがどのように収集され使用されるかを微調整して制御する。
【0037】
同意管理モジュール114は、ユーザによって指定されるユーザ同意設定を同意ストレージユニット117に記憶することができる。同意ストレージユニット117は、他のデバイスまたはアプリケーションによるアクセスまたは修正を防止するために、分離かつ/または暗号化され得る。
【0038】
同意管理モジュール114は、クライアントデバイス110上の各ウェブブラウザおよびネイティブアプリケーションによってユーザデータの収集および使用を管理するのに使用され得る。クライアントデバイス110が、たとえば、ウェブブラウザまたはネイティブアプリケーションに代わって、ユーザデータを含む要求120を送出しようとするとき、デバイスプラットフォーム113は、現在のユーザ同意設定について同意管理モジュール114にクエリすることができる。次いで、デバイスプラットフォーム113は、ユーザによって同意され現在のユーザ同意設定によって規定されている範囲にかぎりユーザデータを含む要求を生成することができる。このようにして、単一の同意モジュール114は、多数のアプリケーションから、ユーザが同意していないユーザデータの送信を防止することができる。したがって、各クライアントデバイス110は、クライアントデバイス110においてインストールされ、かつ/またはいくつかの実装形態においては、クライアントデバイス110において所与のときにアクティブな1つの同意管理モジュール114だけを有することができる。
【0039】
いくつかの場合においては、ユーザ同意設定に従ってユーザデータを管理するための同意管理プロバイダシステム170を動作させる多数の同意管理プロバイダが存在し得る。各同意管理プロバイダは、同意管理モジュール114をユーザが利用できるようにすることができる。この例においては、各ユーザは、自分の好みの同意管理プロバイダの同意管理プロバイダシステム170から自分の同意管理モジュール114をダウンロードする、またはそうでなければインストールすることができる。
【0040】
いくつかの実装形態においては、同意管理モジュール114は、ユーザが、音声、動画、および/または画像のデータが他者によって収集され、他者に送信され、かつ/または他者によって使用されるかどうかを指定することを可能にすることができる。たとえば、同意管理モジュール114は、ユーザが、クライアントデバイス110または別のデバイス、たとえば、アシスタントデバイス(たとえば、スマートスピーカ)、別のモバイルデバイスなどが、音声、動画、または画像のデータを収集し、受信し、または使用することができるかどうかを指定することを可能にすることができる。いくつかの実装形態においては、同意管理モジュール114は、ユーザが、(たとえば、スマートサーモスタット、またはモノのインターネット(Internet of Things、IoT)デバイスからの)センサ情報が他者によって収集、送信、または使用できるかどうかを指定することを可能にすることができる。そのような例においては、これらのデバイスは、データがデバイスプラットフォーム113と同様の形で別のデバイスに送出され得るかどうかを決定するために同意管理モジュール114にクエリすることができる。
【0041】
同意管理モジュール114はまた、ユーザデータが、収集され得るかどうか、および/またはユーザデータがどのように使用され得るかを規定する、たとえば、法律、規則、またはベストプラクティスに基づく標準設定も含むことができる。これらの標準設定は、デバイスプラットフォーム113が、ユーザデータもしくは要求を受信者(たとえば、特定のネットワークドメイン)に送出すべきであるかどうか、受信者に対する要求が任意のユーザ識別子を含むべきであるかどうか、受信者が個人化されたコンテンツをユーザに提供することがあり得るかどうか、および/または他の適切な設定を含むことができる。
【0042】
同意管理モジュール114は、標準設定の更新、同意管理モジュール114を実装するのに使用されるロジックの更新、および/または推薦エンジン115(後述する)の更新のために、たとえば定期的に、同意管理プロバイダシステム170にクエリ171を送出することができる。これに応答して、同意管理プロバイダシステム170は、クエリ171によって要求される更新173を提供することができる。このようにして、各クライアントデバイス110上の同意管理モジュール114は、ユーザのプライバシーの法律、規則、またはベストプラクティスの変更に応答して更新され得る。
【0043】
推薦エンジン115は、ユーザに、ユーザインターフェース116におけるユーザ同意設定を推薦することができる。推薦エンジン115は、たとえば、クライアントデバイス110の現在の地理上の場所、クライアントデバイス110において提示されるデジタルコンポーネントに対する受信者の寄与、および/またはクライアントデバイス110におけるユーザ活動を含む種々の要因に基づいてユーザ設定を推薦することができる。このユーザ活動は、たとえば、ウェブブラウジング履歴、場所履歴、クライアントデバイス110においてインストールされるアプリケーション、および/またはたとえば、所与の時間期間中にユーザがアクセスするアプリケーションを含むことができる。たとえば、推薦エンジン115は、クライアントデバイス110の全地球測位システム(GPS)受信機によって規定されるユーザの現在の地理上の場所に基づいて、またはデバイスのインターネットプロトコル(IP)アドレスから推測されるユーザの現在の地理上の場所に基づいて、地域の法律、規則、またはベストプラクティスに適合するユーザ同意設定を推薦することができる。このようにして、国際間で移動するユーザには、現在の場所に適切な推薦付きユーザ同意設定が提供され得る。
【0044】
上述したように、推薦エンジン115は、クライアントデバイス110において提示されるデジタルコンポーネントに対する受信者の寄与を使用することができる。同意管理モジュール114または別のアプリケーション(たとえば、ウェブブラウザまたはネイティブアプリケーション)は、所与の時間期間にわたるクライアントデバイス110におけるデジタルコンポーネントの提示に対する多数のドメインの寄与のレベルを決定することができる。たとえば、デジタルコンポーネントは、デジタルコンポーネントの配信に寄与した1つまたは複数のドメインを示すメタデータを含むことができる。具体的な例においては、メタデータは、第1のドメインが、デジタルコンポーネントにおける特定のグラフィックスに寄与し、第2のドメインが、デジタルコンポーネントにおけるテキストに寄与したことを示すことができる。同意管理モジュール114またはアプリケーションは、クライアントデバイス110において少なくとも1つのデジタルコンポーネントが提示されることに寄与した各ドメインの寄与レベルを決定することができる。
【0045】
ドメインの寄与レベルは、様々なやり方で決定され得る。たとえば、ドメインの寄与レベルは、ドメインがクライアントデバイス110における提示に対して寄与したデジタルコンポーネントの量、クライアントデバイス110において対話され、ドメインが寄与したデジタルコンポーネントのパーセンテージ、ドメインがクライアントデバイス110における提示に対して寄与したデジタルコンポーネントのタイプもしくはサイズ、および/または他の適切な要因に基づくことができる。
【0046】
推薦エンジン115は、寄与レベルを使用して、ユーザ同意設定をユーザに推薦することができる。たとえば、ドメインがクライアントデバイス110においてデータを記憶している、かつ/またはクライアントデバイス110からユーザデータを受け取っているが、デジタルコンポーネントがクライアントデバイス110において提示されることに寄与していない場合、推薦エンジン115は、ユーザに、ドメインが、クライアントデバイス110においてデータを記憶することをブロックすること、またはドメインがなぜユーザデータを収集しているか知ることができないので、クライアントデバイス110からユーザデータを受け取ることをブロックすることを推薦することができる。
【0047】
推薦エンジン115は、ドメインの寄与レベルを閾値と比較することができる。寄与レベルが閾値を満たさない(たとえば、閾値未満である)場合、推薦エンジン115は、ユーザに、ドメインが、クライアントデバイス110においてデータを記憶することまたはクライアントデバイス110からユーザデータを受け取ることに同意しないことを推薦することができる。寄与レベルが閾値を満たす(たとえば、閾値以上である)場合、推薦エンジン115は、ユーザに、ドメインが、クライアントデバイス110においてデータを記憶すること、および/またはクライアントデバイス110からユーザデータを受け取ることに同意することを推薦することができる。推薦エンジン115は、少なくとも1つのデジタルコンポーネントがクライアントデバイス110において提示されることに寄与した各ドメインについてこの推薦プロセスを行うことができる。
【0048】
ユーザは、ユーザインターフェース116内の推薦付きユーザ同意設定を閲覧し、推薦付きユーザ同意設定を確定するまたは拒絶するかのいずれかを行うことができる。たとえば、ユーザインターフェース116は、多数のドメインおよび/または多数のタイプの同意(たとえば、データを記憶すること、データを送信することなど)をカバーする推薦付きユーザ同意設定のセットを提示することができ、ユーザは、推薦付きユーザ同意設定を簡単に受け入れること、または拒否することができる。これにより、ユーザが、各タイプの設定をカスタマイズすることに関して、および/または各ドメインについて、ユーザ同意設定を指定することがより簡単でより効率的になり得る。
【0049】
いくつかの実装形態においては、デバイスプラットフォーム113は、ユーザデータを含む要求120とともにユーザ同意設定を送出する。ユーザデータの各受信者は、たとえばオーディットの目的で、ユーザ同意設定を記憶するように要求され得る。このようにして、オーディタは、受信者によって記憶されたユーザデータ、およびユーザ同意設定をオーディットして、受信者が、ユーザの同意設定に従って各ユーザのデータを記憶し使用していることを確実にすることができる。
【0050】
受信者による不正行為を防止するために、デバイスプラットフォーム113(または要求を送出するウェブブラウザもしくはネイティブアプリケーション)は、デバイスプラットフォーム113(またはウェブブラウザもしくはネイティブアプリケーション)によって秘密裏に維持されている秘密鍵を使用して少なくともユーザ同意設定にデジタル署名することができる。オーディタは、秘密鍵に対応する(たとえば、数学的にリンクされている)公開鍵、および記憶されている使用済みの同意設定を使用して、署名を確認することができる。署名が、公開鍵および記憶されているユーザ同意設定を使用して確認できない場合には、オーディタは、ユーザ同意設定が改変されたことを決定することができる。
【0051】
いくつかの実装形態においては、デバイスプラットフォーム113は、要求120に含められている、または要求120を実装する認証トークン122を生成する。認証トークンは、同意設定、および同意設定のデジタル署名(秘密鍵を使用する)、ならびに作成後のユーザ同意設定に対するいずれの修正も検出できるようにする他のデータを含むことができるトークンである。たとえば、認証トークンは、同意設定および他のデータを含む複雑なメッセージとすることができる。署名付きデータは、ユーザの一意の識別子を含むことができ、それにより、認証トークンの受信者は、認証トークンがユーザから送出されたことを確認することが可能になる。認証トークンはまた、整合性トークン(integrity token)、たとえば、デバイス整合性トークンおよび/またはブラウザ整合性トークンを含むことができ、それにより、受信者は、認証トークンが、信頼済みのデバイスまたは信頼済みのウェブブラウザから受信されたことを確認することが可能になる。
【0052】
認証トークン122は、(たとえば、ユーザ同意設定を変更する、またはデジタルコンポーネントを要求するために)要求の目的または動作を指定するデータ、ユーザを一意に識別するユーザ識別子(たとえば、クライアントデバイス110の公開鍵)、認証トークン122が作成された時を示す認証トークン作成時刻、整合性トークン(たとえば、デバイス整合性トークンおよび/またはブラウザ整合性トークン)、ならびに認証トークン122の他のデータの少なくとも一部分のデジタル署名を含むことができる。
【0053】
整合性トークンは、エンティティが、要求120が信頼済みのクライアントデバイス110によって送出されたかどうかを決定することを可能にするデバイス整合性トークンとすることができる。たとえば、デバイス整合性トークンは、クライアントデバイスの不正信号を評価し、評価に基づいてクライアントデバイスに信頼性レベルを割り当てるサードパーティデバイス整合性システムによって発行され得る。クライアントデバイス110についてのデバイス整合性トークンは、デバイス整合性トークンが生成された時におけるクライアントデバイス110の信頼性(または整合性)レベルを示す判定と、デバイス整合性トークンが生成された時を示すデバイス整合性トークン生成時刻と、クライアントデバイス110の一意の識別子(たとえば、クライアントデバイスのデバイス公開鍵113Bまたはその派生物)とを含むことができる。デバイス整合性トークンはまた、デバイス整合性システムの秘密鍵を使用して、デバイス整合性トークンにおけるデータのデジタル署名を含むことができる。たとえば、デバイス整合性システムは、システムが秘密裏に維持しているその秘密鍵を使用してデータに署名することができる。認証トークン122を受け取るエンティティは、デバイス整合性システムの公開鍵を使用して、デバイス整合性トークンの署名を確認することができる。クライアントデバイス110の整合性は、時間の経過とともに変化し得るので、各クライアントデバイス110は、新規デバイス整合性トークンを定期的に要求することができる。認証トークン122を受け取るエンティティは、デバイス整合性トークンの作成時刻をチェックして、古くなったデバイス整合性トークンを識別することができる。
【0054】
ウェブブラウザに代わって、送出される要求の場合、整合性トークンは、ウェブブラウザの整合性、またはウェブサイトとのユーザの対話が本物であるかどうかを示すブラウザ整合性トークンとすることができる。本物でないユーザ対話の例は、ユーザではなく、ボットなどによって開始される対話を含む。ブラウザ整合性トークンは、サードブラウザ整合性システムに送出される不正検出信号に基づいて、サードパーティブラウザ整合性システムによって発行され得る。不正信号は、たとえば、マウスの移動の速度、方向、休止、および他のパターン、クリックパターンなどを含むことができる。
【0055】
デバイス整合性トークンと同様に、ウェブブラウザについてのブラウザ整合性トークンは、ブラウザ整合性トークンが生成された時における、ウェブブラウザの信頼性(もしくは整合性)レベル、またはウェブサイトとのユーザ対話の真正性レベルを示す判定、ブラウザ整合性トークンが生成された時を示すブラウザ整合性トークン生成時刻、およびクライアントデバイス110についての一意の識別子(たとえば、クライアントデバイスまたはウェブブラウザの公開鍵)を含むことができる。ブラウザ整合性トークンはまた、ブラウザ整合性システムの秘密鍵を使用してブラウザ整合性トークンにおけるデータのデジタル署名を含むことができる。たとえば、ブラウザ整合性システムは、システムが秘密裏に維持しているその秘密鍵を使用してデータにデジタル署名することができる。認証トークン122を受け取るエンティティは、ブラウザ整合性システムの公開鍵を使用して、ブラウザ整合性トークンの署名を確認することができる。クライアントデバイス110は、整合性トークン(たとえば、デバイス整合性トークンおよび/またはブラウザ整合性トークン)を記憶して、認証トークン122に含めることができる。
【0056】
上述したように、クライアントデバイス110は、デジタルコンポーネント配信システム150にデジタルコンポーネントを要求することができる。アプリケーション(たとえば、ウェブブラウザまたはネイティブアプリケーション)がデジタルコンポーネントを提示する前に、アプリケーションは、ユーザが、デジタルコンポーネントが提示されることに同意していることを確実にすることができる。デジタルコンポーネントは、プロバイダ(たとえば、デジタルコンポーネント配信システム150、デジタルコンポーネントパートナ157、および/またはデジタルコンポーネントプロバイダ160)を指定する、ならびにデジタルコンポーネントがユーザのデータに基づいて(ユーザについて生成されるユーザプロファイルに基づいて)選定され、かつ/またはカスタマイズされる個人化されたデジタルコンポーネントであるかどうかを指定するデータ、たとえば、メタデータを含むことができる。
【0057】
デジタルコンポーネントをレンダリングする前に、アプリケーション(たとえば、ウェブブラウザまたはネイティブアプリケーション)は、プロバイダが、ユーザに対して、個人化されたコンテンツを示すのに適切なユーザ同意を有しているかどうかを同意管理モジュール114にクエリすることができる。たとえば、アプリケーションは、同意管理モジュール114に、プロバイダを指定する、およびデジタルコンポーネントがクエリにより個人化されているかどうかを指定する、以前にフェッチされたデジタルコンポーネントまたはメタデータを提供することができる。同意管理モジュール114は、現在のユーザ同意設定および受信したデジタルコンポーネントまたはメタデータに基づいて、ユーザが、デジタルコンポーネントの提示に同意しているかどうかを決定することができる。次いで、同意管理モジュール114は、デジタルコンポーネントが提示可能である、または不可能であることを指定するデータによりアプリケーションに応答することができる。次いで、アプリケーションは、同意管理モジュール114からの応答に基づいて、デジタルコンポーネントを提示する、またはデジタルコンポーネントをブロックするかのいずれかを行うことができる。
【0058】
いくつかの実装形態においては、同意管理モジュール114はまた、ユーザが、どのドメインがユーザのデータを有するか、および各ドメインがどんなデータを有するかを閲覧することを可能にすることができる。同意管理モジュール114はまた、ユーザが、ドメインがユーザのデータを削除して、ユーザのデータを別のエンティティに転送しないこと、ユーザのデータを訂正すること、および/またはユーザのデータを、たとえばクライアントデバイス110にエクスポートすることを要求することを可能にすることができる。
【0059】
図2は、クライアントデバイスにおいてユーザ選定の同意管理モジュールをインストールするための例示的なプロセス200を示すフロー図である。プロセス200は、たとえばクライアントデバイス110によって実装され得る。プロセス200の動作はまた、非一時的コンピュータ可読媒体において記憶されている命令として実装され得、1つまたは複数のデータ処理装置による命令の実行により、1つまたは複数のデータ処理装置は、プロセス200の動作を行うことが可能になる。
【0060】
同意管理プラットフォームの選定が受信される(202)。クライアントデバイスのアプリケーション(たとえば、ウェブブラウザもしくはネイティブアプリケーション)またはデバイスプラットフォームは、ユーザに、ユーザが多数の同意管理プラットフォームから選定することを可能にするユーザインターフェース116を提示することができる。各同意管理プラットフォームは、ユーザのデータがどのように収集され使用されるかを制御するユーザ同意設定を管理するやり方をユーザに提供することができる。たとえば、各同意管理プラットフォームは、ユーザが、クライアントデバイス110においてユーザ同意設定を指定することを可能にする、かつクライアントデバイスにおいて、および他の場所において、たとえば、リモートサーバもしくは他のエンティティにおいて、ユーザのデータの収集および使用を管理する、同意管理モジュールを提供することができる。
【0061】
ユーザインターフェースは、アプリケーションがユーザデータをクライアントデバイスから別のエンティティに送出しようとしていること、および同意管理モジュールがクライアントデバイスにおいて現在インストールされていない、またはアクティブでないことの決定に応答して提示され得る。ユーザは、ユーザインターフェースから同意管理プラットフォームを選定すること、またはいずれの同意管理プラットフォームも選定することを拒否することができる。
【0062】
同意管理モジュールが、選定された同意管理プラットフォームから取得される(204)、またはユーザがアプリケーション、およびアプリケーションのアドオンをダウンロードすることができるアプリケーションストアなどの別の場所から取得される。たとえば、アプリケーションストアは、同意管理モジュールがいくつかの最小限の品質標準を満たし、かつ何らかのポリシに準拠していることを確実にすることができる。同意管理プラットフォームの選定に応答して、クライアントデバイスは、選定された同意管理プラットフォームの同意管理プロバイダシステムに要求を送出することができる。それに応答して、システムは、同意管理モジュール(または同意管理モジュールをインストールするための実行可能ファイル)をクライアントデバイスに送出することができる。
【0063】
同意管理モジュールが、クライアントデバイスにおいてインストールされる(206)。上述したように、同意管理モジュールは、オペレーティングシステムのためのプラグインの形態で実装され得る。この例においては、オペレーティングシステムは、プラグインをインストールする。同意管理モジュールのインストールはまた、要求を送出しデジタルコンポーネントを提示するとき、同意管理モジュールと対話するようにアプリケーションを構成設定することを含むこともできる。
【0064】
図3は、ユーザが、ユーザ同意設定を指定し、ユーザ同意設定を記憶することを可能にするための例示的なプロセス300を示すフロー図である。プロセス300は、たとえば、クライアントデバイスの同意管理モジュールによって実装され得る。プロセス300の動作はまた、非一時的コンピュータ可読媒体において記憶されている命令として実装され得、1つまたは複数のデータ処理装置による命令の実行により、1つまたは複数のデータ処理装置は、プロセス300の動作を行うことが可能になる。
【0065】
対話型インターフェースが提示される(302)。対話型インターフェースは、ユーザが、たとえば、どんなユーザデータが収集され得るか、誰がデータを受け取ることができるか、データ保持ポリシ(たとえば、30日後または別の適切な時間期間後の自動削除)、およびデータが各受信者によってどのように使用され得るかを規定するユーザ同意設定を指定することを可能にすることができる。いくつかの実装形態においては、対話型インターフェースは、ユーザ同意設定のセットと、各ユーザ同意設定について、ユーザが同意するまたは同意を拒否することを可能にするユーザインターフェース制御とを含むことができる。たとえば、対話型インターフェースは、任意のユーザデータが、ユーザデバイスから任意のドメインに送信され得るかどうかをグローバルに制御する設定を含むことができる。対話型インターフェースはまた、ユーザが、ユーザデータが送信されることに同意すること、またはいずれのユーザデータもクライアントデバイスから送信されないように、同意を拒否することを可能にするチェックボックスコントロール(または他のタイプの制御)を含むことができる。対話型インターフェースは、ドメインごとに、および/またはクライアントデバイスにおいてインストールされるアプリケーションごとに、他のタイプのユーザ同意についての同様のユーザ同意設定を提示することができる。上述したように、対話型インターフェースはまた、推薦付き設定を提示することもできる。クライアントデバイスにおいて実行する同意管理モジュールは、対話型インターフェースの提示のみならず、推薦付き設定を生成することもできる。
【0066】
ユーザ同意設定を指定するデータが受信される(304)。ユーザインターフェースは、ユーザによって指定されるユーザ同意設定を同意管理モジュールに渡すことができる。
【0067】
ユーザ同意設定がクライアントデバイスにおいて記憶される(306)。同意管理モジュールは、安全なストレージ内、たとえば、クライアントデバイスのデバイスプラットフォームのサンドボックス内でユーザ同意設定を記憶して、サンドボックスの外部からのアクセスを防止することができる。いくつかの実装形態においては、適切なユーザ同意がある場合、同意管理モジュールは、同意管理プラットフォームによって管理されるインターネット上の安全なストレージ内にユーザ同意設定を記憶することができる。そのようなインターネットストレージは、バックアップ/復元の目的にとって、およびユーザが多数のデバイスからサインインする場合、多数のデバイスにわたる一貫したユーザ体験にとって有益であり得る。
【0068】
図4は、ユーザ同意設定に従って要求を送信するための例示的なプロセス400を示すフロー図である。プロセス400は、たとえばクライアントデバイスの同意管理モジュールによって実装され得る。プロセス400の動作はまた、非一時的コンピュータ可読媒体において記憶されている命令として実装され得、1つまたは複数のデータ処理装置による命令の実行により、1つまたは複数のデータ処理装置は、プロセス400の動作を行うことが可能になる。
【0069】
要求がユーザデータを含むことになるとの決定が行われる(402)。たとえば、クライアントデバイスのデバイスプラットフォームは、ウェブブラウザまたはネイティブアプリケーションなどのアプリケーションに代わって、要求を送信することができる。アプリケーションは、デバイスプラットフォームに対する要求のデータ、および要求がユーザデータを含むかどうかを示すデータを提供することができる。別の例においては、デバイスプラットフォームは、アプリケーションから受け取ったデータを評価し、要求がユーザデータを含むことになると決定することができる。別の例においては、ブラウザまたはネイティブアプリケーションは、要求を生成し送出する前に、ユーザ同意設定をクエリすることになる。
【0070】
たとえば、ブラウザがハイパーテキスト転送プロトコル(HTTP)要求をドメインに送出するとき、ドメインが、ブラウザクッキージャー(cookie jar)にクッキーを有し、クッキー値が、ユーザを識別するのに十分なエントロピー(単純なブール値を超える)を有する場合、ブラウザは、ドメインが、ユーザデータを収集するユーザ同意を有するかどうかをプラグインにクエリすることになる。回答が「はい(yes)」である場合かつその場合にかぎり、ブラウザは、クッキーをHTTPヘッダに挿入することになる。
【0071】
別の例においては、ブラウザが要求を送出することになるドメインが、パッシブフィンガープリント(すなわち、IPアドレスおよびブラウザユーザエージェントならびにHTTP要求内の他の信号に応じて)を使用してユーザを追跡することが知られている場合、ドメインはユーザデータの収集に対するユーザ同意を有していないとプラグインが回答した場合、ブラウザは、HTTP要求をネットワークまでルート設定し、ブラウザユーザエージェントを保留することになる。
【0072】
現在のユーザ同意設定についての要求が行われる(404)。デバイスプラットフォームは、ユーザ同意設定について同意管理モジュールにクエリを提出することができる。クエリは、たとえば、要求、たとえば要求が送出されることになるドメインについて特定のユーザ同意設定、またはユーザ同意設定のすべてについて求めることができる。
【0073】
現在のユーザ同意設定が受信される(406)。同意管理モジュールは、クエリに応答して、現在のユーザ同意設定を提供することができる。これらの現在のユーザ同意設定は、ユーザによって指定されるユーザ同意設定、および/または同意管理モジュールの標準/デフォルトのユーザ同意設定を含むことができる。たとえば、標準/デフォルトのユーザ同意設定は、ユーザが、そのタイプのユーザデータの収集を許可していない規制を有する国にいることを示すユーザの現在の場所に基づいて、特定のユーザデータの送信をブロックする設定とすることができる。クエリが特定のユーザ同意設定を求める場合、同意管理モジュールは、それらのユーザ同意設定のみを提供してもよい。
【0074】
要求データが、現在のユーザ同意設定に従って生成される(408)。デバイスプラットフォームは、ユーザ同意設定を使用して、あるとすれば、要求に含められ得るユーザデータの部分と、あるとすれば、要求に含められ得ないユーザデータの部分とを識別することができる。たとえば、デバイスプラットフォームは、ユーザ同意設定を評価して、要求の受信者についての設定があるかどうかを決定することができる。そうである場合、デバイスプラットフォームは、それらのユーザ同意設定を使用して、要求に含められ得るユーザデータの部分を識別することができる。そうでない場合、同意管理モジュールは、一般的なユーザ同意設定を使用して、要求に含められ得るユーザデータの部分を識別することができる。
【0075】
具体的な例においては、ユーザは、場所データが、特定のデジタルコンポーネント配信システムに送出されることを同意するが、ウェブブラウジング履歴については同意しない場合がある。この例においては、デバイスプラットフォームは、要求が場所データまたはウェブブラウジング履歴データを含むかどうかを決定することができる。要求がウェブブラウジング履歴データを含む場合、デバイスプラットフォームは、ウェブブラウジング履歴データを要求から取り除くことができる。デバイスプラットフォームは、クライアントデバイスから送信されることになる要求データに、ユーザが同意する場所データを含めることができる。
【0076】
要求データはまた、ユーザ同意設定を含むことができる。要求は、要求に適用されるユーザ同意設定、たとえば、要求の受信者についてのユーザ同意設定、および/またはユーザデータが要求に含まれることを可能にするために使用される任意のグローバルユーザ同意設定のみを含むことができる。別の例においては、要求は、受信者についてのユーザ同意設定と、すべての受信者に適用される任意のユーザ同意設定とを含むことができる。上述したように、ユーザ同意設定が、後に、たとえばオーディットで確認可能になるように、少なくともユーザ同意設定のデジタル署名が、生成され、要求に含められ得る。
【0077】
要求データが送信される(410)。デバイスプラットフォームは、要求の受信者に、たとえばデジタルコンポーネント配信システムに、要求データを送信することができる。上述したように、要求は、認証トークンを含んでも、認証トークンの形態であってもよい。
【0078】
上記の説明に付け加えて、ユーザは、本明細書に説明するシステム、プログラム、または機能が、ユーザ情報(たとえば、ユーザの社会的ネットワーク、社会的行為もしくは活動、職業、ユーザの嗜好、またはユーザの現在の場所についての情報)の収集を可能にし得るかどうかとそれをいつ可能にし得るかとの両方、ならびにサーバから個人化されたコンテンツまたは通信がユーザに送出されるかどうかに関して、ユーザが選択を行うことを可能にする制御が提供され得る。加えて、特定のデータは、個人を識別できる情報が取り除かれるように、記憶される、または使用される前に1つまたは複数のやり方で処理され得る。たとえば、個人を識別できる情報が1つもユーザについて決定され得ないようにユーザの属性情報が処理され得、またはユーザの特定の場所が特定され得ないように場所情報が取得される(たとえば都市、郵便番号、または州レベルに関して)ユーザの地理上の場所が一般化され得る。したがって、ユーザは、ユーザについてのどんな情報が収集されるか、その情報がどのように使用されるか、情報保持ポリシ、およびどんな情報がユーザに提供されるかを制御することができる。
【0079】
図5は、上述した動作を行うのに使用され得る例示的なコンピュータシステム500のブロック図である。システム500は、プロセッサ510、メモリ520、ストレージデバイス530、および入力/出力デバイス540を含む。構成要素510、520、530、および540はそれぞれ、たとえばシステムバス550を使用して、相互接続され得る。プロセッサ510は、システム500内で実行される命令を処理することができる。いくつかの実装形態においては、プロセッサ510は、シングルスレッドのプロセッサである。別の実装形態においては、プロセッサ510は、マルチスレッドのプロセッサである。プロセッサ510は、メモリ520内に、またはストレージデバイス530において記憶されている命令を処理することができる。
【0080】
メモリ520は、システム500内で情報を記憶する。1つの実装形態においては、メモリ520は、コンピュータ可読媒体である。いくつかの実装形態においては、メモリ520は、揮発性メモリユニットである。別の実装形態においては、メモリ520は、不揮発性メモリユニットである。
【0081】
ストレージデバイス530は、システム500にマスストレージを提供することができる。いくつかの実装形態においては、ストレージデバイス530は、コンピュータ可読媒体である。様々な異なる実装形態においては、ストレージデバイス530には、たとえば、ハードディスクデバイス、光ディスクデバイス、多数のコンピューティングデバイスによってネットワークを介して共有されるストレージデバイス(たとえば、クラウドストレージデバイス)、または他の何らかの大容量ストレージデバイスが含まれる。
【0082】
入力/出力デバイス540は、システム500に入力/出力動作を提供する。いくつかの実装形態においては、入力/出力デバイス540は、ネットワークインターフェースデバイス、たとえばイーサネットカード、シリアル通信デバイス、たとえばRS-232ポート、および/またはワイヤレスインターフェースデバイス、たとえば802.11カードのうちの1つまたは複数を含むことができる。別の実装形態においては、入力/出力デバイスは、入力データを受け取り、出力データを他の入力/出力デバイス、たとえば、キーボード、プリンタ、およびディスプレイデバイス560に送出するように構成されているドライバデバイスを含むことができる。しかしながら、モバイルコンピューティングデバイス、モバイル通信デバイス、セットトップボックステレビクライアントデバイスなどの他の実装形態もまた使用され得る。
【0083】
例示的な処理システムについて
図5で説明したが、本明細書に説明する主題および機能的動作の実装形態は、本明細書に開示される構造、およびそれらの構造的均等物を含む他のタイプのデジタル電子回路で、またはコンピュータソフトウェア、ファームウェア、もしくはハードウェアで、あるいはそれらのうちの1つまたは複数の組合せで実装され得る。
【0084】
本明細書に説明する主題および動作の実施形態は、本明細書に開示される構造、およびそれらの構造的均等物を含むデジタル電子回路で、またはコンピュータソフトウェア、ファームウェア、もしくはハードウェアで、あるいはそれらのうちの1つまたは複数の組合せで実装され得る。本明細書に説明する主題の実施形態は、1つまたは複数のコンピュータプログラム、すなわち、データ処理装置によって実行される、またはデータ処理装置の動作を制御するために、コンピュータストレージ媒体(または複数の媒体)において符号化されるコンピュータプログラム命令の1つまたは複数のモジュールとして実装され得る。代替として、または追加として、プログラム命令は、人工的に生成された伝播信号、たとえば、データ処理装置によって実行されるのに適切な受信機装置に送信するために情報を符号化するために生成されるマシン生成の電気信号、光信号、または電磁信号において符号化され得る。コンピュータストレージ媒体は、コンピュータ可読ストレージデバイス、コンピュータ可読ストレージ基板、ランダムまたはシリアルアクセスメモリアレイもしくはデバイス、あるいはそれらのうちの1つまたは複数の組合せであっても、それらの中に含められてもよい。その上、コンピュータストレージ媒体は伝播信号ではないが、コンピュータストレージ媒体が、人工的に生成された伝播信号において符号化されるコンピュータプログラム命令のソースまたは宛先とすることができる。コンピュータストレージ媒体はまた、1つまたは複数の別個の物理的構成要素または媒体(たとえば、多数のCD、ディスク、または他のストレージデバイス)であっても、またはそれらの中に含められてもよい。
【0085】
本明細書に説明する動作は、1つまたは複数のコンピュータ可読ストレージデバイスにおいて記憶され、または他のソースから受け取ったデータに関して、データ処理装置によって行われる動作として実装され得る。
【0086】
「データ処理装置(data processing apparatus)」という用語は、例として、プログラマブルプロセッサ、コンピュータ、システムオンチップ、または前述の複数のもの、もしくは組合せを含む、データを処理するためのすべての種類の装置、デバイス、およびマシンを包含する。装置は、専用の論理回路、たとえば、FPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)を含むことができる。装置はまた、ハードウェアに加えて、当該のコンピュータプログラムについての実行環境を創出するコード、たとえば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、クロスプラットフォームランタイム環境、仮想マシン、あるいはそれらのうちの1つまたは複数の組合せを構成するコードを含むこともできる。装置および実行環境は、ウェブサービス、分散型コンピューティングインフラストラクチャおよびグリッドコンピューティングインフラストラクチャなどの様々な異なるコンピューティングモデルインフラストラクチャを実現することができる。
【0087】
コンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプト、またはコードとしても知られている)は、コンパイル型またはインタープリータ型言語、宣言型または手続き型言語を含む任意の形態のプログラミング言語で記述され得、スタンドアロンプログラムとして、またはモジュール、コンポーネント、サブルーチン、オブジェクト、もしくはコンピューティング環境において使用するのに適している他のユニットとして、を含む任意の形態で展開され得る。コンピュータプログラムは、ファイルシステム内のファイルに対応し得るが、そうである必要はない。プログラムは、他のプログラムまたはデータ(たとえば、マークアップ言語文書において記憶されている1つまたは複数のスクリプト)を保持するファイルの一部分に、当該のプログラムに専用の単一のファイル内に、または多数の連携ファイル(たとえば、1つまたは複数のモジュール、サブプログラム、もしくはコード部分を記憶するファイル)内に記憶され得る。コンピュータプログラムは、1つのコンピュータ、または1つのサイトに位置する、もしくは多数のサイトにわたって分散され通信ネットワークによって相互接続されている多数のコンピュータにおいて実行されるように展開され得る。
【0088】
本明細書において説明するプロセスおよび論理フローは、1つまたは複数のプログラマブルプロセッサが、入力データに関して動作する、および出力を生成することによって行為を行うように1つまたは複数のコンピュータプログラムを実行することによって行うことができる。プロセスおよび論理フローはまた、専用の論理回路、たとば、FPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)によって行うことができ、装置はまた、専用の論理回路、たとば、FPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)として実装され得る。
【0089】
コンピュータプログラムの実行に適しているプロセッサは、例として、汎用マイクロプロセッサと専用のマイクロプロセッサとの両方を含む。概して、プロセッサは、読取り専用メモリもしくはランダムアクセスメモリまたはその両方から命令およびデータを受け取ることになる。コンピュータの基本要素は、命令に従って行為を行うためのプロセッサ、ならびに命令およびデータを記憶するための1つまたは複数のメモリデバイスである。概して、コンピュータはまた、データを記憶するための1つまたは複数のマスストレージデバイス、たとえば、磁気ディスク、光磁気ディスク、または光ディスクを含み、あるいはそれらの間でデータを受信もしくは転送またはその両方を行うように動作可能に結合されることになる。しかしながら、コンピュータは、そのようなデバイスを有する必要はない。その上、コンピュータは、別のデバイス、ほんのいくつか例を挙げると、たとえば、モバイル電話、パーソナルデジタルアシスタント(PDA)、モバイルオーディオもしくはビデオプレイヤ、ゲームコンソール、全地球測位システム(GPS)受信機、またはポータブルストレージデバイス(たとえば、ユニバーサルシリアルバス(USB)フラッシュドライブ)に埋め込まれていてもよい。コンピュータプログラム命令およびデータを記憶するのに適しているデバイスは、例として、半導体メモリデバイス、たとえば、EPROM、EEPROM、およびフラッシュメモリデバイス;磁気ディスク、たとえば、内部ハードディスクまたはリムーバルディスク;光磁気ディスク;ならびにCD-ROMおよびDVD-ROMディスクを含む、すべての形態の不揮発性メモリ、媒体、およびメモリデバイスを含む。プロセッサおよびメモリは、専用論理回路によって補完されても、またはその中に組み込まれていてもよい。
【0090】
ユーザとの対話を可能にするために、本明細に説明する主題の実施形態は、情報をユーザに表示するためのディスプレイデバイス、たとえば、CRT(陰極線管)またはLCD(液晶ディスプレイ)モニタ、およびユーザがコンピュータに入力を提供することができるキーボードおよびポインティングデバイス、たとえば、マウスまたはトラックボールを有するコンピュータにおいて実装され得る。他の種類のデバイスを使用して、同様にユーザとの対話を可能にすることができ、たとえば、ユーザに提供されるフォードバックは、任意の形態の感覚フィードバック、たとえば、視覚フィードバック、聴覚フィードバック、または触覚フィードバックとすることができ、ユーザからの入力は、音響、音声、または触覚入力を含む任意の形態で受け取ることができる。加えて、コンピュータは、ユーザによって使用されるデバイスとの間で文書を送受信することによって、たとえば、ウェブブラウザから受け取った要求に応答してユーザのクライアントデバイス上のウェブブラウザにウェブページを送出することによって、ユーザと対話することができる。
【0091】
本明細書に説明する主題の実施形態は、たとえばデータサーバとして、バックエンドコンポーネントを含む、またはミドルウェアコンポーネント、たとえばアプリケーションサーバを含む、またはフロントエンドコンポーネント、たとえばユーザが本明細書に説明する主題の実装形態と対話することができるグラフィカルユーザインターフェースもしくはウェブブラウザを有するクライアントコンピュータ、あるいは1つまたは複数のそのようなバックエンド、ミドルウェア、もしくはフロントエンドのコンポーネントの任意の組合せを含むコンピューティングシステムにおいて実装され得る。システムのコンポーネントは、任意の形態または媒体のデジタルデータ通信、たとえば通信ネットワークによって相互接続され得る。通信ネットワークの例には、ローカルエリアネットワーク(「LAN」)、および広域ネットワーク(「WAN」)、インターネットワーク(たとえば、インターネット)、およびピアツーピアネットワーク(たとえば、アドホックピアツーピアネットワーク)が挙げられる。
【0092】
コンピューティングシステムは、クライアントおよびサーバを含むことができる。クライアントとサーバは、概して、互いにリモートであり、典型的には、通信ネットワークを通じて対話する。クライアントとサーバとの関係は、それぞれのコンピュータにおいて動作する、および互いにクライアントとサーバの関係を有するコンピュータプログラムにより生じる。いくつかの実施形態においては、サーバは、データ(たとえば、HTMLページ)をクライアントデバイスに(たとえば、クライアントデバイスと対話するユーザにデータを表示し、ユーザからユーザ入力を受け取る目的で)送信する。クライアントデバイスにおいて生成されるデータ(たとえば、ユーザ対話の結果)は、クライアントデバイスからサーバにおいて受信され得る。
【0093】
本明細書は、多くの特定の実装形態の詳細を含んでいるが、これらは、いずれの発明または特許請求され得る範囲に対する限定として見なすべきでなく、むしろ、特定の発明の特定の実施形態に固有の特徴の説明として見なすべきである。別個の実施形態の文脈において本明細書に説明される特定の特徴はまた、単一の実施形態において組合せで実装され得る。逆に、単一の実施形態の文脈で説明される様々な特徴もまた、多数の実施形態において別個に、または任意の適切な部分的組合せで実装され得る。その上、特徴は、特定の組合せで機能すると上述され得、さらには最初はそのようなものとして特許請求され得るが、特許請求された組合せから1つまたは複数の特徴が、いくつかの場合において、組合せから削除されてもよく、特許請求された組合せが、部分的組合せまたは部分的組合せの変形形態を対象とすることもある。
【0094】
同様に、動作は、特定の順序で図面に示されているが、そのような動作を示されている特定の順序でもしくは順番で行うこと、または例示したすべての動作を望ましい結果を達成するために行うことを要求していると理解すべきではない。特定の状況においては、マルチタスキングおよび並列処理が有利である場合がある。その上、上述した実施形態における様々なシステムコンポーネントの分離は、すべての実施形態においてそのような分離を要求していると理解すべきでなく、説明したプログラムコンポーネントおよびシステムが、概して、単一のソフトウェア製品において一緒に統合されても、または多数のソフトウェア製品にパッケージ化されてもよいことを理解すべきである。
【0095】
このように、主題の特定の実施形態について説明してきた。他の実施形態は、添付の特許請求の範囲内にある。いくつかの場合においては、特許請求の範囲に記載された行為は、異なる順序で行っても、望ましい結果を達成することができる。加えて、添付の図に示されているプロセスは、望ましい結果を達成するために、示されている特定の順序、または順番を必ずしも要求しているわけではない。特定の実装形態においては、マルチタスキングおよび並列処理が有利である場合がある。
【符号の説明】
【0096】
100 環境
105 データ通信ネットワーク、ネットワーク
110 クライアントデバイス
112 アプリケーション
113 デバイスプラットフォーム
114 同意管理モジュール
115 推薦エンジン
116 同意管理ユーザインターフェース、ユーザインターフェース
117 同意ストレージユニット
120 要求
122 認証トークン
129 デジタルコンポーネント
130 パブリッシャ
140 ウェブサイト
145 リソース
150 デジタルコンポーネント配信システム
157 デジタルコンポーネントパートナ
160 デジタルコンポーネントプロバイダ
170 同意管理プロバイダシステム
171 クエリ
173 更新
200、300、400 プロセス
500 コンピュータシステム、システム
510 プロセッサ
520 メモリ
530 ストレージデバイス
540 入力/出力デバイス
550 システムバス