本明細書のいずれのブロック図も、本主題の原理を実現する例示的なシステムの概念図を表すことが当業者には認識されよう。同様に、いずれのフローチャート、流れ図、状態遷移図、および擬似コードなども、コンピュータ可読媒体において実質的に表されることが可能であり、したがって、コンピュータまたはプロセッサによって、そのようなコンピュータまたはプロセッサが明示されるか否かに関わらず、実行されることが可能である様々なプロセスを表すことも認識されよう。
本主題は、推奨サービスにおけるプライバシー保護に関する。推奨サービスにおけるエンド・ユーザのプライバシー保護と関係するシステムおよび方法が、本明細書で説明される。一実施形態において、本主題は、自らのクライアント・デバイスを使用して、ネットワークを介してサービス・プロバイダによって推奨されるサービスを利用する、またはコンテンツを閲覧するエンド・ユーザの機密情報および個人情報を保護するプライバシー保護のためのシステムおよび方法を開示する。
従来、サービス・プロバイダは、ビデオ、オーディオ、ニュースなどのコンテンツを提供するサービスなどのサービスを、エンド・ユーザの選好および選択に基づいて、個人向け設定しようと試みる。この目的で、サービス・プロバイダは、エンド・ユーザの過去のアクション、またはそれらのエンド・ユーザと類似した関心を有すると識別されている他のユーザによる過去の選好に基づく、エンド・ユーザの関心を引く可能性があるサービス、コンテンツ、または製品を推奨するコンテンツ・ベースの推奨、および/または協調的推奨などの技法を使用する。
例えば、従来のコンテンツ・ベースの推奨アプローチにおいて、エンド・ユーザ、例えば、ユーザAが、或る特定の著者によって書かれた本を購入している場合、サービス・プロバイダは、同一の著者によって書かれた他の本、または同一の主題、もしくは関連する主題などについての他の本を購入するようにユーザAに示唆することが可能である。
別の従来のアプローチ、すなわち、協調的推奨アプローチにおいて、サービス・プロバイダは、エンド・ユーザと類似した関心プロファイルを有する可能性がある他のエンド・ユーザを特定し、さらにそれらの他のエンド・ユーザによって選好されたコンテンツまたは製品をエンド・ユーザ・サービスに推奨する。この目的で、複数のエンド・ユーザの関心プロファイルの作成、およびこれらのエンド・ユーザの関心プロファイルをマッチングして、類似した関心を有するエンド・ユーザの関心グループを確かめることが、従来知られている方法を使用して実行される。当技術分野で従来知られている詳細は、簡略にするため省略する。
例えば、エンド・ユーザ、例えば、ユーザBが、アドベンチャ・スポーツに関心がある場合、サービス・プロバイダは、アドベンチャ・スポーツにやはり関心がある他のエンド・ユーザを探し出そうと試みる。アドベンチャ・スポーツに関心があるそれらの他のユーザのいずれかが、任意の活動を実行した場合、サービス・プロバイダは、ユーザBがその活動に関心を明確に表明していない可能性があっても、同一の活動を実行するようユーザBに示唆する。この従来のアプローチは、類似した関心プロファイル、すなわち、類似した関心を有するエンド・ユーザは、高い確率で同一の個人的選好を有するものと想定する。
サービス・プロバイダによって実施される従来の技法は、エンド・ユーザの個人的選好、個人的選択などと関係する情報の収集を要求する。従来、サービス・プロバイダは、エンド・ユーザのクライアント・デバイス上に格納されたログ・ファイル、アプリケーション履歴ファイル、または他の個人的に識別可能な情報を解析することによるなど、様々な手段を介してエンド・ユーザに関係する情報をモニタし、さらに収集する。別の従来の技法において、サービス・プロバイダは、ハイパーテキスト転送プロトコル(http)クッキーなどのテキスト・ファイルを保存して、エンド・ユーザに関係する情報を収集することが可能である。例えば、ウェブ・ポータルが、エンド・ユーザのウェブ・ブラウザのhttpクッキーを保存して、フォント・サイズ、ディスプレイ・ウィジェットの配置などのエンド・ユーザの選好を格納することが可能である。さらに、httpクッキーは、エンド・ユーザのブラウジングの詳細を格納し、さらにこれらの詳細をウェブ・ポータルに送信することも可能である。
このため、エンド・ユーザの個人的選択に基づいて、エンド・ユーザに推奨サービスまたは個人向け設定されたコンテンツ、サービス、もしくは商品を提供しようとして、サービス・プロバイダは、エンド・ユーザの活動に関係する情報を、しばしば、モニタし、さらに収集する。いくつかの状況において、サービス・プロバイダによって収集された情報に基づいてエンド・ユーザを識別することが可能になる。このことは、エンド・ユーザの個人情報または機密情報を漏らすことになる可能性があり、さらにエンド・ユーザを、潜在的なプライバシー侵害にさらす、またはエンド・ユーザを、広告業者もしくはスパム送信者のターゲットにする可能性がある。さらに、極端な事例において、エンド・ユーザは、なりすまし犯罪、クレジット・カード詐欺などの様々な犯罪の犠牲者となり得る。
本主題は、クライアント・デバイスを使用して、推奨サービス、すなわち、直接に、またはネットワークを介してサービス・プロバイダによって提供される個人向け設定された、またはカスタマイズされたコンテンツ、サービス、または製品を利用する推奨を利用するエンド・ユーザのプライバシー保護のための方法およびシステムを開示する。これらのシステムおよび方法は、様々なコンピューティング・デバイスにおいて実施され得る。一実施形態において、推奨サービスのためのプライバシー保護システムが、複数のクライアント・デバイスと、プライバシー保護ミドルウェア・システムとを含む。
一実施形態において、プロファイル生成モジュールが、エンド・ユーザのクライアント・デバイスにインストールされる。そのようなクライアント・デバイスの例には、メインフレーム・コンピュータ、ワークステーション、パーソナル・コンピュータ、デスクトップ・コンピュータ、ミニコンピュータ、サーバ、マルチプロセッサ・システム、およびラップトップなどのコンピューティング・デバイス、携帯情報端末、スマートフォン、モバイル電話機などのセルラ通信デバイスが含まれるが、以上には限定されない。プロファイル生成モジュールは、ソフトウェア・ツール、ファームウェア、アプリケーション・プラグインなどとして実施されることが可能である。プロファイル生成モジュールは、エンド・ユーザの個人的選択または個人的選好に基づいて、エンド・ユーザの関心プロファイルを生成する。一実装形態において、プロファイル生成モジュールは、アプリケーション・プログラミング・インターフェース(API)を介して様々なアプリケーションと対話して、個人的選択および個人的選好を特定することが可能である。例えば、プロファイル生成モジュールは、エンド・ユーザによって再生されたビデオ・ファイルおよびオーディオ・ファイルに関するメディア・プレーヤから情報を獲得してもよく、またはプロファイル生成モジュールは、ウェブ・ブラウザからエンド・ユーザのブラウジング履歴を獲得してもよいといった具合である。一実施形態において、プロファイル生成モジュールは、エンド・ユーザに関係する情報をキー/値ペアのセットとして格納することが可能であり、ただし、このキーは、アイテム、またはアイテムに関連するカテゴリもしくはタグを格納する。例えば、ウェブサイト、曲、ビデオなどのアイテムに関連するメタデータが、キーとして格納される。同時に、キーに対応する値も格納される。この値は、対応するキーに対するエンド・ユーザの関心レベルを示す。
キー/値ペアの様々なセットが、エンド・ユーザのクライアント・デバイス上で実行されているグループ・アイデンティティ計算モジュールによってアクセスされる。グループ・アイデンティティ計算モジュールは、キー/値ペアの様々なセットを解析して、エンド・ユーザが属する確度の高いグループを特定する。例えば、一実装形態において、グループ・アイデンティティ計算モジュールは、キー/値ペアの様々なセットに基づいて、メタタグを生成することが可能である。これらのメタタグが、関心グループの事前定義されたリストと比較されることが可能であり、さらにエンド・ユーザが属するグループを示すグループ・アイデンティティ(id)が特定されることが可能である。類似した、または同一の関心を有するエンド・ユーザは、局所性鋭敏型ハッシュ(LSH)技法または意味論ベースのクラスタ化などの従来の技法を使用して同一のグループに分類される。さらに、エンド・ユーザは、1つまたは複数の関心グループに分類されてもよい。例えば、アイテムXおよびYに関心のあるエンド・ユーザCが、例えば、グループid100で表されるグループに分類されることが可能であり、アイテムX、Y、およびZに関心のある別のエンド・ユーザ、ユーザDが、例えば、グループid100および200で表される2つの関心グループに分類されることが可能である。プロファイル生成モジュールおよびグループ・アイデンティティ計算モジュールによって行われるすべての処理、およびその処理の結果として生成されるデータは、エンド・ユーザのクライアント・デバイスの外部には送信されないことを認識されたい。
エンド・ユーザのクライアント・デバイスは、直接に、またはネットワークを介してプライバシー保護ミドルウェア・システムに接続される。一実施形態において、プライバシー保護ミドルウェア・システムは、1つまたは複数のワークステーション、パーソナル・コンピュータ、デスクトップ・コンピュータ、マルチプロセッサ・システム、ラップトップ、ネットワーク・コンピュータ、ミニコンピュータ、サーバなどであることが可能である。別の実施形態において、プライバシー保護ミドルウェア・システムは、1つまたは複数のクライアント・デバイスのコンピューティング・リソースに関係のあるノードなどの、複数のノードを備えることが可能であり、さらにプライバシー保護ミドルウェア・システムは、グリッド・コンピューティング環境またはクラウド・コンピューティング環境において実施される。さらに別の実施形態において、プライバシー保護ミドルウェア・システムは、任意のエンド・ユーザ、例えば、ユーザMのクライアント・デバイスにおいて、ユーザMのクライアント・デバイスに他のエンド・ユーザが、直接に、またはピア・ツー・ピア(P2P)ネットワークなどのネットワークを介してノードとして接続されて、実施されることも可能である。さらに、プライバシー保護ミドルウェア・システムは、結託しない1つまたは複数のサード・パーティによって提供される(donated)、またはホストされるノード上で実行されることも可能である。
エンド・ユーザのクライアント・デバイスのグループ・アイデンティティ計算モジュールは、エンド・ユーザの関心プロファイルを、プライバシー保護ミドルウェア・システムのグループ集約モジュールに送信する。プライバシー保護ミドルウェア・システムに関してエンド・ユーザの匿名性を確実にするのに、一実施形態において、グループ・アイデンティティ計算モジュールは、プロファイル・スライシング技法を使用することが可能である。プロファイル・スライシングにおいて、グループ・アイデンティティ計算モジュールは、プロファイル情報、すなわち、エンド・ユーザの関心プロファイルに関連する情報を、複数の小さいセグメントでプライバシー保護ミドルウェア・システムに送信する。グループ・アイデンティティ計算モジュールは、セグメントがそれ自体では、エンド・ユーザを識別するように解析され得ないように複数のセグメントにエンド・ユーザのプロファイルをスライスするように構成される。さらに、各関心プロファイルは、セグメント化されるので、プライバシー保護ミドルウェア・システムは、プロファイル情報をいくつかの部分で受信し、複数のセグメントを統合して、完全なプロファイルを導き出すことができず、このため、クライアント・デバイスにおけるプロファイル・プライバシーが保たれる。
さらに、プライバシー保護ミドルウェア・システムは、クライアント・デバイスが識別不能であることを確実にするようにプロファイル情報を匿名で受信する。一実施形態において、プライバシー保護ミドルウェア・システムに、セグメントで、または完全に送信されるプロファイル情報は、そのプロファイル情報を送信したクライアント・デバイスに結び付けることができない。このことがやはり、プライバシー保護ミドルウェア・システムが、エンド・ユーザの関心プロファイルにアクセスを全く有さないことを確実にする。別の実装形態において、グループ・アイデンティティ計算モジュールは、エンド・ユーザと関係する情報を、オニオン・ルーティングを使用してプライバシー保護ミドルウェア・システムに送信する。オニオン・ルーティングは、ネットワークを介する匿名の通信のための技法である。オニオン・ルーティング技法において、データ・パケットは、繰り返し暗号化され、さらに、その後、オニオン・ルータと呼ばれるいくつかのネットワーク・ノードを介して送信される。各オニオン・ルータは、暗号化の層を取り除いて、ルーティング命令をあらわにし、さらにデータ・パケットを次のルータに送信して、そのルータでこのことが繰り返される。前記実装形態は、プロファイル情報を送信するクライアント・デバイスが、プライバシー保護ミドルウェア・システムに関して識別不能であることを確実にする。一実施形態において、グループ・アイデンティティ計算モジュールは、プロファイル・スライシングとオニオン・ルーティングの両方を使用して、エンド・ユーザがグループ集約モジュールによって識別されないことを確実にすることができる。
プライバシー保護ミドルウェア・システムは、プライバシー保護ミドルウェア・システムに結合された複数のクライアント・デバイスの複数のグループ・アイデンティティ計算モジュールによって送信された情報を格納する。グループ集約モジュールは、その情報を解析し、さらにグループ・アイデンティティ計算モジュールによって送信されたキー/値ペアを校合する。例えば、グループ集約モジュールは、或る特定のグループに属するすべてのエンド・ユーザの関心を、従来の技法に基づいてその特定のグループに属するエンド・ユーザらから獲得されたキーを校合することによって、匿名で集約することが可能である。この校合に基づいて、プライバシー保護ミドルウェア・システムは、グループ内の選好されるコンテンツ、製品、またはサービスを特定する。例えば、一実装形態において、プライバシー保護ミドルウェア・システムは、人気度グラフを生成して、グループ内の或る事前定義された数の選好されるコンテンツ、製品、またはサービスを特定することが可能である。
プライバシー保護ミドルウェア・システムは、直接に、またはネットワークを介して1つまたは複数のサービス・プロバイダに接続される。一実装形態において、グループ集約モジュールは、1つまたは複数の関心グループ内で或る数の選好されるコンテンツ、製品、またはサービスに関心がある1名または複数名のエンド・ユーザを、サービス・プロバイダに対してエミュレートする。前記実装形態において、グループ集約モジュールは、コンテンツ、製品、またはサービスの点で1つまたは複数の関心グループの選好される関心をサービス・プロバイダに通信することができる。これに応答して、サービス・プロバイダは、コンテンツまたは製品またはサービスなどに関する推奨のリストを戻すことが可能である。
別の実施形態において、グループ集約モジュールは、1つまたは複数の関心グループの選好されるアイテム、または1つまたは複数の関心グループのメンバであるエンド・ユーザらのコンテンツまたは製品またはサービスのリスト全体を消費するエンド・ユーザを装うことによって、サービス・プロバイダとシームレスに対話する。サービス・プロバイダは、グループ集約モジュールを、エンド・ユーザをプロファイリングするのと同様にプロファイリングすることが可能であり、さらに推奨を生成する。
プライバシー保護ミドルウェア・システムによって獲得された推奨は、エンド・ユーザに伝えられる。一実装形態において、プライバシー保護システムからクライアント・デバイスへの情報の伝送中にプライバシーの侵害がないことを確実にするために従来の技法が実施されることが可能である。つまり、グループ集約モジュールが、推奨が送信されるクライアント・デバイスを認識していないことが確実にされる。一実装形態において、エンド・ユーザのクライアント・デバイス上で実行されているローカル推奨モジュールが、匿名のルックアップとも呼ばれる、利用できる推奨がないかプライバシー保護ミドルウェア・システムに定期的に確認をとることを行うように構成されてもよい。別の実装形態において、プライバシー保護ミドルウェア・システムは、エンド・ユーザらが分類されている関心グループに基づいて獲得された新たな推奨を、ローカル推奨モジュールにプッシュすることによって、新たな推奨を匿名で公開するように構成されることが可能である。
エンド・ユーザのクライアント・デバイス上で実行されるローカル推奨モジュールが、プライバシー保護ミドルウェア・システムから受信された推奨を解析し、さらにエンド・ユーザによって既に閲覧されている、または利用されているコンテンツ、サービス、または製品をフィルタリングし、さらにフィルタリングされた推奨、またはカスタマイズされた推奨をエンド・ユーザに提示する。一実装形態において、ローカル推奨モジュールは、エンド・ユーザの関心プロファイルに基づいて、プライバシー保護ミドルウェア・システムから受信された推奨をフィルタリングして、フィルタリングされた推奨を導き出すことが可能である。このため、プライバシー保護ミドルウェア・システムは、慎重な扱いを要する、または機密の個人情報を明かすことなしに、エンド・ユーザが様々な個人向け設定されたサービス/コンテンツを利用することを円滑にする。
この説明およびこれらの図は、本主題の原理を例示するにすぎないことに留意されたい。このため、当業者は、本明細書で明示的に説明されることも、図示されることがなくても、本主題の原理を実現するとともに、本主題の趣旨および範囲に含まれる様々な構成を考案することができることが認識されよう。さらに、本明細書に記載されるすべての例は、主に、本主題の原理、および当技術分野を進展させることに寄与する本発明者(ら)による概念を理解するのを助ける教育的な目的のためにすぎないことを明確に意図しており、そのような特別に記載される例および条件に限定されないものと解釈されるべきである。さらに、本主題の原理、態様、および実施形態、ならびにこれらの特定の実装形態を記載する本明細書におけるすべての言明は、これらの均等形態を包含することを意図している。
本明細書で使用される、「〜中に」、「〜の間」、および「〜の際」という語は、開始するアクションが行われると即時に行われるアクションを意味する厳密な用語ではなく、初期アクションから、初期アクションによって開始された反応までの間に、伝播遅延などの何らかの小さいが、それなりの遅延が存在する可能性があることを意味する用語であることが当業者には認識されよう。
図1は、本主題の或る実施形態による、推奨サービスのためのプライバシー保護システム102のネットワーク環境100の実装形態を示す。本明細書で説明されるプライバシー保護システム102は、ルータ、ブリッジ、サーバ、コンピューティング・デバイス、ストレージ・デバイスなどを含む様々なネットワーク・デバイスを備える任意のネットワーク環境において実施されることが可能である。一実装形態において、プライバシー保護システム102は、プライバシー保護ミドルウェア・システム104と、1つまたは複数のシン・クライアント(図示せず)とを含む。プライバシー保護ミドルウェア・システム104は、ラップトップ・コンピュータ、デスクトップ・コンピュータ、ノートブック、ワークステーション、メインフレーム・コンピュータ、サーバなどの様々なコンピューティング・デバイスとして実施されることが可能である。
プライバシー保護ミドルウェア・システム104は、通信ネットワーク106を介して1つまたは複数のシン・クライアントに接続される。シン・クライアントは、以降、クライアント・デバイス108と呼ばれる、様々なクライアント・デバイス108−1、108−2、108−3、…、108−N上で実行されるアプリケーションまたは機能モジュールであることを認識されたい。クライアント・デバイス108は、サービス・プロバイダ110によって提供されるサービスを利用するのに、またはサービス・プロバイダ110によって提供されるコンテンツを閲覧するのにエンド・ユーザによって使用される。クライアント・デバイス108には、ラップトップ・コンピュータ、デスクトップ・コンピュータ、ノートブック、モバイル電話機、携帯情報端末、ワークステーション、メインフレーム・コンピュータ、セットトップ・ボックス、メディア・プレーヤなどのコンピューティング・デバイスが含まれることが可能である。クライアント・デバイス108は、エンド・ユーザが、直接に、または通信ネットワーク106を介して、プライバシー保護ミドルウェア・システム104を相手に情報を交換することを円滑にする。通信ネットワーク106は、ワイヤレス・ネットワークであっても、有線ネットワークであっても、ワイヤレス・ネットワークと有線ネットワークの組合せであってもよい。通信ネットワーク106は、互いに接続され、さらに大きい単一のネットワーク、例えば、インターネットまたはイントラネットとして機能する個々のネットワークの組合せであり得る。通信ネットワーク106は、ローカル・エリア・ネットワーク(LAN)、ワイド・エリア・ネットワーク(WAN)、インターネット、イントラネット、ピア・ツー・ピア・ネットワーク、および仮想プライベート・ネットワーク(VPN)を含む任意の公共ネットワークまたはプライベート・ネットワークであることが可能であり、さらにルータ、ブリッジ、サーバ、コンピューティング・デバイス、ストレージ・デバイスなどの様々なネットワーク・デバイスを含むことが可能である。プライバシー保護ミドルウェア・システム104は、直接に、または通信ネットワーク106を介してサービス・プロバイダ110に接続される。
動作の際、エンド・ユーザの活動に基づくエンド・ユーザの関心プロファイルが、生成され、さらにローカルで保存される。例えば、エンド・ユーザの関心プロファイルは、エンド・ユーザに対応するプロファイル情報に基づいて生成されることが可能である。プロファイル情報は、例えば、エンド・ユーザが訪れたウェブサイト、エンド・ユーザによって再生された、またはダウンロードされた曲またはビデオ、エンド・ユーザによって使用された製品、または利用された、もしくはレビューが行われたサービスを示すことが可能である。生成された関心プロファイルに基づいて、クライアント・デバイスは、エンド・ユーザを事前定義された1つまたは複数の関心グループに分類する。関心グループは、類似した関心および選択を共有するエンド・ユーザのグループと理解されてもよい。
エンド・ユーザに関して識別された、事前定義された関心グループのうちの1つまたは複数に基づいて、クライアント・デバイス108は、エンド・ユーザに対応する関係のあるプロファイル情報を、プライバシー保護ミドルウェア・システム104の1つまたは複数のグループ・アグレゲータ・モジュール112に送信する。例えば、プロファイル情報に基づいて、エンド・ユーザは、映画、スポーツ、および電子書籍などのいくつかの関心グループに分類されていることが可能である。そのような状況において、映画に関係のある任意のエンド・ユーザのプロファイル情報が、映画関心グループ・アグレゲータに関連するグループ・アグレゲータ・モジュール112に送信されることが可能である一方で、スポーツおよび電子書籍に関係のあるプロファイル情報が、スポーツおよび電子書籍にそれぞれ関連するスポーツ関心グループ・アグレゲータおよび電子書籍関心グループ・アグレゲータ(図示せず)に送信されることが可能である。明白なとおり、グループ・アグレゲータ・モジュール112は、複数の関心グループ・アグレゲータを含むことが可能であり、各関心グループ・アグレゲータは、1つの関心グループに関連する。図示される実施形態では、様々な関心グループ・アグレゲータがグループ・アグレゲータ・モジュール112内に統合されるものの、他の様々な実施形態において、そのような関心グループ・アグレゲータは、1つまたは複数のコンピューティング・デバイス上に実装される別々のモジュールであってもよいことが認識されよう。
クライアント・デバイス108は、関心グループのうちの1つまたは複数に関係のあるプロファイル情報を、本明細書において後段で説明する様々な技術を使用してエンド・ユーザのプライバシーを漏らすことなしに、グループ・アグレゲータ・モジュール112に送信する。グループ・アグレゲータ・モジュール112は、各関心グループに関係のあるエンド・ユーザのプロファイル情報を校合する。すると、各関心グループに属するエンド・ユーザらによって利用されるサービスの選好されるカテゴリが特定され、さらにサービス・プロバイダ110に供給されて、サービス・プロバイダ110から推奨が獲得される。これらの推奨は、コンテンツ・ベースの推奨、協調的推奨などの従来の技法に基づいてサービス・プロバイダ110によって生成される。このため、エンド・ユーザらが、サービス・プロバイダ110と直接にインターフェースをとって推奨サービスを利用する代わりに、グループ・アグレゲータ・モジュール112が、或る関心プロファイルを有するエンド・ユーザら、またはエンド・ユーザのグループをサービス・プロバイダ110に提示し、さらに推奨サービスを利用して、グループ・アグレゲータ・モジュール112に関連するエンド・ユーザらのプライバシーを確実にする。
クライアント・デバイス108は、プライバシー保護ミドルウェア・システム104から推奨されるサービスを受信する。本明細書において後段で説明される様々な技法を使用して、プライバシー保護ミドルウェア・システム104が、推奨されるサービスが転送される特定のクライアント・デバイス108を認識していないことが確実にされる。一実装形態において、クライアント・デバイス108は、エンド・ユーザのためのサービスのカスタマイズされた推奨を生成するように、それらのエンド・ユーザに対応する関心プロファイルに基づいて、受信された推奨されるサービスをさらに処理するように構成されることが可能である。クライアント・デバイス108およびプライバシー保護ミドルウェア・システム104の実施の詳細は、本明細書において後段で図2に関連して説明されている。
プライバシー保護システム102は、サービス・プロバイダ110にエンド・ユーザらの機密プロファイル情報を開示することなしに、エンド・ユーザらが個人向け設定された推奨を利用することができるようにする。さらに、プライバシー保護システム102は、エンド・ユーザらのプライバシーを漏らすことなしに、サード・パーティ・コンテンツおよび推奨注入をサポートする。
図2は、例示的なプライバシー保護システム102を示す。前述したとおり、一実装形態において、プライバシー保護システム102は、本主題の或る実施形態によれば、プライバシー保護ミドルウェア・システム104と、クライアント・デバイス108とを含む。一実施形態において、クライアント・デバイス108は、クライアント・プロセッサ202−1と、クライアント・プロセッサ202−1に接続されたクライアント・メモリ204−1とを含む。一実装形態において、プライバシー保護ミドルウェア・システム104は、ミドルウェア・プロセッサ202−2と、ミドルウェア・プロセッサ202−2に接続されたミドルウェア・メモリ204−2とを含む。クライアント・プロセッサ202−1とミドルウェア・プロセッサ202−2は、ひとまとめにしてプロセッサ202と呼ばれ、さらにクライアント・メモリ204−1とミドルウェア・メモリ204−2は、ひとまとめにしてメモリ204と呼ばれる。
プロセッサ202には、マイクロプロセッサ、マイクロコンピュータ、マイクロコントローラ、デジタル・シグナル・プロセッサ、中央処理装置、状態マシン、論理回路、および/または動作命令に基づいて信号およびデータを操作する他の任意のデバイスが含まれることが可能である。プロセッサ202は、単一の処理ユニット、またはすべてが複数のコンピューティング・ユニットを含むことも可能ないくつかのユニットであることが可能である。プロセッサ202は、他の能力もあるが、とりわけ、メモリ204の中に格納されたコンピュータ可読命令をフェッチし、さらに実行するように構成される。
「プロセッサ」というラベルが付けられた任意の機能ブロックを含め、図に示される様々な要素の機能は、専用のハードウェア、ならびに適切なソフトウェアに関連してソフトウェアを実行することができるハードウェアの使用を介して提供されることが可能である。プロセッサによって提供される場合、これらの機能は、単一の専用プロセッサによって提供されても、単一の共有されるプロセッサによって提供されても、いくつかが共有され得る複数の個別のプロセッサによって提供されてもよい。さらに、「プロセッサ」という用語が明示的に使用されることは、専ら、ソフトウェアを実行することができるハードウェアだけを指すと解釈されるべきではなく、限定なしに、デジタル・シグナル・プロセッサ(DSP)ハードウェア、ネットワーク・プロセッサ、特定用途向け集積回路(ASIC)、フィールド・プログラマブル・ゲート・アレイ(FPGA)、ソフトウェアを格納するための読み取り専用メモリ(ROM)、ランダム・アクセス・メモリ(RAM)、および不揮発性ストレージを暗黙に含み得る。また、従来のさらに/またはカスタムのハードウェアが含められることも可能である。
メモリ204は、例えば、RAMなどの揮発性メモリ、および/またはフラッシュなどの不揮発性メモリを含め、当技術分野で知られている任意のコンピュータ可読媒体を含むことが可能である。クライアント・デバイス108のクライアント・メモリ204−1は、第1のセットのモジュール206−1と、第1のデータ208−1とをさらに含む。同様に、プライバシー保護ミドルウェア・システム104のミドルウェア・メモリ204−2は、第2のセットのモジュール206−2と、第2のデータ208−2とを含む。第1のセットのモジュール206−1および第2のセットのモジュール206−2には、特定のタスクを実行する、または特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、構成要素、データ構造などが含まれる。
他方、クライアント・デバイス108は、とりわけ、第1のセットのモジュール206−1のうちの1つまたは複数によって処理されたデータ、受信されたデータ、関連付けられたデータ、および生成されたデータを格納するためのリポジトリの役割をする第1のデータ208−1を含む。第1のデータ208−1は、例えば、ユーザ関心プロファイル・データ210、コンテンツ・データ212、および他のデータ214−1を含む。他のデータ214−1には、第1のセットのモジュール206−1のなかの1つまたは複数のモジュールの実行の結果として生成されたデータおよび一時的情報が含まれることが可能である。
プライバシー保護ミドルウェア・システム104は、とりわけ、第2のセットのモジュール206−2のうちの1つまたは複数によって処理されたデータ、受信されたデータ、関連付けられたデータ、および生成されたデータを格納するためのリポジトリの役割をする第2のデータ208−2を含む。第2のデータ208−2は、例えば、グループ・アイデンティティ・データ216、規則データ218、および他のデータ214−2を含む。他のデータ214−2には、第2のセットのモジュール206−2のなかの1つまたは複数のモジュールの実行の結果として生成されたデータおよび一時的情報が含まれることが可能である。
さらに、プライバシー保護ミドルウェア・システム104とクライアント・デバイス108はともに、1つまたは複数のインターフェース(図示せず)を含む。これらのインターフェースには、様々なソフトウェア・インターフェースおよびハードウェア・インターフェース、例えば、入出力デバイス、ストレージ・デバイス、ネットワーク・デバイスと呼ばれるデータ入出力デバイスなどの周辺デバイスのためのインターフェースが含まれることが可能である。これらの入出力デバイスには、ユニバーサル・シリアル・バス(USB)ポート、イーサネット・ポート、ホスト・バス・アダプタなど、ならびにこれらに対応するデバイス・ドライバが含まれることが可能である。これらのインターフェースは、通信ネットワーク106などの様々なネットワーク、ならびに様々な通信デバイスおよびコンピューティング・デバイスを相手にしたプライバシー保護ミドルウェア・システム104およびクライアント・デバイス108の通信を円滑にする。
一実装形態において、クライアント・デバイス108は、関心プロファイル生成モジュール220を含む。関心プロファイル生成モジュール220は、クライアント・デバイス108のエンド・ユーザの関心プロファイルを、エンド・ユーザの活動、またはサービスの消費履歴に基づいて生成するように構成される。一実装形態において、関心プロファイル生成モジュール220は、エンド・ユーザによって閲覧されたコンテンツ、または利用されたサービスを解析して、キー/値ペアのセットを生成することが可能である。一実装形態において、キー/値ペアのセットのキーは、コンテンツまたはサービスに関連する1つまたは複数の分類名またはタグまたはメタデータを格納し、キー/値ペアのセットの値は、キーによって表されるコンテンツまたはサービスに対するエンド・ユーザの関心レベルを示す重み付け(weightage)を格納する。
例えば、サービス・プロバイダ110、例えば、ビデオ・オンデマンド(VoD)ポータルが、ビデオ・ファイルなどの各コンテンツ・アイテムをそのコンテンツ・アイテムのメタデータに関連付けることが可能である。このメタデータは、そのビデオ・ファイルの題名、および/またはアーティスト、および/またはジャンル、および/またはそのビデオ・ファイルを説明するキーワード/タグなどを含むことが可能である。関心プロファイル生成モジュール220が、エンド・ユーザによって再生されたビデオ・ファイルに関連付けられたメタデータを解析し、さらにキー/値ペアのセットを生成し、キーは、そのビデオ・ファイルに関連付けられたメタデータを格納し、さらに値は、そのビデオ・ファイルに対するエンド・ユーザの関心レベルを示す。
別の実装形態において、コンテンツは、ウェブ・ページであることが可能である。関心プロファイル生成モジュール220が、そのウェブ・ページを解析して、そのウェブ・ページに関連付けられたメタデータを生成するようにすることが可能である。例えば、関心プロファイル生成モジュール220が、そのウェブ・ページのユニフォーム・リソース・ロケータ(URL)を解析して、そのウェブ・ページに関連付けられたメタデータを生成することが可能である。さらに、関心プロファイル生成モジュール220は、そのウェブ・ページのソース・テキストを解析することによって、「タイトル」、「メタ」などの1つまたは複数のハイパーテキスト・マークアップ言語(HTML)タグを解析して、メタデータを生成するように構成されてもよい。さらに、関心プロファイル生成モジュール220は、いくつかのHTMLタグに他のいくつかのHTMLタグより大きい重み付けが割り当てられることが可能である、さらなる正規化技法を実行することも可能である。そのように生成されたメタデータに基づいて、関心プロファイル生成モジュール220は、そのエンド・ユーザに関するキー/値ペアのセットを生成することが可能である。キー/値ペアのセットのキーは、コンテンツ・タイトルの名前または題名、ならびにそのコンテンツを特徴付けるジャンルまたはタグなどのメタデータを格納することが可能であることが当業者には認識されよう。
別の実装形態において、関心プロファイル生成モジュール220は、「アイテム・カテゴリ、アイテム・リスト、および値」のトリプレットを生成するように構成されることが可能であり、アイテム・カテゴリは、コンテンツまたはサービスに関連付けられたカテゴリまたはメタデータを表し、さらにアイテム・リストは、コンテンツ名またはコンテンツ・タイトルを示し、さらに値は、エンド・ユーザの関心レベルを示す。関心プロファイル生成モジュール220は、キー/値ペアのセット、または「アイテム・カテゴリ、アイテム・リスト、および値」のトリプレットを統合して、ユーザ関心プロファイル・データ210として保存されるエンド・ユーザの関心プロファイルを生成する。
グループ・アイデンティティ計算モジュール222が、エンド・ユーザの関心プロファイルを解析する。この解析に基づいて、グループ・アイデンティティ計算モジュール222は、エンド・ユーザを、類似した関心を有するエンド・ユーザらを備える事前定義された1つまたは複数の関心グループに分類することを、エンド・ユーザの関心プロファイルを、事前定義された1つまたは複数の関心グループに関連付けられたメタタグでマッピングすることによって行う。一実装形態において、グループ・アイデンティティ計算モジュール222は、局所性鋭敏型ハッシュ(LSH)技法または意味論ベースのクラスタ化などの従来の技法を実施して、エンド・ユーザが属する1つまたは複数の関心グループを示すグループidを特定する。LSH技法において、類似した2つのオブジェクトは、高い確率で同一の値にハッシュされる。グループ・アイデンティティ計算モジュール222は、ハッシュ関数によって生成された値を、類似した関心を有するエンド・ユーザら、すなわち、類似した関心プロファイルを有するエンド・ユーザらのグループのラベルまたはグループidとして使用するように構成される。さらに前述したとおり、グループ・アイデンティティ計算モジュール222は、エンド・ユーザに複数のグループidを割り当てて、そのエンド・ユーザの関心プロファイルのいくつかの態様を範囲に含むようにしてもよい。
別の実装形態において、グループ・アイデンティティ計算モジュール222は、エンド・ユーザの関心プロファイルの中で示されるとおり、エンド・ユーザによって利用されるサービスのいくつかの選好されるカテゴリのリストを生成することが可能である。グループ・アイデンティティ計算モジュール222は、エンド・ユーザが属する1つまたは複数の関心グループのエンド・ユーザ・グループ・アイデンティティによって利用されるサービスの選好されるカテゴリのリストを考慮するように構成される。別の構成において、グループ・アイデンティティ計算モジュール222は、エンド・ユーザによって利用されるサービスの選好されるカテゴリの様々なサブセットを生成して、エンド・ユーザが複数の関心グループに属するようにすることが可能である。
グループ・アイデンティティ計算モジュール222は、エンド・ユーザの関心プロファイルをプライバシー保護ミドルウェア・システム104のグループ・アグレゲータ・モジュール112に匿名で送信する。前段で説明されるとおり、グループ・アイデンティティ計算モジュール222は、複数のグループidをエンド・ユーザに割り当てて、エンド・ユーザの関心プロファイルのいくつかの態様を範囲に含むようにしてもよい。やはり前段で説明されるとおり、グループ・アグレゲータ・モジュール112は、複数の関心グループ・アグレゲータを備えることが可能であり、各関心グループ・アグレゲータは、1つの関心グループに関連付けられ、さらにグループidは、関心グループを示す。このため、グループidに基づいて、グループ・アイデンティティ計算モジュール222は、エンド・ユーザの様々な関心に関係のある関心グループ・アグレゲータを識別し、さらにこれらの関心グループ・アグレゲータのそれぞれに、これらの関心グループ・アグレゲータが関係する関心と関係するプロファイル情報を送信する。所与の関心と関係するプロファイル情報は、関心プロファイル生成モジュール220によって生成されたエンド・ユーザの関心プロファイルから導き出されることを認識されたい。
グループ・アイデンティティ計算モジュール222は、エンド・ユーザのプライバシーを確実にするように様々な技法を実施する。一実装形態において、グループ・アイデンティティ計算モジュール222は、プロファイル・スライシングを実施して、エンド・ユーザの匿名性を確実にする。前記実装形態において、グループ・アイデンティティ計算モジュール222は、エンド・ユーザのプロファイル情報を複数のセグメントにスライスし、各セグメントは、キー/値ペアの1つまたは複数のセットから成る。グループ・アイデンティティ計算モジュール222は、エンド・ユーザのプロファイル情報のいずれのセグメントもそれ自体で、完全な関心プロファイルを構築し、さらにエンド・ユーザの身元を推測するのに使用され得る十分なプロファイル情報を含まないことを確実にする。
さらに、エンド・ユーザ関心プロファイルの各セグメント、およびエンド・ユーザが特徴付けられている関心グループを示すグループidが、グループ・アイデンティティ計算モジュール222によって、匿名性を確実にする機構を使用するネットワーク、例えば、オニオン・ルーティングを実施するネットワークを介して送信される。一実装形態において、オニオン・ルーティング・パスが確立され、グループ・アイデンティティ計算モジュール222は、エンド・ユーザに関係のあるプロファイル情報のセグメントおよびグループidを、オニオン・ルーティング・パスの出口ノードの公開キーで暗号化する。エンド・ユーザに関係のあるプロファイル情報の様々なセグメント、およびグループidは、1つまたは複数の中間ノードを経由して伝送されてから、出口ノードに到達する。出口ノードは、情報を解読し、さらにこの情報をグループ・アグレゲータ・モジュール112に送信する。一実施形態において、グループ・アイデンティティ計算モジュール222は、エンド・ユーザのプロファイル情報のセグメントを送信すべき分散ハッシュ・テーブル(DHT)ノードのランダムなセットを選択して、これらのノードのいずれも送信元として識別可能でないことを確実にするように構成されることが可能である。クライアント・デバイス108、例えば、IPTVセットトップ・ボックスの場合、IPTVセットトップ・ボックスは、DHTネットワークのノードであるように構成されることが可能であり、さらに匿名化ピア・ツー・ピア・プロキシ(AP3)などの他の従来の技法が実施されて、ユーザのプライバシーを確実にすることが可能である。
グループ・アグレゲータ・モジュール112は、エンド・ユーザの関心に基づいて同一の関心グループに入ると分類されている複数のエンド・ユーザに関係のあるプロファイル情報のすべてのセグメントを集約する。一実装形態において、グループ・アグレゲータ・モジュール112は、集約されたプロファイル情報のセグメントをグループ・アイデンティティ・データ216として保存することが可能である。プライバシー保護ミドルウェア・システム104の分類モジュール224が、各グループに関係のある集約されたデータを解析して、各関心グループ内で選好されるサービスのリスト、またはサービスのカテゴリのリスト、またはサービスに関連付けられたタグのリストを特定する。選好されるサービスのリスト、またはサービスのカテゴリのリスト、またはサービスに関連付けられたタグのリストは、複数のエンド・ユーザを備える関心グループの関心を全体として示す。一実装形態において、分類モジュール224は、人気度グラフを生成して、各関心グループ内で、或る数、例えば、N個の選好されるサービス、またはサービスのカテゴリ、またはサービスに関連付けられたタグを特定するように構成されることが可能である。
一実施形態において、分類モジュール224は、関心グループに代行してサービス・プロバイダ110から推奨されるサービスを明示的にプルするように構成されることが可能である。この実施形態において、分類モジュール224は、グループの選好される関心をカテゴリまたはタグの点でサービス・プロバイダ110に通信して、推奨を獲得する。サービス・プロバイダ110は、グループの関心に応じて推奨されるサービスのリストを戻す。
代替として、分類モジュール224は、分類モジュール224がサービス・プロバイダ110とシームレスに対話することができるようにエンド・ユーザをエミュレートするように構成されることも可能である。前記構成において、分類モジュール224は、関心グループに分類されたエンド・ユーザらの選好されるサービス、またはすべてのサービスを利用するエンド・ユーザをエミュレートする。サービス・プロバイダ110は、分類モジュール224を、他の任意のエンド・ユーザと同様にプロファイリングし、さらに分類モジュール224のための推奨を生成し、これらの推奨は、実際に、エンド・ユーザの関心に基づくグループに属するエンド・ユーザのための推奨である。このように、分類モジュール224は、サービス・プロバイダ110に対してエンド・ユーザをエミュレートする。明白なとおり、グループ・アグレゲータ・モジュール112は、分類モジュール224が、サービス・プロバイダ110に対してエンド・ユーザをエミュレートすることを可能にする。
以降、ADTM226と呼ばれる匿名データ転送モジュール226が、サービス・プロバイダ110によって生成された推奨を、エンド・ユーザのプライバシーを侵害することなしに、クライアント・デバイス108のローカル推奨モジュール228に送信するように構成される。
一構成において、クライアント・デバイス108のローカル推奨モジュール228は、任意の新たなサービスがないかADTM226を定期的に調べるように構成される。前記構成において、ローカル推奨モジュール228は、一意の識別子として関心グループ・アグレゲータに関連付けられたグループidを使用することによって第1の分散ハッシュ・テーブル(DHT)ルックアップを生成する。一実装形態において、DHTルックアップは、オニオン・ルーティング・パスを介して行われ、グループidは、オニオン・ルーティング・パスの出口ノードの公開キーで暗号化される。出口ノードが、このグループidを解読し、さらにグループidをキー・ベースのルーティング(KBR)識別子として第2のDHTルックアップを生成する。キー・ベースのルーティングは、DHTおよびいくつかのオーバーレイ・ネットワークと併せて使用されるルックアップ方法である。一般に、DHTは、或るデータを担うノードを探し出す方法をもたらすのに対して、KBRは、ネットワーク・ホップの数などの何らかの定義されたメトリックに応じて、そのデータに関する最も近いホストを探し出す方法をもたらす。
第2のDHTルックアップの結果は、出口ノードによって、ローカル推奨モジュール228によって供給された対称暗号化キーを用いて暗号化される。暗号化された結果は、逆方向のオニオン・ルーティング・パスを介して送り返され、さらにエンド・ユーザのローカル推奨モジュール228が、暗号化された結果を解読して、サービス・プロバイダ110によって生成された推奨を獲得する。
別の実施形態において、分類モジュール224による推奨は、ADTM226によってグループのエンド・ユーザらに公開される。一実施形態において、エンド・ユーザのプライバシーが侵害されないことを確実にするのに、匿名のチャネルが使用される。これらの匿名のチャネルは、ローカル推奨モジュール228が、推奨されるサービスを受信するためのアドレスまたはロケーション、例えば、或る種のメールボックス・アドレスを、エンド・ユーザの身元を明かすことなしにチャネル・アドレスとして指定することを容易にする。
サービス・プロバイダ110によって生成された推奨を受信すると、ローカル推奨モジュール228は、これらの推奨をエンド・ユーザの関心プロファイルと比較する。例えば、一実装形態において、ローカル推奨モジュール228は、サービス・プロバイダ110サービスによって生成された推奨からエンド・ユーザによって既に利用されたサービスを取り除き、さらにエンド・ユーザが分類されている各グループに関して生成された残りの推奨をマージする。前記実装形態において、エンド・ユーザによって既に利用されたサービスは、コンテンツ・データ212から取得されることが可能である。別の実装形態において、ローカル推奨モジュール228は、エンド・ユーザの関心プロファイルに基づいて、サービス・プロバイダ110によって生成された推奨をフィルタリングして、フィルタリングされた推奨を導き出すように構成されることが可能である。
さらに、別の実施形態において、クライアント・デバイス108とプライバシー保護ミドルウェア・システム104はともに、ひとまとめにして他のモジュール230と呼ばれる他のモジュール230−1および230−2を含むことが可能である。他のモジュール230は、プライバシー保護ミドルウェア・システム104およびクライアント・デバイス108のアプリケーションおよび機能を補足する、オペレーティング・システムなどのプログラムまたは符号化された命令を含むことが可能である。
このようにして、クライアント・デバイス108と、プライバシー保護ミドルウェア・システム104とを備えるプライバシー保護システム102は、エンド・ユーザの身元を明かすことも、エンド・ユーザのプライバシーを漏らすこともなしに、エンド・ユーザが、エンド・ユーザの関心に基づいて推奨されるコンテンツまたはサービスを獲得することを容易にする。
図3および図4は、本主題の或る実施形態による、推奨されるサービスにおいてプライバシー保護を提供するための例示的な方法300および400を示す。図3で説明される方法300、および図4で説明される方法400は、それぞれ、プライバシー保護システム102のプライバシー保護ミドルウェア・システム104およびクライアント・デバイス108の脈絡で説明されるものの、方法300および400は、本主題の範囲を逸脱することなく、他のシステムおよびデバイスに拡張されることも可能であることが理解されよう。
方法300および400が説明される順序は、限定として解釈されることは意図しておらず、さらに任意の数の説明される方法ブロックが、これらの方法、または代替の方法を実施するのに任意の順序で組み合わされることが可能である。さらに、個々のブロックは、本明細書で説明される本主題の趣旨および範囲を逸脱することなく、これらの方法から削除されることが可能である。さらに、これらの方法は、任意の適切なハードウェア、ソフトウェア、ファームウェア、またはこれらの組合せで実施され得る。
方法300および方法400のステップは、プログラミングされたコンピュータによって実行され得ることが、当業者には容易に認識されよう。本明細書で、いくつかの実施形態は、マシン可読またはコンピュータ可読であるとともに、命令のマシン実行可能プログラムまたはコンピュータ実行可能プログラムを符号化し、前記命令が、説明される方法のステップのうちのいくつか、またはすべてを実行する、プログラム・ストレージ・デバイス、デジタル・データ記憶媒体を範囲に含むことも意図している。プログラム・ストレージ・デバイスは、例えば、デジタル・メモリ、磁気ディスクや磁気テープなどの磁気記憶媒体、ハードドライブ、または光学的に可読のデジタル・データ記憶媒体であることが可能である。これらの実施形態は、例示的な方法の前記ステップを実行するように構成された通信ネットワークと通信デバイスをともに範囲に含むことも意図している。
方法300を例示する図3を参照すると、ブロック302で、同一の、または類似した関心を有するエンド・ユーザらの関心グループを示すグループidに関係のあるデータが、プライバシー保護ミドルウェア・システム104によって受信される。このデータは、そのグループidによって表される関心グループに分類されているエンド・ユーザらの関心プロファイルのセグメント化されたプロファイル情報を備える。前段で詳しく説明したプロファイル・スライシングなどのプライバシー保護技法が、プライバシー保護ミドルウェア・システム104が、それらのエンド・ユーザの身元を特定するようにこのデータを解析することを実現不能にする。ブロック304に示されるとおり、プライバシー保護ミドルウェア・システム104は、このデータを校合して、そのグループidによって表される関心グループに分類されているエンド・ユーザらによって利用された選好されるサービス、または選好されるカテゴリ、またはそれらのサービスに関連付けられたタグを特定する。例えば、このデータは、関心グループ全体としての、或る特定の数の好ましいサービス・カテゴリを特定するように人気度グラフを生成するのに使用されてもよい。
その後、ブロック306に示されるとおり、プライバシー保護ミドルウェア・システム104が、サービス・プロバイダ110とインターフェースをとって、そのグループのコンテンツ/サービスの選好されるカテゴリに基づいて、サービス・プロバイダ110から推奨されるサービスを受信する。一実装形態において、プライバシー保護ミドルウェア・システム104は、関心グループのサービスの選好されるカテゴリをサービス・プロバイダ110に通信し、さらにサービス・プロバイダ110から推奨されるサービスを獲得する。別の実装形態において、プライバシー保護ミドルウェア・システム104は、そのグループのサービスの選好されるカテゴリを消費するエンド・ユーザを装って、サービス・プロバイダ110が、プライバシー保護ミドルウェア・システム104を任意のエンド・ユーザとしてプロファイリングし、さらにプライバシー保護ミドルウェア・システム104のために推奨されるサービスを生成することが可能であるようにしてもよい。ブロック308に示されるとおり、一実装形態において、プライバシー保護ミドルウェア・システム104は、サービス・プロバイダ110によって生成された推奨されるサービスを関心グループのエンド・ユーザに匿名で公開する。
方法400を例示する図4を参照すると、ブロック402で、エンド・ユーザのクライアント・デバイス108が、エンド・ユーザの関心、選好、または選択を特定するように、エンド・ユーザの活動に基づいてエンド・ユーザの関心プロファイルを生成する。例えば、クライアント・デバイス108は、エンド・ユーザが訪れたウェブサイト、エンド・ユーザによって再生されたメディア・ファイル、エンド・ユーザによって読まれた記事、エンド・ユーザがチェックインした場所などに関係のあるデータを蓄積して、エンド・ユーザの関心プロファイルを生成するようにすることが可能である。ブロック404に示されるとおり、クライアント・デバイス108が、エンド・ユーザが分類されることが可能な、類似した関心または選択を有するエンド・ユーザらの1つまたは複数の関心グループを示す1つまたは複数のグループidを特定する。前述したとおり、LSH技法、意味論的クラスタ化などの従来の技法が、類似した関心または選択を有するエンド・ユーザらを備える関心グループのグループidを特定するのに実施される。
ブロック406で示されるとおり、クライアント・デバイス108が、エンド・ユーザが分類されている関心グループと関係するエンド・ユーザのプロファイル情報を、グループidに基づいてプライバシー保護ミドルウェア・システム104の関心グループ・アグレゲータに匿名で送信する。前段で詳しく説明される関心プロファイル・スライシングなどの様々な技法が、エンド・ユーザのプライバシーが漏れないことを確実にするのに使用される。さらに、プロファイル・スライシングの結果として生成された、エンド・ユーザのプロファイル情報のセグメントが、オニオン・ルーティング・パスを介して通信されて、プライバシー保護ミドルウェア・システム104がエンド・ユーザの身元を突き止めること、または特定することを不可能にする。
ブロック408に示されるとおり、クライアント・デバイス108が、エンド・ユーザに関係のある関心グループのための推奨されるサービスを獲得する。一実装形態において、クライアント・デバイス108は、エンド・ユーザのためのサービスの新たな推奨を受信するようにプライバシー保護ミドルウェア・システム104を定期的に調べる。ブロック410で、クライアント・デバイス108が、例えば、エンド・ユーザによって既に消費されたサービスを取り除くこと、エンド・ユーザに関係があるすべてのグループidのための推奨をマージすることなどによって、サービス・プロバイダ110から受信された推奨をさらに処理して、エンド・ユーザのための推奨されるサービスのフィルタリングされたリストを生成することが可能である。
プライバシー保護システムに関する実装形態は、構造上の特徴および/または方法に特有の言い回しで説明されてきたものの、添付の特許請求の範囲は、説明される特定の特徴または方法に必ずしも限定されないことを理解されたい。むしろ、特定の特徴および方法は、推奨されるサービスにおけるプライバシー保護のための例示的な実装形態として開示される。