【文献】
冨田 幸嗣,アクセス制御機能付き検索可能暗号のIDベース暗号からの構成,マルチメディア,分散,協調とモバイル(DICOMO2013)シンポジウム論文集 情報処理学会シンポジウムシリーズ,日本,一般社団法人情報処理学会,2013年 7月10日,第2013巻、第2号,pp.208-214
【文献】
尾形 わかは,Searchable symmetrc encryptionはどこまで安全にすべきか?,2011年 暗号と情報セキュリティシンポジウム SCIS2011 [CD−ROM] 2011年 暗号と情報セキュリティシンポジウム (SCIS2011),日本,電子情報通信学会情報セキュリティ研究専門委員会,2011年 1月28日,pp.1-8
(58)【調査した分野】(Int.Cl.,DB名)
第1のデバイスによって実行される視聴者測定サーバによって、複数のクライアントデバイスの各々から送信された通信を受信するステップであって、各通信が、コンテンツの項目の識別情報と、前記クライアントデバイスのデバイス識別子とを含み、前記複数のクライアントデバイスの第1の部分がパネル測定サービスのメンバに代わって動作する、ステップと、
前記パネル測定サービスの前記メンバの測定データの要求を前記視聴者測定サーバによって第2のデバイスから受信するステップであって、前記要求が、前記複数のクライアントデバイスの前記第1の部分の各デバイス識別子のハッシュに対応する確率的データ構造を含む、ステップと、
前記確率的データ構造を介して前記視聴者測定サーバによって、前記受信された通信をフィルタリングして、(i)前記複数のクライアントデバイスの前記第1の部分のデバイス識別子を含む前記通信と、(ii)パネルメンバに対応しない前記複数のクライアントデバイスの第2の部分のデバイス識別子を含む前記通信とを含む、前記受信された通信のサブセットを選択するステップと、
前記視聴者測定サーバによって、前記選択されたサブセットにおける各通信に対して、各前記通信における前記対応するデバイス識別子を用いて前記コンテンツの項目の前記識別情報を暗号化して、暗号化された測定データを生成するステップと、
前記暗号化された測定データを、前記視聴者測定サーバによって前記第2のデバイスに送信するステップと
を含む、セキュアなオンライン視聴者測定のための方法。
前記複数のクライアントデバイスのうちのクライアントデバイスから送信された各通信が、前記クライアントデバイスがコンテンツプロバイダから前記コンテンツの項目を受信したことに応答して送信される、請求項1に記載の方法。
前記第2のデバイスが、前記複数のクライアントデバイスの前記第1の部分のデバイス識別子に対応するコンテンツの項目の識別情報を正常に復号し、前記複数のクライアントデバイスの前記第1の部分のデバイス識別子に対応しないコンテンツの項目の識別情報を復号できない、請求項1に記載の方法。
各クライアントデバイスによって受信される前記コンテンツの項目が、前記クライアントデバイスに通信を前記第1のデバイスに送信させるコマンドを含む、請求項1に記載の方法。
前記複数のクライアントデバイスの前記第1の部分のクライアントデバイスの前記デバイス識別子が前記パネル測定サービスによって生成される、請求項1に記載の方法。
前記複数のクライアントデバイスのうちのクライアントデバイスから送信された各通信が、前記クライアントデバイスがコンテンツプロバイダから前記コンテンツの項目を受信したことに応答して送信される、請求項11に記載のシステム。
前記第2のデバイスが、前記複数のクライアントデバイスの前記第1の部分のデバイス識別子に対応するコンテンツの項目の識別情報を正常に復号し、前記複数のクライアントデバイスの前記第1の部分のデバイス識別子に対応しないコンテンツの項目の識別情報を復号できない、請求項11に記載のシステム。
各クライアントデバイスによって受信される前記コンテンツの項目が、前記クライアントデバイスに通信を前記第1のデバイスに送信させるコマンドを含む、請求項11に記載のシステム。
前記複数のクライアントデバイスの前記第1の部分のクライアントデバイスの前記デバイス識別子が前記パネル測定サービスによって生成される、請求項11に記載のシステム。
【発明を実施するための形態】
【0018】
さまざまな図面における同じ参照番号および指定は同じ要素を示す。
【0019】
視聴者測定データとしては、デバイスによって受信され、表示されるコンテンツの識別情報があり得る。そのようなコンテンツとしては、オーディオ、ビデオ、マルチメディア、テキスト、アニメーション、広告、または他のそのようなデータがあり得る。コンテンツの視聴者の測定は、広告配置の価格設定および販売、コンテンツ配信スケジュールの計画、または他のそのような目的のためにコンテンツの視聴者規模または人気を測定するために有用であり得る。従来の地上波放送または衛星放送では、プロバイダは、受信機からプロバイダへのバックチャンネルまたは通信経路の欠如により、周波数が合わされた受信機の数について、どんなときでも直接知らないことがある。この制限を克服するために、視聴者測定システムは、見たまたは聞いたコンテンツの調査もしくは日誌に記入する、または付近で再生されたコンテンツを検出し、その後のパネルプロバイダへの送信のためにログを記録するポータブルデバイスを装着するもしくは持ち運ぶことに同意する参加者のパネルを使用した。
【0020】
典型的な放送業者とは異なり、インターネットコンテンツプロバイダは、発信パケットの宛先の監視を介して、または各受信デバイスからの返信応答を要求することによって、受信デバイスの数について直接知り得る。しかしながら、コンテンツ配信システムが複雑化しつつあるので、コンテンツのさまざまな項目が、さまざまなプロバイダによってデバイスに提供され得る。たとえば、ウェブサイトが第1のウェブサーバによって提供されることがあり、埋め込まれたビデオが別個のコンテンツ配信ネットワークによって提供され、1つまたは複数のバナー広告またはインタースティシャルビデオ広告が1つまたは複数の別個の広告配信ネットワークによって提供される。そのため、単一プロバイダは、実際には、前記単一プロバイダによって提供されるコンテンツの受信者の数についてのみ知ることがあり、したがって、全体的な視聴者数を正確に測定することができないことがある。これは、たとえば負荷分散目的で異なる個々のサーバがデバイスにコンテンツを提供するために使用され得る、多数のソースを有するコンテンツ配信ネットワークにより、さらに複雑になり得る。
【0021】
システムの一実装形態では、デバイスに配信されるコンテンツの識別情報をキャプチャするために、エージェントが、ウェブブラウザプラグインまたはパケットインターセプタなどのデバイス上で実行されることがあり、または、ルータ、WiFiアクセスポイント、ゲートウェイ、もしくは他のそのようなデバイスなどの、受信デバイスとコンテンツプロバイダとの間の中間デバイス上で実行されることがある。たとえば、
図1Aを参照すると、一実装形態による、少なくとも1つのコンテンツプロバイダによって提供されるコンテンツの視聴者の測定のためのシステムの図が示されている。クライアントデバイス100は、ネットワーク106を介して、1つまたは複数のコンテンツプロバイダ108およびパネルプロバイダ110と通信し得る。クライアント、デバイス、クライアントデバイス、コンピューティングデバイス、ユーザデバイス、または他の任意のそのような用語でさまざまに呼ばれるクライアントデバイス100は、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、スマートフォン、ビデオゲームコンソール、スマートテレビジョンもしくはセットトップボックス、サーバ、ワークステーション、またはネットワーク106上で通信することが可能な他の任意のタイプおよび形式のコンピューティングデバイスであってよい。分かりやすくするため、1つのクライアントデバイス100のみが示されているが、実際には、複数のクライアントデバイス100が、互いと、および/またはコンテンツプロバイダもしくはパネルプロバイダ108〜110と通信してよい。
【0022】
いくつかの実装形態では、クライアントデバイス100はアプリケーション102を実行し得、アプリケーション102は、ウェブブラウザ、メールクライアント、ビデオプレーヤ、音楽プレーヤ、ビデオゲーム、または他の任意のそのようなアプリケーションなどの、アプリケーション、サービス、サーバ、デーモン、ルーチン、またはネットワーク106上で通信するための他の実行可能なロジックであってよい。アプリケーション102としては、コマンドラインインタフェース、グラフィカルユーザインタフェース、またはこれらもしくは他のインタフェースの任意の組み合わせがあり得る。
【0023】
クライアントデバイス100は、デバイス識別子101を含み得る。デバイス識別子101は、英数字文字列、データ文字列、シリアル番号、メディアアクセス制御(MAC)アドレス、インターネットプロトコル(IP)アドレス、ユーザ名もしくはアカウント名、グローバル一意識別子(GUID)、クッキー、乱数もしくは擬似乱数、またはこれらもしくは他の識別子の組み合わせを含む他の任意のタイプおよび形式の識別子であってよい。いくつかの実装形態では、デバイス識別子101は、製造業者シリアル番号またはMACアドレスなど、デバイスに固定されるまたはデバイス内に事前設定され得るが、他の実装形態では、デバイス識別子101は、クッキーまたはユーザ名など、パネルプロバイダ110、アプリケーション102、または他のエンティティによって動的に設定され得る。いくつかの実装形態では、一意のまたは新しいデバイス識別子101が、パネルプロバイダ110への通信ごとに設定され得るが、他の実装形態では、デバイス識別子101は、変更されなくてもよいし、定期的に(たとえば、1時間ごとに、毎日、毎週など)または他の間隔で(たとえば、クライアントデバイス100の再起動時、インターネットサービスへのログイン時など)変更されてもよい。
【0024】
クライアントデバイス100は、キャプチャエージェント104を実行し得る。キャプチャエージェント104は、ウェブブラウザプラグインもしくはウェブブラウザ拡張機能、パケット傍受器もしくはパケットインターセプタ、スクリーンスクレーパ、テキストパーサもしくはデータパーサ、モニタ、アプリケーション、サービス、デーモン、ルーチン、またはクライアントデバイス100に提供されたコンテンツを識別し、コンテンツの識別情報(および、いくつかの実装形態では、デバイス識別子101)をパネルプロバイダ110もしくは他の測定サービスに送信するための他の実行可能なロジックであってよい。アプリケーション102の一部として示されているが、多数の実装形態では、キャプチャエージェント104は、別個のアプリケーションまたはサービスであってよい。そのうえ、上記で説明したように、いくつかの実装形態では、キャプチャエージェント104は、クライアント100およびネットワーク106および/またはコンテンツプロバイダ108の間に展開された中間デバイス(図示せず)によって実行され得る。
【0025】
クライアントデバイス100は、ネットワーク106を介して、コンテンツプロバイダ108および/またはパネルプロバイダ110、または他のクライアントデバイス100、サーバ、もしくはデバイスと通信し得る。ネットワーク106は、クライアントデバイス100、1つまたは複数のコンテンツプロバイダ108、および1つまたは複数のパネルプロバイダ110、ならびに図示されていない他のデバイスとの間で情報を中継する、任意の形式のコンピュータネットワークまたはネットワークの組み合わせであってよい。たとえば、ネットワーク106としては、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、セルラーネットワーク、衛星ネットワーク、または他のタイプのデータネットワークなどの、インターネットおよび/または他のタイプのデータネットワークがあり得る。ネットワーク106は、ネットワーク106内でデータを受信および/または送信するように構成された任意の数のコンピューティングデバイス(たとえば、コンピュータ、サーバ、ルータ、ネットワークスイッチなど)も含み得る。ネットワーク106は、任意の数のハードワイヤード接続および/またはワイヤレス接続をさらに含み得る。たとえば、クライアントデバイス100は、ネットワーク106内の他のコンピューティングデバイスに対してハードワイヤードされた(たとえば、光ファイバケーブル、CAT5ケーブルなどを介して)トランシーバとワイヤレスで(たとえば、WiFi、セルラー、無線などを介して)通信し得る。いくつかの実装形態では、ネットワーク106は、単一の物理機械によって実行される複数の仮想マシン間の仮想ネットワークなどの仮想ネットワークであってもよいし、物理的に移動可能な媒体(たとえば、スニーカネット、テープ媒体を介したデータの転送、CD-ROM、フラッシュメディア、外部ハードドライブ、フレキシブルディスクなど)を介したデータのオフライン転送などの抽象ネットワークであってもよい。
【0026】
コンテンツプロバイダ108としては、ネットワーク106に接続され、クライアント100にコンテンツを提供するように構成された1つまたは複数のコンピューティングデバイスがあり得る。コンテンツプロバイダ108は、コンテンツプロバイダ、サーバ、ウェブサーバ、データサーバ、パブリッシャ、サービスプロバイダと、または他の類似の用語によって、さまざまに呼ばれることがある。多数の実装形態では、コンテンツプロバイダ108は、サーバファームまたはクラウドとして構成された複数のコンピューティングデバイスを含み得、ルータ、ロードバランサ、ネットワークアドレス変換器、ファイアウォール、または他のそのようなデバイスを含み得る。たとえば、コンテンツプロバイダ108は、コンピュータサーバ(たとえば、FTPサーバ、ファイル共有サーバ、ウェブサーバなど)またはサーバの組み合わせ(たとえば、データセンタ、クラウドコンピューティングプラットフォームなど)であってよい。コンテンツプロバイダ108は、テキスト、画像、ビデオ、オーディオ、マルチメディア、もしくは他のデータ、またはこれらの任意の組み合わせを含む、任意のタイプおよび形式のコンテンツを提供し得る。コンテンツとしては、検索結果、ブログまたはフォーラムのコンテンツ、ニュース記事、ムービー、テレビジョンショー、ポッドキャスト、ビデオゲームもしくは他の対話型コンテンツ、任意のフォーマットでの広告、ウェブサイト、ソーシャルメディア、または他の任意のタイプおよび形式のコンテンツがあり得る。たとえば、コンテンツプロバイダ108は、検索クエリに応答して検索結果データをクライアントデバイス100に提供するオンライン検索エンジンであってよい。別の例では、コンテンツプロバイダ108は、ウェブページの要求に応答してウェブページデータをクライアントデバイス100に提供するファーストパーティウェブサーバであってよい。さらに別の例では、コンテンツプロバイダ108は、インタースティシャルビデオ広告、バナー広告、プレロール広告、もしくはポストロール広告、もしくは他のそのようなコンテンツと共にテレビジョンショーまたはムービーをクライアント100にストリーミングする、またはそのような広告もしくは他のそのようなコンテンツに挿入点を提供して、クライアント100にコンテンツを1つもしくは複数
の他のコンテンツプロバイダに要求させる、ビデオストリーミングサービスであってよい。
【0027】
さまざまな実装形態によれば、コンテンツプロバイダ108は、1つまたは複数のコンテンツタグを含むファーストパーティウェブページデータをクライアントデバイス100に提供し得る。一般に、コンテンツタグとは、ファーストパーティウェブページとともにサードパーティコンテンツを含む行為と関連付けられた任意のウェブページコードを指す。たとえば、コンテンツタグは、サードパーティコンテンツのためのウェブページ上のスロット、ページ外のサードパーティコンテンツのためのスロット(たとえば、インタースティシャルスロット)、サードパーティコンテンツが非同期でロードされるべきか同期してロードされるべきか、サードパーティコンテンツのローディングがウェブページ上で使用不可にされるべきか、ロードに失敗したサードパーティコンテンツがリフレッシュされるべきか、サードパーティコンテンツを提供するコンテンツソース(たとえば、別のコンテンツプロバイダ108、パネルプロバイダ110など)のネットワークロケーション、サードパーティコンテンツ上でのクリックと関連付けられたネットワークロケーション(たとえば、URL)、サードパーティコンテンツがディスプレイ上でどのようにレンダリングされることになるか、クライアントデバイス100にブラウザクッキーを設定させる(たとえば、画像要求を介してクッキーを設定するピクセルタグを介して)コマンド、サードパーティコンテンツを取り出すために使用される1つまたは複数のキーワード、およびファーストパーティウェブページにサードパーティコンテンツを提供することと関連付けられた他の機能を定義し得る。たとえば、コンテンツプロバイダ108は、クライアントデバイス100に要求をパネルプロバイダ110に送らせるファーストパーティウェブページデータをクライアントデバイス100にサービスし得る。
【0028】
パネルプロバイダ110としては、ネットワーク106に接続され、集約データベース112における集約のために、および/または分析もしくは視聴者測定のために1つまたは複数のクライアント100からコンテンツ識別子を受信するように構成された1つまたは複数のコンピューティングデバイスがあり得る。パネルプロバイダ110は、調査者、測定システム、サーバ、データサーバ、サービスプロバイダと、または他の類似の用語によって、さまざまに呼ばれることがある。パネルプロバイダ110は、分散処理のためにサーバファームまたはサーバクラウドにおいて構成された複数のデバイスであってよく、他の機能を提供し得る。一実装形態では、パネルプロバイダ110は、1つまたは複数のコンテンツプロバイダ108とクライアント100との間の中間物であってよいが、他の実装形態では、パネルプロバイダ110は、ネットワーク106を介してコンテンツプロバイダ108と通信し得る。
【0029】
図1Aの例示的な信号フローに示されるパネルメンバのクライアントデバイスを介した視聴者測定の一実装形態では、ステップAにおいて、クライアントデバイス100は、コンテンツの要求をコンテンツプロバイダ108に送信し得る。この要求は、ニュース記事またはウェブページにある他のコンテンツのハイパーテキスト転送プロトコル(HTTP)GET要求などの、任意の形式またはプロトコルであってよい。他の実装形態では、この要求は、テレビジョンショーまたはムービーなどのストリーミングされたビデオに対するものであってよい。ステップBにおいて、コンテンツプロバイダ108は、クライアント100にコンテンツを送信し得る。ステップCにおいて、キャプチャエージェント104は、送信されたコンテンツを識別し、記憶および集約のためにコンテンツ識別子(および、いくつかの実装形態では、デバイス識別子101)をパネルプロバイダ110に送信し得る。コンテンツ識別子としては、ユニフォームリソースロケータ(URL)、ユニフォームリソース識別子(URI)、英数字文字列、ファイル名、代替識別子(alt ID)、または他の任意のそのような情報があり得る。いくつかの実施形態では、コンテンツ識別子としては、ページ上での(たとえば、上部フレーム、下部フレーム内)コンテンツの配置またはページの階層内でのコンテンツの位置の識別情報(たとえば、ページの埋め込まれた要素の子)があり得る。
【0030】
パネルプロバイダ110は集約データベース112を作成し得、集約データベース112は、データベース、フラットファイル、データファイル、配列、またはパネルメンバから受信したコンテンツ識別子および/もしくはデバイス識別子を記憶し集約するための他の任意のタイプおよび形式のデータ構造を備え得る。集約データベース112は、パネルプロバイダ110のサーバのメモリに記憶されてもよいし、外部ストレージデバイスに記憶されてもよいし、ストレージエリアネットワーク(SAN)、ネットワーク接続ストレージ(NAS)、クラウドストレージ、または他の任意のタイプおよび形式のストレージデバイスなどの、別のデバイスのストレージ上に記憶されてもよい。
【0031】
図1Aに示される例示的な実装形態によって、クライアントデバイス100に配信されるコンテンツのいくつかの項目の識別が可能になるが、キャプチャエージェント104がクライアント上にインストールされることを必要とする。パネルに参加することまたはオプトインに同意する者ですら、セキュリティまたはプライバシーに関する懸念から、プラグインまたはインターセプタをデバイス上にインストールすることを望まないことがある。そのうえ、そのような技術は、ハイパーテキスト転送プロトコルセキュアプロトコル(HTTPS)を介して、または仮想プライベートネットワーク(VPN)を介して配信されたコンテンツなどの、暗号化されたコンテンツに対して機能しないことがあり、異なるフォーマットまたはタイプのコンテンツのデータを同じ様式でキャプチャせず、コンテンツ配信測定の集約を困難にすることがある。
【0032】
本明細書で開示される方法およびシステムを介して、コンテンツ配信および視聴者は、別個のクライアント側エージェントの実行を必要とすることなく、クライアントデバイスから視聴者測定サーバに送信された軽量通信または「ping」をキャプチャすることによって測定され得る。pingは、パネルセッション識別子またはクッキーなどのクライアントデバイスのデバイス識別子と、コンテンツの識別情報とを含み得る。いくつかの実装形態では、pingは、バナーの位置、フレームの識別情報、または他のそのようなインジケータなどの、レイアウト内におけるコンテンツ配置の識別情報を含み得る。pingは、ウェブページまたは他のデータのレンダリング、埋め込まれたスクリプトの実行、または他のそのような機能に応答して送信され得る。たとえば、一実装形態では、pingは、GET要求または別個のHTTP要求(PINGタグに応答してなど)をトリガするページとともに表示されるまたはその中に埋め込まれるデバイス識別子およびコンテンツを識別するためのパラメータ-値ペアを有する1ピクセル画像のハイパーテキスト転送プロトコル(HTTP)GET要求であってよい。別の実装形態では、pingは、コンテンツの項目の要求であってよく、視聴者測定サーバに送信されることがあり、前記視聴者測定サーバは、要求を(たとえば、HTTP302リダイレクトまたは類似の方法を介して)コンテンツプロバイダにリダイレクトする。
【0033】
一実装形態による、視聴者測定サーバによって提供されるデータの集約を有する、少なくとも1つのコンテンツプロバイダによって提供されるコンテンツの視聴者の測定のためのシステムの図が
図1Bに示されている。視聴者測定サーバ114は、クライアント100からコンテンツ識別子および/またはデバイス識別子を受信し、受信したコンテンツ識別子および/またはデバイス識別子をパネルプロバイダ110に提供する1つまたは複数のデバイスを備え得る。パネルプロバイダ110およびコンテンツプロバイダ108と並列に示されているが、いくつかの実装形態では、視聴者測定サーバ114は、パネルプロバイダ110およびコンテンツプロバイダのうちの一方または両方とクライアント100との間の中間物として展開され得る。
【0034】
図1Bに示され、上記の
図1Aに類似した例示的なフローでは、ステップAにおいて、クライアントデバイス100は、コンテンツの要求をコンテンツプロバイダ108に送信し得る。ステップBにおいて、コンテンツプロバイダ108は、クライアント100にコンテンツを送信し得る。ステップCにおいて、いくつかの実装形態では、キャプチャエージェント104は、送信されたコンテンツを識別し、記憶および集約のためにコンテンツ識別子(および、いくつかの実装形態では、デバイス識別子101)をパネルプロバイダ110に送信し得る。キャプチャエージェント104がクライアント100上にインストールされていない、またはキャプチャエージェント104がコンテンツを検出できない(たとえば、コンテンツが暗号化されているまたは他のコンテンツ内に埋め込まれている場合)などの他の実装形態では、ステップCは、スキップされてもよいし、任意選択であってもよい。
【0035】
ステップDにおいて、クライアントのアプリケーション102は、コンテンツ識別子および/またはデバイス識別子101を視聴者測定サーバに送信し得る。アプリケーション102は、いくつかの実装形態では、ウェブブラウザ102に、対応する画像を視聴者測定サーバ114に要求させるHTTPドキュメント内のIMGタグなどの、受信したコンテンツに含まれるコマンドに応答して、コンテンツ識別子および/またはデバイス識別子101を送信し得る。そのような画像は、画像を受信すると、いかなる視覚的アーチファクトもクライアント100によって表示されることを回避するために、1ピクセル×1ピクセルの画像または透過画像であってよい。コンテンツ識別子は、画像のURLの一部分であってもよいし、サーバへの要求において送信されるURLのパラメータであってもよい。たとえば、そのような一実装形態では、クライアントに送信されるコンテンツの各項目に対してページに異なるURLが含まれ得る(たとえば、コンテンツの所定の第1の項目を識別するための「http://www.example.com/img/content_id_001.jpg」)が、別のそのような実装形態では、コンテンツはパラメータとして識別され得る(たとえば、「http://www.example.com/img/content.jpg?id=001」)。視聴者測定サーバにコンテンツ識別子を送信するさらに他の方法が使用されてよい。たとえば、いくつかの実装形態では、埋め込まれたタグまたはコンテンツへのリンクは、アプリケーション102に、タグ中のURLによって識別されるドキュメントまたはコンテンツの第1の要求を送信させ、PINGタグによって指定されたURL(たとえば視聴者測定サーバ114)に第2の通信を送信させる、HTML PINGタグを含み得る。さらに別の実装形態では、アプリケーション102は、視聴者測定サーバ114のURLにあるコンテンツを要求し得、視聴者測定サーバ114は、要求されたコンテンツの識別情報を記憶し、コンテンツプロバイダ108における要求されたコンテンツのURLを識別するHTTPリダイレクション(たとえば、ステータスコード302、または異なるURLを指定するHTTPリフレッシュヘッダ)を用いて応答し得る。多数の実装形態では、アプリケーション102は、要求を有するデバイス識別子101またはクッキーを、たとえばHTTP GET要求内のクッキーとして、含み得る。
【0036】
ステップEにおいて、コンテンツ識別子および/またはデバイス識別子101は、視聴者測定サーバ114によってパネルプロバイダ110に転送され得る。いくつかの実装形態では、コンテンツ識別子は即座に転送され得るが、他の実装形態では、コンテンツ識別子および/またはデバイス識別子101は、パネルプロバイダ110へのその後の送信のために、記憶され、他の受信したコンテンツ識別子と集約され得る。
【0037】
キャプチャエージェント104がクライアントデバイス100によって実行されるなどのいくつかの実装形態では、パネルプロバイダは、ステップCにおいてキャプチャエージェントから受信したデータと、ステップEにおいて視聴者測定サーバ114から受信したデータを集約し得る。たとえば、ステップCにおいて受信されたデータは、クライアントデバイス100によって受信されたバナー広告およびウェブページを識別し得るが、ステップEにおいて視聴者測定サーバ114から受信されたデータは、ビデオ中のインタースティシャル広告、ストリーミングされたテレビジョンショーもしくはムービー、ビデオゲーム、または他のコンテンツを識別し得る。パネルプロバイダ110は、このデータを結合し、デバイス識別子によって集約して、デバイス100に提示されるコンテンツの全体的なログまたは記録を作成し得る。多数の実装形態では、ステップEにおいて受信されるコンテンツ識別子は、ステップCにおいて識別されるコンテンツのためのコンテンツ識別子も含み得る。そのような実装形態では、パネルプロバイダ110は、データを結合するときに重複を除去し得る。いくつかの実装形態では、コンテンツ識別子は、そのような相関および重複エントリ除去の助けとなるタイムスタンプを含み得る。
【0038】
図1Bに示される実装形態に示すように、視聴者測定サーバ114は、クライアントデバイス100によって表示されるすべてのコンテンツのコンテンツ識別子を受信し得、したがって、キャプチャエージェント104よりも完全な記録を提供し得る。したがって、多数の実装形態では、キャプチャエージェント104は、クライアントデバイス100上にインストールされる必要はない。
図1Cは、視聴者測定サーバを介して少なくとも1つのコンテンツプロバイダによって提供されるコンテンツの視聴者の測定のためのシステムのそのような一実装形態の図である。
図1BのステップDおよびステップEと同様に、視聴者測定サーバ114は、ステップCにおいてコンテンツ識別子および/またはデバイス識別子101を受信し、ステップDにおいてパネルプロバイダ110に識別子を転送する、またはこれを集約してパネルプロバイダ110に転送し得る。多数の実装形態では、図示のように、データは視聴者測定サーバ114によって集約され、パネルプロバイダ110のサーバ上の負荷を減少させ得る。図示されていない他の実装形態では、データは、集約データベース112内での記憶のためにパネルプロバイダ110に送信され得る。
【0039】
さらなる一実装形態では、視聴者測定サーバ114は、
図1CのステップCに示されるものなどの、コンテンツ識別子およびデバイス識別子を識別する通信の一部分をパネルプロバイダ110にリダイレクトし得る。たとえば、視聴者測定サーバ114は、パネルプロバイダ110のURLを識別するHTTPリフレッシュまたはリダイレクトを用いて、通信の1%、5%、または他の任意の部分などの、通信の一部分に応答し得る。これによって、パネルプロバイダ110が、クライアントデバイスから視聴者測定データの一部分を直接的に受信し、したがって、視聴者測定サーバ114から受信した集約されたデータを統計学的に監査することが可能になり得る。
【0040】
単一ソースパネル測定の多数の実装形態では、パネルプロバイダ110は、ユーザまたはデバイスが、ユーザ名またはアカウント名またはパスワードまたは他の認証システムを介してなど、パネルプロバイダを認証するまたはパネルプロバイダを用いてログインすることを必要とする。これは、複数セッション、複数日、複数週、または他のそのような期間などにわたって経時的に特定のユーザに表示されるまたはデバイスに送信されるコンテンツの追跡を可能にするために行われ得る。いくつかの実装形態では、認証は、上記で説明したようなブラウザプラグインまたは収集エージェントを介して扱われ得る。他の実装形態では、認証は、パネルプロバイダのサービスへのログインを介して扱われ得、パネルプロバイダは、セッション識別子またはクッキーをデバイスに送信し得る。セッション識別子またはクッキーは、所定の量の時間の後に、またはセッションを終了する(たとえば、ウェブブラウザまたはアプリケーションの実行を終える、コンピューティングデバイスを再起動する、またはデバイスをスリープ状態にするなど)と、満了するように設定され得る。
【0041】
収集エージェントを必要とすることなくセッションまたは他の期間中に特定のパネルメンバによって受信されるコンテンツの識別および測定を可能にするために、いくつかの実装形態では、パネルプロバイダは、クライアントデバイスを最初にパネルプロバイダにログインさせ、セッション識別子を受信させ、次いで、クライアントデバイスにセッション識別子を視聴者測定サーバに送信させることによって、視聴者測定サーバにユーザを登録し得る。視聴者測定サーバは、コンテンツ識別子を送信するときに使用するために、クッキーまたはデバイス識別子をデバイスに送信し得る。たとえば、
図1Dは、そのような一実装形態による、視聴者測定サーバ114へのパネルメンバの登録のためのシステムの図を示す。図示のように、ステップAにおいて、クライアントデバイス100は、それ自身をパネルプロバイダ110にログインする、登録する、または認証し得る。ステップBにおいて、パネルプロバイダ110は、クライアントデバイスにセッション識別子を送信し得る。ステップCにおいて、クライアントデバイスは、視聴者測定サーバ114にセッション識別子を送信し得る。視聴者測定サーバ114は、コンテンツ識別子を用いた将来の送信のために、ステップDにおいて、セッション識別子に対応するクッキーまたはデバイス識別子101を生成し、このクッキーまたはデバイス識別子101をクライアント100に送信し得る。視聴者測定サーバ114は、セッション識別子および関連付けられたクッキーまたはデバイス識別子の記録を維持し得、したがって、集約または分析のために視聴者測定サーバがパネルプロバイダ110にコンテンツ識別子を提供するとき、コンテンツ識別子は、セッション識別子したがってパネルメンバを用いて識別され得る。
【0042】
類似した一実装形態では、パネルの機密性を改善するために、セッション識別子が、ステップCにおいて視聴者測定サーバ114に提供されないことがある。そうではなく、デバイス100は、視聴者測定サーバ114にデバイス識別子101またはクッキーを単に要求することがある。ステップDにおいてデバイス識別子またはクッキーを受信すると、いくつかの実装形態では、クライアントデバイス100は、デバイス識別子またはクッキーをパネルプロバイダ110に送信し得る。パネルプロバイダ110は、デバイス識別子またはクッキーを、クライアントデバイス100に送られたセッション識別子または生成されたセッション識別子と関連付け得る。その後でコンテンツ識別子およびデバイス識別子またはクッキーを受信すると、パネルプロバイダ110は、記憶された関連付けを利用して、どのコンテンツ識別子がどのデバイス100に対応するかを識別し得る。
【0043】
図示されていない類似の一実装形態では、クライアントデバイス100とネットワーク106との間に展開された中間デバイスは、パネルプロバイダ110への登録と、セッション識別子、デバイス識別子、またはクッキーの送信、受信、または要求を扱い得る。ルータまたはゲートウェイなどのそのような中間デバイスは、個々のユーザまたはデバイスではなくパネル世帯(household)またはユーザのグループに配信されたコンテンツを測定するために使用され得る。これは、システムの複雑さを減少させる(複数のデバイス上に収集エージェントをインストールすることを回避する)ためと、パネル参加者に対する個人のプライバシーを増加させるための両方に行われ得る。そのような実装形態では、中間デバイスは、
図1Dに示されるステップA〜Dのうちの1つまたは複数を実行し得る。
【0044】
クライアントデバイス100などの、クライアント、パネル参加者、または非パネル参加者のコンピューティングデバイス200の一実装形態のブロック図が、
図2Aに示されている。クライアントデバイス200は、限定するものではないが、ラップトップコンピュータ、デスクトップコンピュータ、タブレットコンピュータ、スマートフォン、デジタルビデオレコーダ、テレビジョン用セットトップボックス、ビデオゲームコンソール、または他の任意のタイプおよび形式のコンピューティングデバイス、またはデバイスの組み合わせを含む、ネットワーク106を介して通信するように構成された任意の数の異なるタイプのユーザ電子デバイスであってよい。いくつかの実装形態では、クライアントデバイス200のタイプは、モバイルデバイス、デスクトップデバイス、または静止したままであることが意図されたもしくはローカルエリアネットワークを介してネットワーク106に主にアクセスするように構成されたデバイス、またはメディア消費デバイスなどの電子デバイスの別のカテゴリとしてカテゴリ化され得る。
【0045】
多数の実装形態では、クライアントデバイス200は、プロセッサ202と、メモリ204とを含む。メモリ204は、プロセッサ202によって実行されるとプロセッサ202に本明細書において説明する動作のうちの1つまたは複数を実行させる機械命令を記憶し得る。プロセッサ202としては、マイクロプロセッサ、ASIC、FPGAなど、またはそれらの組み合わせがあり得る。多数の実装形態では、プロセッサ202は、マルチコアプロセッサまたはプロセッサのアレイであってよい。メモリ204としては、限定するものではないが、電子デバイス、光デバイス、磁気デバイス、またはプロセッサ202にプログラム命令を提供することが可能な他の任意のストレージデバイスがあり得る。メモリ204としては、フレキシブルディスク、CD-ROM、DVD、磁気ディスク、メモリチップ、ROM、RAM、EEPROM、EPROM、フラッシュメモリ、光学媒体、またはプロセッサ202が命令を読み出し可能な他の任意の適切なメモリがあり得る。命令としては、限定するものではないが、C、C++、C#、Java(登録商標)、JavaScript(登録商標)、Perl、HTML、XML、Python、およびVisual Basicなどの任意の適切なコンピュータプログラミング言語からのコードがあり得る。
【0046】
クライアントデバイス200は、1つまたは複数のネットワークインタフェース206を含み得る。ネットワークインタフェース206としては、10Base T、100Base T、もしくは1000Base T(「ギガビット」)を含むイーサネット(登録商標)、802.11a、802.11b、802.11g、802.11n、もしくは802.11acなどのさまざまな802.11ワイヤレスのいずれか、CDMA、LTE、3G、もしくは4Gセルラーを含むセルラー、ブルートゥース(登録商標)もしくは他の短距離ワイヤレス接続、またはネットワーク106と通信するためのこれらもしくは他のインタフェースの任意の組み合わせを含む、任意のタイプおよび形式のインタフェースがあり得る。多数の実装形態では、クライアントデバイス200は、異なるタイプの複数のネットワークインタフェース206を含み、異なるサブネットワークを介したインターネットなどのさまざまなネットワーク106またはネットワーク106に対する接続を可能にし得る。
【0047】
クライアントデバイス200は、1つまたは複数のユーザインタフェースデバイス208を含み得る。ユーザインタフェースデバイス208は、感覚情報(たとえば、ディスプレイ上での視覚化、1つまたは複数の音、触覚フィードバックなど)を生成することによってデータをユーザに伝えるおよび/または受信したユーザからの感覚情報を電子信号に変換する任意の電子デバイス(たとえば、キーボード、マウス、ポインティングデバイス、タッチスクリーンディスプレイ、マイクロホンなど)であってよい。1つまたは複数のユーザインタフェースデバイスは、さまざまな実装形態によれば、内蔵ディスプレイ、タッチスクリーン、マイクロホンなど、クライアントデバイス200のハウジングの内部にあってもよいし、クライアントデバイス200に接続されたモニタ、クライアントデバイス200に接続されたスピーカなど、クライアントデバイス200のハウジングの外部にあってもよい。
【0048】
クライアントデバイス200は、アプリケーション210をメモリ204に含んでもよいし、プロセッサ202を用いてアプリケーション210を実行してもよい。アプリケーション210は、アプリケーション、アプレット、スクリプト、サービス、デーモン、ルーチン、またはコンテンツを受信するための、および応答、コマンド、もしくは他のデータを送信するための、他の実行可能なロジックであってよい。一実装形態では、アプリケーション210はウェブブラウザであってよいが、別の実装形態では、アプリケーション210はビデオゲームであってよい。アプリケーション210は、ウェブサイトの要求、調査応答選択肢の選択、入力テキスト文字列などの、ネットワークインタフェース206を介して受信されたおよび/またはプロセッサ202によってローカルに生成されたコンテンツを表示するための、およびユーザインタフェースデバイス208を介して受信された相互作用を送信するための機能を含み得る。
【0049】
いくつかの実装形態では、アプリケーション210は、データコレクタ212を含み得る。たとえば、データコレクタ212は、アプリケーションプラグイン、アプリケーション拡張機能、サブルーチン、ブラウザツールバー、デーモン、またはアプリケーション210によって処理されたデータを収集するための他の実行可能なロジックを含み得る。他の実装形態では、データコレクタ212は、別個のアプリケーション、サービス、デーモン、ルーチン、またはスクリーンスクレーパ、パケットインターセプタ、APIフッキングプロセス、もしくは他のそのようなアプリケーションなどの、アプリケーション210とは別個であるがアプリケーション210によって処理されたデータを傍受および/もしくは収集するために構成された他の実行可能なロジックであってよい。データコレクタ212は、インターネット検索クエリ、テキスト文字列、調査応答選択、もしくは他の値などの、ユーザインタフェースデバイス208を介して入力されたデータ、または訪問されたウェブサイト、ウェブサイトもしくはアプリケーションと対話することに費やされた時間、読み出されたページ、もしくは他のそのようなデータを含む、アプリケーション210によって受信され処理されたデータを傍受または受信するように構成され得る。多数の実装形態では、データコレクタ212は、このデータまたはそのようなデータの識別子のうちのいくつかまたはすべてを行動履歴データベースまたは他のデータ構造に記憶し得、訪問されたウェブサイト、たどられたウェブリンク、入力された検索クエリ、または他のそのようなデータの識別情報を含み得る。いくつかの実装形態では、データは、個人を特定可能な情報を減少させるために、匿名化されてもよいし、曖昧さをなくされてもよい(disambiguated)。たとえば、「フランス国内で休暇を過ごす場所」のためのクエリなどの入力された個々の検索クエリを記録するのではなく、データコレクタ212は、「ヨーロッパ観光」または「旅行」などの検索クエリに対応する所定のカテゴリを識別し、所定のカテゴリに関する検索の指示を記録し得る。他の実装形態では、データコレクタ212は、テレビジョンショー、ムービー、歌、音楽ビデオ、または他のそのようなコンテンツなどの、クライアントデバイスによって受信されたストリーミングされたマ
ルチメディアコンテンツを識別し得る。コンテンツは、ID3タグもしくは他のそのようなメタデータ、ユニフォームリソースロケータ(URL)もしくはユニフォームリソース識別子(URI)、ファイル名、またはコンテンツを伴う他の任意のタイプおよび形式のデータを含む、識別子タグに基づいて識別され得る。他の実装形態では、データコレクタ212は、サーバによって実行されてもよいし、ルータ、ケーブルモデム、または他のそのようなデバイスなどの、クライアントとサーバとの間に展開された中間デバイスによって実行されてもよい。たとえば、データ要求および応答は、要求および応答がルータを通るとき、中間ルータ上で実行するデータコレクタ212によって解析され得る。いくつかの実装形態では、これによって、家庭内の複数のデバイス上でのデータコレクタ212のインストールを必要とすることなく、家庭への/からのすべてのデータフローの監視が可能になり得る。
【0050】
クライアント200は、デバイス識別子214を含んでもよいし、デバイス識別子214によって識別されてもよい。デバイス識別子214としては、限定するものではないが、MACアドレス、テキスト文字列および/もしくは数値データ文字列、ユーザ名、暗号公開鍵、クッキー、デバイスシリアル番号、ユーザプロファイルデータ、ネットワークアドレス、またはクライアント200を他のクライアント200から区別するために使用され得る他の任意のそのような識別子を含む、任意のタイプおよび形式の識別情報があり得る。いくつかの実装形態では、デバイス識別子214は、1つまたは複数の他のデバイス識別子214(たとえば、モバイルデバイスのためのデバイス識別子、ホームコンピュータのためのデバイス識別子など)と関連付けられ得る。多数の実装形態では、上記で説明したように、デバイス識別子214は、パネルプロバイダまたは視聴者測定サーバによって生成および/またはデバイス200に送信され得、要求、またはパネルプロバイダへの正常なログイン、パネルプロバイダへの登録、もしくはパネルプロバイダを用いた認証に応答して送信され得る。したがって、いくつかの実装形態では、クライアント200は、パネルプロバイダによって生成されたセッション識別子216を含み得る。他の実装形態では、上記で説明したように、クライアント200は、デバイス識別子またはクッキー214を視聴者測定サーバに要求し得、このデバイス識別子またはクッキー214を、デバイスおよび/またはセッション識別子との関連付けのためにパネルプロバイダに送信し得る。いくつかのそのような実装形態では、セッション識別子は、パネルプロバイダによって記憶または維持され、デバイスに提供されないことがある。
【0051】
次に
図2Bを参照すると、上記で
図1A〜
図1Dに関して説明したように、視聴者測定サーバ114、コンテンツプロバイダ108、またはパネルプロバイダ110などの、コンピューティングデバイスまたはサーバ218の一実装形態のブロック図が示されている。クライアントデバイス200と同様に、サーバ218は、1つまたは複数のプロセッサ202と、メモリ204と、ネットワークインタフェース206と、ユーザインタフェース208とを含み得る。ヘッドレスサーバと呼ばれるいくつかの実装形態では、サーバ218は、ユーザインタフェース208を含まないことがあるが、ネットワーク106を介してユーザインタフェース208を有するクライアント200と通信し得る。メモリ204としては、ウェブページ、画像、オーディオファイル、ビデオファイル、データファイル、または他の任意のタイプおよび形式のデータのストレージなどの、コンテンツストレージ232があり得る。いくつかの実装形態では、メモリ204は、FTPサーバ、ウェブサーバ、メールサーバ、ファイル共有サーバ、ピアツーピアサーバ、またはコンテンツストレージ232に記憶されたコンテンツを配信するための他のそのようなアプリケーションを含む、サーバ218のプロセッサ202による実行のために1つまたは複数のアプリケーション210(図示せず)を記憶し得る。
【0052】
いくつかの実装形態では、サーバ218は、測定エンジン220を実行し得る。測定エンジン220は、コンテンツ識別子および/またはデバイス識別子を受信すること、デバイス識別子に従ってコンテンツ識別子を集約するまたは並べ替えること、およびある時間期間中のコンテンツの項目に対する視聴者を測定することを含む、コンテンツの項目の視聴者を測定するためのアプリケーション、サービス、サーバ、デーモン、ルーチン、または他の実行可能なロジックを備え得る。たとえば、測定エンジンは、1時間などのある時間の期間にわたって受信され、異なるデバイス識別子と関連付けられたコンテンツの特定の項目を識別するコンテンツ識別子の数を計数して、コンテンツのその項目を受信した視聴者の規模を計数し得る。この視聴者測定は、コンテンツプロバイダ、広告プロバイダ、マーケッタ、パブリッシャ、分析者、またはその他に提供され得る。
【0053】
いくつかの実装形態では、サーバ218は、使用法に応じて復号エンジンまたは暗号化/復号エンジンとも呼ばれることがある暗号化エンジン222を実行し得る。暗号化エンジン222は、データを暗号化するためのアプリケーション、サービス、ルーチン、サーバ、デーモン、または他の実行可能なロジックを備え得る。いくつかの実装形態では、暗号化エンジン222は、暗号化ハードウェアを備えてもよいし、これと相互作用してもよい。暗号化エンジン222は、任意のさまざまなadvanced encryption standard(AES)アルゴリズム、セキュアハッシュアルゴリズム(SHA)、または他の任意のタイプの対称暗号化を含む、任意のタイプの暗号化および/または復号アルゴリズムを実行し得る。他の実装形態では、暗号化エンジン222は、非対称暗号化方式、公開鍵暗号方法、暗号学的ハッシュ関数、または他の任意のタイプおよび形式の暗号もしくは暗号法を含む、他の任意のタイプの暗号化および/または復号を実行し得る。以下でより詳細に説明するいくつかの実装形態では、暗号化エンジン222は、パネルプロバイダへの送信のために1つまたは複数のクライアントデバイスから受信されたコンテンツ識別子を暗号化するために使用され得る。そのような一実装形態では、各コンテンツ識別子は、デバイス識別子、クッキー、またはデバイスと関連付けられたセッション識別子を用いて暗号化され得る。さまざまな実装形態では、パネルプロバイダは、セッション識別子、デバイス識別子、またはそのパネルメンバのクッキーについて知っているので、パネルプロバイダは、集約および分析のためにコンテンツ識別子を復号することが可能であるが、非パネルメンバまたはパネルプロバイダによって管理されない他のパネルのメンバに対応する任意のデータを復号することは不可能である。
【0054】
いくつかの実装形態では、サーバ218は、フィルタ生成器、フィルタモジュール、フィルタ、または他のそのような名前でさまざまに呼ばれるフィルタ生成/適用モジュール226を実行し得る。いくつかの実装形態では、フィルタ生成器226は、パネルプロバイダによって提供されるパネルのメンバのデバイス識別子を識別する確率的データ構造を生成し得る。そのような構造としては、以下で
図4Aおよび
図4Bに関してより詳細に説明する、ブルームフィルタ配列もしくは商フィルタ配列、または他の任意のタイプおよび形式の確率的データ構造があり得る。多数の実装形態では、フィルタ配列またはデータ構造は、測定データベースからコンテンツおよびデバイス識別子などのデータを抽出して、確率的データ構造を生成するために使用されるデバイス識別子に対応するデータのサブセットを生成するために、フィルタ適用モジュール226によって適用され得る。多数の実装形態では、フィルタは、パネルの一部でないデバイスのデバイス識別子へのフィルタの適用から生じるいくつかの偽陽性に応答して、残りのデータの何らかの部分も抽出し得る。上記で説明したように、そのような実装形態では、各コンテンツ識別子は、対応するデバイスまたはセッション識別子を用いて暗号化され得る。したがって、配列からの偽陽性に対応するデータがパネルプロバイダに提供され得る場合であっても、パネルプロバイダは、データを正常に復号することが不可能なことがある。したがって、視聴者測定サーバは、どのデバイスがパネルの一部であるかを識別することが可能でなくても、パネルメンバのデータプラスいくつかの非パネルメンバのデータのすべてを含むデータのセットをパネルプロバイダに提供し得る。パネルプロバイダは、非パネルメンバのデータにアクセスせずにパネルメンバのデータのすべてを受信し、復号することが可能なことがある。したがって、多数のそのような実装形態では、複数のパネルプロバイダは、それぞれのパネルの機密性を犠牲にすることなく、および互いのデータにアクセスしなくても、同じ視聴者測定システムを利用し得る。
【0055】
いくつかの実装形態では、サーバ218は、測定データベース228および/またはパネルメンバデータベース230を維持し得る。測定データベース228は、対応するデバイス識別子、クッキー、および/またはセッション識別子を用いて複数のコンテンツ識別子を記憶するための、任意のタイプおよび形式のデータベース、フラットファイル、データファイル、データ配列、または他のデータ構造を備え得る。多数の実装形態では、測定データベース228は、受信または送信されたコンテンツ識別子のタイムスタンプも含み得る。
【0056】
同様に、いくつかの実装形態では、パネルメンバデータベース230はパネルメンバを識別および認証し、セッション識別子および/またはデバイス識別子またはクッキーをデバイスまたはデバイスのグループ(家庭内のデバイスなど)と関連付けるための、任意のタイプおよび形式のデータベース、フラットファイル、データファイル、データ配列、または他のデータ構造、を備え得る。いくつかの実装形態では、パネルメンバデータベース230は、ユーザ名もしくはアカウント名、ログインパスワードもしくは他の資格情報、デバイスタイプ、または他のパラメータ(たとえば、オペレーティングシステム、ウェブブラウザタイプもしくは他のアプリケーションタイプ、ネットワーク接続タイプもしくは速度、地理的なロケーションなど)を含むパネルメンバのアカウント情報をさらに備え得る。
【0057】
いくつかの実装形態では、測定データベース228は、視聴者測定サーバによって維持され得るが、パネルメンバデータベース230は、パネルプロバイダによって維持される。いくつかの実装形態では、測定データベース228は、視聴者測定サーバと1つまたは複数のパネルプロバイダの両方によってアクセス可能なロケーションに記憶され得る。さらに他の実装形態では、視聴者測定サーバは、測定データベース228を記憶または維持し得、このデータベースまたはデータベース228の一部分をパネルプロバイダに送信し得る。
【0058】
上記で
図1Dに関して説明したように、多数の実装形態では、パネルメンバは、オンラインコンテンツと対話するセッションを開始するとき、パネルプロバイダに登録またはログインし得る。たとえば、いくつかのパネルプロバイダは、単一ソースパネルにおける参加のために、製品に関するクーポンもしくは値引き、無料サービス、または他のそのような誘惑などのインセンティブをユーザに提供する。したがって、パネルメンバは、サインアップまたはオプトインしてデータ収集に参加し得る。参加者のプライバシーを保護するために、多数の実装形態では、データ収集は、制限または匿名化され得る。参加を追跡するために、パネルプロバイダは、ウェブブラウザプラグインまたはアプリケーションなどの、クライアントデバイス上で実行されることになるクライアントエージェントを提供してもよいし、クライアントデバイスは、セッションにログインするまたはセッションをパネルに登録し得る。いくつかの実装形態では、セッションは期間限定であり、所定の時間後に自動的に満了し得るが、他の実装形態では、クライアントデバイスは、第1の通信を送信してセッションを開始し、第2の通信を送信してセッションを終了し得る。
【0059】
図3Aは、一実装形態による、視聴者測定サーバへのパネルメンバの登録のためのプロセスの一実装形態の信号流れ図である。図示のように、パネルクライアントまたはパネルメンバのクライアントデバイス300は、1つまたは複数のネットワーク106(図示せず)を介して、パネルプロバイダ302のデバイスまたはサーバおよび視聴者測定サーバ304と通信し得る。ステップ310において、パネルクライアント300は、をパネルプロバイダ302に通信を送信してログインし得る。図示されていないいくつかの実装形態では、ステップ310は、セキュアなログインページの要求およびセキュアなログインページを用いた応答、ユーザ名および/またはパスワードを介してログインするための要求および成功(または、間違った入力の場合は失敗)を示す応答などの、複数の要求および応答通信を含み得る。いくつかの実装形態では、パネルクライアント300のユーザは、アカウント名またはユーザ名またはパスワードなどの、ログインするための1つまたは複数のパラメータまたは資格情報を入力し得るが、他の実装形態では、パネルクライアント300は、パネルプロバイダ302に識別子を提供してログインし得る(たとえば、MACアドレス、記憶されたアカウント番号、証明書など)。
【0060】
パネルプロバイダ302は、パネルクライアント300を認証し、いくつかの実装形態では、ステップ312において、セッション識別子を生成し、パネルクライアント300に送信する。セッション識別子は、英数字文字列または任意のタイプおよび形式の他の識別子を備え得る。上記で説明したように、セッション識別子は、満了時間を含んでもよいし、所定の時間期間後に自動的に満了するように設定されてもよい。多数の実装形態では、パネルプロバイダ302は、生成されたセッション識別子をパネルクライアント300と関連付ける記録またはパネルクライアント300のログイン資格情報を記憶し得る。いくつかのそのような実装形態では、パネルプロバイダがその後、コンテンツ識別子および対応するセッション識別子を有する測定サーバ304から集約された測定データを受信するとき、測定サーバ304は、セッション識別子を特定のパネルクライアントデバイス、家庭、または個々の参加者の識別子に交換することが可能であり得る。したがって、複数のセッション識別子は、単一デバイスと関連付けられ、異なるセッションにまたがる、または単一セッションよりも長い時間期間にわたる、コンテンツの受信における違いの追跡を可能にし得る。
【0061】
いくつかの実装形態では、パネルクライアント300は、ステップ314において測定サーバ304にセッション識別子を送信し得る。上記で説明したように、セッション識別子は、満了時間を含んでもよいし、所定の時間期間後に自動的に満了するように設定されてもよい。多数の実装形態では、測定サーバ304は、ステップ316において、クッキーまたはデバイス識別子(たとえば、別の英数字文字列)を生成し、このクッキーまたはデバイス識別子をパネルクライアントに送信し得る。多数の実装形態では、測定サーバ304は、デバイス識別子またはクッキーを介してセッション識別子をパネルクライアント300と関連付ける記録を記憶し得る。いくつかのそのような実装形態では、測定サーバ304は、コンテンツ識別子との通信に含まれるデバイス識別子またはクッキーを介して、パネルクライアント300から受信したコンテンツ識別子をセッション識別子と関連付け得る。測定サーバ304は、その後、対応するセッション識別子と関連付けられたコンテンツ識別子を集約および/またはパネルプロバイダ302に提供し得る。
【0062】
他の実装形態では、上記で説明したように、パネルクライアント300は、ステップ314においてセッション識別子を測定サーバ304に送信しないことがあり、その代わりに、クッキーまたはデバイス識別子の要求を送信し得る。いくつかの実装形態では、クッキーまたはデバイス識別子は、クライアントデバイス(および/または視聴者測定サーバ)によってパネルプロバイダに送信され得る。これによって、パネルメンバ情報の機密性の向上が提供され得る。パネルプロバイダは、連続的なセッション識別子または一意のフォーマットを有するセッション識別子を使用し得るので、シーケンス内の、または複数のクライアントデバイスからの類似のフォーマットを有する、複数のセッション識別子の場合、サーバは、クライアントデバイスは同じパネルのすべて一部であると決定することが可能なことがある。したがって、そのような情報を視聴者測定サーバに提供しないことによって、サーバは、特定のパネルまたはパネルプロバイダについて知ることなく、クライアントデバイスが何らかのパネルのメンバであると決定することのみが可能なことがある。
【0063】
いくつかの他の実装形態では、ステップ314および316はスキップされてよく、デバイス識別子またはクッキーは、パネルプロバイダまたはパネルクライアントによって生成されてもよいし、セッション識別子は、サードパーティクッキーまたは識別子として使用されてよい。たとえば、コンテンツの項目を受信したことに応答して、パネルクライアントは、コンテンツ識別子およびセッション識別子またはクライアントの識別子(たとえば、MACアドレス、IPアドレス、GUID、所定の乱数文字列など)を含む通信を測定サーバに送信し得る。測定サーバは、クライアントの同じ識別子またはセッション識別子を含んだ以前の通信が受信されたかどうかを判断し、そうである場合、そのような以前の通信と通信を集約し得る。そうでない場合、測定サーバは、新しく受信されたセッション識別子またはクライアント識別子のために、新しいエントリを測定データベースに追加し得る。
【0064】
クッキー、デバイス識別子、またはセッション識別子は、測定データを暗号化してから、そのデータをパネルプロバイダに提供するために使用され得る。これは、傍受に対して送信データのセキュリティを増加させるためと、パネルメンバシップの機密性の増加を提供するための両方のために行われ得る。機密性が、いくつかのパネルプロバイダによって望まれることがあるので、プロバイダは、視聴者測定サーバに対してパネルメンバを識別する必要がないことがある。
図3Bは、一実装形態による、視聴者測定サーバを介したセキュアで機密の視聴者測定のためのプロセスの一実装形態の信号流れ図である。パネルクライアント300は、ステップ322においてコンテンツプロバイダ320からコンテンツを受信し得る。上記で説明したように、コンテンツとしては、オーディオ、ビデオ、マルチメディア、アニメーション、テキスト、HTML、実行可能コード、または他のデータがあり得る。コンテンツとしては、ステップ324において、パネルクライアント300に、コンテンツおよびクッキーの識別情報、セッション識別子、またはデバイス識別子を測定サーバ304に送信させる埋め込まれたコマンドがあり得る。上記で説明したように、埋め込まれたコマンドは、測定サーバのURLを有するHTML IMGタグ、リンク内のHTML PINGタグ、Javascript(登録商標)コマンドなどの実行可能スクリプト、または他の任意のそのようなコマンドを備え得る。コンテンツ識別子およびクッキー、セッション識別子、またはデバイス識別子は、要求内のパラメータ(URL内のパラメータ、POST要求のパラメータ、または他の任意のタイプおよび形式の要求などの)として送られてもよいし、要求のヘッダ(たとえば、TCPオプションフィールド、またはトランスポート層、セッション層、アプリケーション層、ネットワーク層、またはネットワーク通信の他の任意のそのような層におけるヘッダの他の任意の部分)に含まれてもよいし、または測定サーバに提供されてもよい。
【0065】
コンテンツ識別子は、視聴者測定サーバによって受信されたクッキー、デバイス識別子、またはセッション識別子によって記憶され、追跡され得るまたはこれと関連付けられ得、前記クッキー、前記デバイス識別子、または前記セッション識別子によってグループ化または集約され得る。1つのクライアントおよび通信のみが示されているが、多数の実装形態では、測定サーバ304は、複数のクライアント300と通信し、これらから測定データを受信し得る。測定データを取り出すために、パネルプロバイダ302は、そのパネルメンバのクッキー、デバイス識別子、またはセッション識別子のハッシュを介して、ブルームフィルタ配列または商フィルタ配列または偽陽性一致があり得るが偽陰性はあり得ない他のデータ構造などの確率的データ構造を生成し得る。ステップ326において、パネルプロバイダは、配列を視聴者測定サーバに提供し得、視聴者測定サーバは、フィルタを利用して、パネルメンバのデータを含むデータ測定のサブセットを、ならびに偽陽性としていくつかの非パネルメンバのデータを抽出し得る。視聴者測定サーバは、ステップ328において、データの抽出されたサブセットを、データの項目に対応する各クッキー、各デバイス識別子、または各セッション識別子を鍵として用いて暗号化し、暗号化されたデータをパネルプロバイダに送り、したがって、パネルデータといくつかの非パネルデータの両方を含み得る。パネルプロバイダは、パネルメンバと関連付けられたクッキー、デバイス識別子、またはセッション識別子を使用して、データの各受信された項目を復号しようとし得る。パネルプロバイダは、それ自体のパネルメンバの識別子またはクッキーのみを知っており、競合者のパネルのメンバを知らないので、パネルプロバイダは、それ自体のパネルデータのみを正常に復号することが可能であり、非メンバに対応するデータを復号できない。したがって、パネルメンバシップは、視聴者測定サーバから機密にしておかれているが、パネルプロバイダはそれら自体のパネルのデータへのアクセス権のみを備える。
【0066】
上記で説明したように、多数の実装形態では、パネルプロバイダ302は、そのパネルメンバのクッキー、デバイス識別子、またはセッション識別子のハッシュを介して、ブルームフィルタ配列または商フィルタ配列または偽陽性一致があり得るが偽陰性はあり得ない他のデータ構造などの確率的データ構造を生成し得る。
図4Aは、一実装形態による、視聴者測定データをフィルタリングするための確率的データ構造の生成の一例の図である。1つまたは複数のセッション識別子、クッキー、デバイス識別子、または他のデータ文字列400A〜400N(全体的に、識別子400と呼ばれる)は、ハッシュ結果404A〜404N(全体的に、結果404と呼ばれる)の対応するセットを生成するためにハッシュアルゴリズム402を介してハッシュされ得る。ハッシュ結果404は、ステップ406において、各ハッシュ結果を含む確率的データ構造408を作成するために結合され得る。
【0067】
ハッシュアルゴリズム402は、複数の異なるハッシュ関数を含み得、したがって、各ハッシュ関数は、識別子400を異なる値にマッピングする。たとえば、
図4Aに示される実装形態では、ハッシュアルゴリズム402は、各識別子400を結果404内の異なる値にマッピングする3つのハッシュ関数を含み、各識別子400に対する結果配列内に3つの「ヒット」が存在する結果となる。異なる数のハッシュ関数が使用されてもよいし、いくつかの実装形態では、ハッシュ関数は同じ関数であってもよいが、異なるハッシュソルトまたはデータが、ハッシュのために識別子400に追加される。したがって、結合されたデータ構造408は、各識別子400に対するハッシュ関数の各結果のための識別子を含む。図示のように、多数の実装形態では、データ構造はビットの文字列を備え得、識別子400のハッシュ関数が、対応する配列位置を出力する場合、ビットは所定の値(たとえば0または1)に設定される。他の実装形態では、データ構造は、値または他のデータの配列を備え得、ハッシュ関数結果に一致する配列位置とハッシュ関数結果に一致しない配列位置との差違がみられる。
【0068】
図4Bは、一実装形態による、視聴者測定データをフィルタリングするための確率的データ構造の使用の一例の図である。視聴者測定サーバは、複数のクッキー、デバイス識別子、またはパネル参加者400のセッション識別子(たとえば、セッション識別子1 400A)を含む測定データのデータベースを有し得る。同様に、データベースは、クッキー、デバイス識別子、または全体的に非メンバ識別子410と呼ばれる、非パネル参加者のセッション識別子410(たとえば、非メンバセッション識別子1 410Aおよび2 410B)を含む測定データも含み得る。測定サーバは、ハッシュアルゴリズム402を各識別子400、410に適用して、パネル参加者識別子400の対応するハッシュ結果404および非メンバ識別子410のハッシュ結果412(たとえば、ハッシュ結果412A〜412B)を生成し得る。
【0069】
パネルプロバイダから確率的データ構造408を受信すると、視聴者測定サーバは、ステップ414において、各ハッシュ結果404、412をデータ構造408と比較し得る。ハッシュ結果404、412内のあらゆる識別された配列位置がデータ構造408に含まれる場合、対応する識別子400、410(および対応する1つまたは複数のコンテンツ識別子)が、パネルプロバイダに提供されることになるデータのサブセットに含まれ得る。しかしながら、ハッシュ結果412内の識別された配列位置のいずれかがデータ構造408に含まれない場合、対応する識別子410は、明らかにパネルのメンバでないデバイスのものでなければならない。そうである場合、ハッシュ関数は、データ構造408内で識別される位置のみを結果として生じ得る。したがって、データ構造408をハッシュ結果404、412と比較することによって、視聴者測定サービスが、どのメンバがパネル内にあり、どのメンバがパネル内にないかを判断することができなくても、視聴者測定サービスは、すべてのパネルメンバからのデータプラス非パネルメンバのランダム部分からのデータを含む測定データのサブセットを抽出し得る。
【0070】
上記で説明したように、データのサブセットが、パネルプロバイダに提供されるために抽出または選択されると、各コンテンツ識別子またはデータの項目は、その対応するセッション識別子、デバイス識別子、またはクッキーと暗号化され得る。暗号化されたデータは、パネルプロバイダに提供され得る。パネルプロバイダは、そのパネルメンバのセッション識別子、デバイス識別子、またはクッキーを有するが、非パネルメンバのためのそのような識別子は有さないので、パネルプロバイダは、パネルメンバの識別子に対応するコンテンツ識別子のみを正常に復号することが可能である。したがって、パネルプロバイダは、非パネル参加者に対応するデータを利用することが可能でないことがある。
【0071】
図5は、一実装形態による、視聴者測定サーバを介した視聴者測定のためのプロセス500の一実装形態において行われるステップの流れ図である。ステップ502において、視聴者測定サーバは、クライアントデバイスからの通信を受信し得、この通信は、コンテンツ識別子と、クライアント識別子とを含む。上記で説明したように、通信は、たとえば照会者ページを識別するコンテンツ識別子を有する、1ピクセル×1ピクセル画像の要求などの、視聴者測定サーバへのコンテンツの要求を備え得る。他の実装形態では、通信はコンテンツの要求を備え得、視聴者測定サーバは、ステップ506においてコンテンツプロバイダへのリダイレクションを用いて対応し得るが、この要求を、クライアントデバイスに配信されるコンテンツの識別情報として記録する。他の実装形態では、コンテンツ識別子および/またはクライアント識別子は、データ構造もしくはアプリケーションプログラミングインタフェース、または他の任意のそのような方法を介して、パケットのヘッダ内で、要求のパラメータとして提供され得る。上記で説明したように、クライアント識別子は、パネルプロバイダによって、または視聴者測定サーバによって生成され、登録プロセス中にクライアントに提供される、デバイス識別子、セッション識別子、またはクッキーを含み得る。いくつかの実装形態では、通信は、照会ページ、検索クエリ、タイムスタンプ、または他の任意のタイプおよび形式の情報などの、他の情報を含み得る。
【0072】
ステップ504において、いくつかの実装形態では、視聴者測定サーバは、識別子を測定データベースに追加し得る。いくつかの実装形態では、データベースは、コンテンツ識別子とクライアント識別子のペアを備え得るが、他の実装形態では、データベースは、クライアント識別子に対応するコンテンツ識別子のセットを備え得る。そのような実装形態では、新しいコンテンツ識別子が、以前に受信されたクライアント識別子とともに受信されるとき、新しいコンテンツ識別子は、前記クライアント識別子のためのセットに追加され得る。タイムスタンプ、照会ページ、検索クエリ、または他の任意のそのような情報を含む、通信において受信される他の情報は、データベースに追加され得る。
【0073】
図示のように、多数の実装形態では、ステップ502および504が、クライアントからの複数の通信に対して、または複数のクライアントからの複数の通信に対して、繰り返され得る。その後、ステップ508において、視聴者測定サーバは、パネルプロバイダからパネルのメンバの視聴者データの要求を受信し得る。要求は、たとえば、上記で
図4A〜
図4Bに関して説明したように、要求されたパネルのメンバのクライアント識別子のハッシュから計算された、ブルームフィルタ配列または商フィルタ配列などの確率的データ構造を含み得る。
【0074】
ステップ510において、視聴者測定サーバは、確率的データ構造に応じて、測定データのサブセットをフィルタリング、選択、または抽出し得る。上記で説明したように、データの抽出は、測定データベース内の各クライアント識別子のハッシュとデータ構造の比較を含み、データ構造に含まれるハッシュ結果を有するクライアント識別子をサブセット内に含み得、データ構造に含まれないハッシュ結果を有するクライアント識別子をサブセットから除外し得る。いくつかの実装形態では、ハッシュは、たとえば、ステップ504において、あらかじめ計算され、測定データベースに記憶されてもよいし、データベース内でインデックス値として使用されてもよい。
【0075】
ステップ512において、視聴者測定サーバは、抽出されたサブセット内の各コンテンツ識別子を、コンテンツ識別子とともに受信された対応するクライアント識別子を用いて暗号化し得る。視聴者測定サーバは、クライアント識別子が暗号鍵と復号鍵の両方であってよい任意のタイプおよび形式の対称暗号化を使用し得る。ステップ510の後に示されているが、いくつかの実装形態では、ステップ512は、ステップ504の後に、またはこれとともに、実行されてよい。たとえば、視聴者測定サーバは、暗号化された形式の各コンテンツ識別子をデータベース内に記憶し、異なるパネルデータ要求に対して値を繰り返し暗号化する必要性を潜在的に減少させ得る。
【0076】
ステップ514において、データの暗号化されたサブセットが、508における要求に応答してパネルプロバイダに送信され得る。上記で説明したように、サブセットは、パネルメンバのクライアント識別子に対応するコンテンツ識別子、ならびにフィルタによって生成された偽陽性から生じる非パネルメンバのクライアント識別子に対応するいくつかのコンテンツ識別子を含む。パネルプロバイダは、これらの後者のクライアント識別子を有さないので、パネルプロバイダは、それ自体のパネルメンバに対応するコンテンツ識別子のみを復号することが可能である。
【0077】
上記で説明したシステムおよび方法は、クライアントエージェントのインストールを必要としないので、視聴者測定サーバは、コンテンツの項目のすべての閲覧者からのコンテンツ識別子およびクライアント識別子を記録することが可能であり得る。たとえば、コンテンツの項目は、ウェブページ内の埋め込まれたまたはリンクされた要素として提供され得、ページをレンダリングするまたはリンクを選択すると、クライアントデバイスは、視聴者測定サーバに要求を送信し得る。したがって、そのような実装形態では、視聴者測定サーバは、視聴者が閲覧する全コンテンツを測定することが可能であり得る。さらなる一実装形態では、この全視聴者測定は、単一ソースパネルの精度を検証するために使用され得る。たとえば、単一ソースパネルはコンテンツの非常に少数の閲覧者のみを含むが、視聴者測定サーバが、非常に多くの視聴者がコンテンツのある項目(たとえば、特に人気のあるバイラルビデオ)を閲覧していると決定した場合、単一ソースパネルデータから生成されたコンテンツの視聴者の統計的予測は非常に低くなり得る。この予測は、全測定データと比較され、パネルが視聴者人口の正確なサンプルを表さないことがあることを識別するために使用され得る。類似の一実装形態では、全視聴者から視聴者測定サーバによって受信されたpingまたは測定データの一部分(たとえば、パネルメンバデータと非パネルメンバデータの両方を含めて1%)が、パネルプロバイダに転送またはリダイレクトされ得、したがって、パネルプロバイダは、そのパネルメンバデータからの予測測定と予想される全視聴者の統計学的測定を比較し得る。
【0078】
上記で説明したように、多数のそのような実装形態では、収集されたデータは、特にパネル参加者でない個人に関して、プライバシーを保護するために、匿名化されてもよいし、曖昧さをなくされてもよい。多数のそのような実装形態またはクライアントデバイスのユーザについての個人情報が測定のために収集され得るもしくはサードパーティコンテンツを選択するために使用され得る類似の状況では、ユーザは、個人情報(たとえば、ユーザのソーシャルネットワーク、社会的行為、もしくは社会的活動、ユーザの好み、またはユーザの現在のロケーションについての情報)を収集し得るプログラムもしくは特徴がそうするかどうかを制御する機会、または視聴者測定サーバおよび/またはパネルプロバイダに測定データを送信するかどうか、もしくはどのように送信するかを制御する機会を与えられ得る。さらに、あるデータが、視聴者測定サーバによって記憶または使用される前に、1つまたは複数のやり方において取り扱われることがあり、したがって、個人を特定可能な情報は、パラメータ(たとえば、人口統計学的パラメータ)を生成するとき除去される。たとえば、ユーザの身元は、個人を特定可能な情報がユーザのために決定され得ないように匿名化されてもよいし、ロケーション情報が取得される(都市、ZIPコード、または州レベルなどに対して)場合、ユーザの特定のロケーションが決定できないように、ユーザの地理的ロケーションが一般化されてもよい。したがって、ユーザは、彼または彼女についての情報がどのように収集され、視聴者測定サーバ、パネルプロバイダ、およびコンテンツプロバイダによって使用されるかを制御し得る。
【0079】
本明細書において説明する主題の実装形態および動作は、デジタル電子回路内で、または本明細書において開示されている構造およびそれらの構造的等価物を含む、コンピュータソフトウェア、ファームウェア、もしくはハードウェア内で、またはそれらのうちの1つもしくは複数の組み合わせにおいて、実施可能である。本明細書において説明する主題の実装形態は、データ処理装置による実行のための、またはデータ処理装置の動作を制御するための1つまたは複数のコンピュータ記憶媒体上で符号化された、1つまたは複数のコンピュータプログラム、すなわち、コンピュータプログラム命令の1つまたは複数のモジュールとして実施可能である。代替的にまたは追加として、プログラム命令は、データ処理装置による実行の目的で適切な受信機装置への送信のために情報を符号化するために生成された、人工的に生成された伝播信号、たとえば、機械により生成された電気信号、光信号、または電磁信号で符号化され得る。コンピュータ記憶媒体は、コンピュータ可読ストレージデバイス、コンピュータ可読ストレージ基板、ランダムアクセスメモリ配列もしくはランダムアクセスメモリデバイスもしくはシリアルアクセスメモリ配列もしくはシリアルアクセスメモリデバイス、またはそれらのうちの1つもしくは複数の組み合わせであってもよいし、これらに含まれてもよい。さらに、コンピュータ記憶媒体は伝播信号ではないが、コンピュータ記憶媒体は、人工的に生成された伝播信号内の符号化されたコンピュータプログラム命令のソースまたは宛先であってよい。コンピュータ記憶媒体はまた、1つまたは複数の別個の構成要素または媒体(たとえば、複数のCD、ディスク、または他のストレージデバイス)であってもよいし、これらに含まれてもよい。したがって、コンピュータ記憶媒体は有形であってよい。
【0080】
本明細書において説明する動作は、1つもしくは複数のコンピュータ可読ストレージデバイス上に記憶されたまたは他のソースから受信されたデータに対してデータ処理装置によって実行される動作として実施可能である。
【0081】
「クライアント」または「サーバ」という用語は、例としてプログラマブルプロセッサ、コンピュータ、システムオンチップ、または前述のうちの複数のもの、または前述のものの組み合わせを含む、データを処理するためのあらゆる種類の装置、デバイス、および機械を含む。装置は、特殊目的論理回路、たとえば、FPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)を含むことができる。装置は、ハードウェアに加えて、問題のコンピュータプログラムのための実行環境を作成するコード、たとえば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、プラットフォーム間ランタイム環境、仮想マシン、またはそれらのうちの1つまたは複数の組み合わせを構成するコードも含むことができる。装置および実行環境は、ウェブサービス、分散コンピューティングインフラストラクチャ、およびグリッドコンピューティングインフラストラクチャなどのさまざまな異なるコンピューティングモデルインフラストラクチャを実現することができる。
【0082】
コンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプト、またはコードとしても知られる)は、コンパイル型言語またはインタープリタ型言語、宣言型言語または手続き型言語を含む、任意の形式のプログラミング言語において記述可能であり、スタンドアロンプログラムとして、またはモジュール、コンポーネント、サブルーチン、オブジェクト、もしくはコンピューティング環境における使用に適した他のユニットとしての形式を含む、任意の形式において展開可能である。コンピュータプログラムは、ファイルシステム内のファイルに対応してよいが、これに対応する必要はない。プログラムは、他のプログラムまたはデータ(たとえば、マークアップ言語ドキュメントに記憶された1つまたは複数のスクリプト)を保持するファイルの一部分の中に、問題のプログラム専用の単一ファイル内に、または協調された複数のファイル(たとえば、1つまたは複数のモジュール、サブプログラム、またはコードの一部分を記憶するファイル)内に記憶可能である。コンピュータプログラムは、1つのコンピュータ上で、または1つのサイトに設置された、もしくは複数のサイトにまたがって分散され、通信ネットワークによって相互接続された複数のコンピュータ上で、実行されるように展開可能である。
【0083】
本明細書において説明するプロセスおよびロジックフローは、入力データに対して動作し、出力を生成することによって行為を実行するために、1つまたは複数のコンピュータプログラムを実行する1つまたは複数のプログラマブルプロセッサによって実行可能である。プロセスおよびロジックフローはまた、特殊目的論理回路、たとえば、FPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)によって実行可能であり、装置は、特殊目的論理回路としても実施可能である。
【0084】
コンピュータプログラムの実行に適したプロセッサとしては、例として、汎用マイクロプロセッサと特殊目的マイクロプロセッサの両方、および任意の種類のデジタルコンピュータの任意の1つまたは複数のプロセッサがある。一般に、プロセッサは、読み出し専用メモリまたはランダムアクセスメモリまたは両方から命令およびデータを受信する。コンピュータの不可欠な要素は、命令に従って行為を実行するためのプロセッサと、命令およびデータを記憶するための1つまたは複数のメモリデバイスである。一般に、コンピュータは、データを記憶するための1つまたは複数の大容量記憶デバイス、たとえば、磁気ディスク、光磁気ディスク、もしくは光ディスクも含む、または大容量記憶デバイスからデータを受信するもしくはこれにデータを転送する、もしくは両方のために、大容量記憶デバイスに動作可能に結合される。しかしながら、コンピュータは、そのようなデバイスを有する必要はない。さらに、コンピュータは、別のデバイス、たとえば、数例を挙げると、携帯電話、携帯情報端末(PDA)、携帯型オーディオプレーヤもしくはビデオプレーヤ、ゲームコンソール、全地球測位システム(GPS)受信機、またはポータブルストレージデバイス(たとえば、ユニバーサルシリアルバス(USB)フラッシュドライブ)の中に埋め込み可能である。コンピュータプログラム命令およびデータを記憶するのに適したデバイスとしては、例として、半導体メモリデバイス、たとえば、EPROM、EEPROM、およびフラッシュメモリデバイス、ならびに磁気ディスク、たとえば、内部ハードディスクまたはリムーバブルディスク、ならびに光磁気ディスク、ならびにCD-ROMディスクおよびDVD-ROMディスクを含む、あらゆる形式の不揮発性メモリ、媒体、およびメモリデバイスがある。プロセッサおよびメモリは、特殊目的論理回路によって補完されてもよいし、これに組み込まれてもよい。
【0085】
ユーザとの対話を提供するために、本明細書において説明する主題の実装形態は、ディスプレイデバイス、たとえば、CRT(陰極線管)、LCD(液晶ディスプレイ)、OLED(有機発光ダイオード)、TFT(薄膜トランジスタ)、プラズマ、他の柔軟な構成、またはユーザに情報を表示するための他の任意のモニタと、ユーザがコンピュータに入力を提供できる、キーボード、ポインティングデバイス、たとえば、マウス、トラックボールなど、またはタッチスクリーン、タッチパッドなどとを有するコンピュータ上で実施可能である。他の種類のデバイスもまた、ユーザとの対話を提供するために使用可能である。たとえば、ユーザに提供されるフィードバックは、任意の形式の感覚フィードバック、たとえば、視覚的フィードバック、聴覚的フィードバック、または触覚的フィードバックであってよい。ユーザからの入力は、音による入力、音声入力、または触覚入力を含む任意の形式において受け取り可能である。さらに、コンピュータは、ユーザによって使用されるデバイスにドキュメントを送信し、ユーザによって使用されるデバイスからドキュメントを受信することによって、たとえば、ウェブブラウザから受信された要求に応答して、ユーザのクライアントデバイス上のウェブブラウザにウェブページを送信することによって、ユーザと対話することができる。
【0086】
本明細書において説明する主題の実装形態は、たとえばデータサーバとしてバックエンドコンポーネントを含む、またはミドルウェアコンポーネント、たとえばアプリケーションサーバを含む、またはフロントエンドコンポーネント、たとえば、本明細書において説明する主題の一実装形態とユーザが対話できるグラフィカルユーザインタフェースもしくはウェブブラウザを有するクライアントコンピュータを含む、または1つもしくは複数のそのようなバックエンドコンポーネント、ミドルウェアコンポーネント、もしくはフロントエンドコンポーネントの任意の組み合わせを含む、コンピューティングシステムにおいて実施可能である。システムの構成要素は、任意の形式または媒体のデジタルデータ通信、たとえば、通信ネットワークによって相互接続可能である。通信ネットワークの例としては、ローカルエリアネットワーク(「LAN」)およびワイドエリアネットワーク(「WAN」)、インターネットワーク(たとえば、インターネット)、およびピアツーピアネットワーク(たとえば、アドホックピアツーピアネットワーク)がある。
【0087】
本明細書で開示される特徴は、スマートテレビジョンモジュール(または、接続されたテレビジョンモジュール、ハイブリッドテレビジョンモジュールなど)上で実施され得、スマートテレビジョンモジュールは、より従来のテレビジョンプログラミングソース(たとえば、ケーブル信号、衛星信号、無線信号、または他の信号を介して受信された)とインターネット接続を統合するように構成された処理回路を含み得る。スマートテレビジョンモジュールは、テレビジョンセットに物理的に組み込まれてもよいし、セットトップボックス、ブルーレイまたは他のデジタルメディアプレーヤ、ゲームコンソール、ホテルテレビジョンシステム、および他のコンパニオンデバイスなどの別個のデバイスを含んでもよい。スマートテレビジョンモジュールは、ウェブ上の、ローカルケーブルTVチャンネル上の、衛星TVチャンネル上の、またはローカルハードドライブ上に記憶された、ビデオ、ムービー、写真、および他のコンテンツを閲覧者が検索して見つけることを可能にするように構成され得る。セットトップボックス(STB)またはセットトップユニット(STU)は、チューナを含み、テレビジョンセットおよび外部信号源に接続し、その信号をコンテンツに変え、次いで、そのコンテンツがテレビジョンスクリーンまたは他のディスプレイデバイス上に表示され得る情報機器デバイスを含み得る。スマートテレビジョンモジュールは、ウェブブラウザおよび複数のストリーミングメディアサービス、接続されたケーブルまたは衛星メディアソース、他のウェブ「チャンネル」などの複数の異なるアプリケーションのためのアイコンを含む、ホームスクリーンまたはトップレベルスクリーンを提供するように構成され得る。スマートテレビジョンモジュールは、電子プログラミングガイドをユーザに提供するようにさらに構成され得る。スマートテレビジョンモジュールに対するコンパニオンアプリケーションは、ユーザにとって利用可能なプログラムについての追加情報を提供するために、ユーザがスマートテレビジョンモジュールを制御することを可能にするなどのために、モバイルコンピューティングデバイス上で動作可能であってよい。代替実施形態では、特徴は、ラップトップコンピュータもしくは他のパーソナルコンピュータ、スマートフォン、他の携帯電話、ハンドヘルドコンピュータ、タブレットPC、または他のコンピューティングデバイス上で実施され得る。
【0088】
本明細書は、多数の特定の実装形態の詳細を含むが、これらは、任意の発明または特許請求され得るものの範囲に対する制限と解釈されるべきではなく、むしろ特定の発明の特定の実装形態に固有の特徴の記述と解釈されるべきである。本明細書において別個の実装形態の文脈で説明するいくつかの特徴はまた、単一の実装形態において組み合わせて実施可能である。反対に、単一の実装形態の文脈で説明するさまざまな特徴はまた、複数の実装形態において別個に、または任意の適切な副組み合わせとして、実施可能である。さらに、特徴は、いくつかの組み合わせにおいて機能し、したがって最初に特許請求されるように上記で説明され得るが、特許請求される組み合わせからの1つまたは複数の特徴は、場合によっては、組み合わせから削除可能であり、特許請求される組み合わせは、副組み合わせまたは副組み合わせの変形形態を対象とし得る。
【0089】
同様に、動作は、図面において特定の順序で示されているが、これは、所望の結果を達成するために、そのような動作が図示の特定の順序で、もしくは連続した順序で実行されること、またはすべての図示の動作が実行されることを必要とすると理解されるべきではない。いくつかの環境では、マルチタスキングおよび並列処理が有利なことがある。さらに、上記で説明した実装形態におけるさまざまなシステム構成要素の分離は、すべての実装形態においてそのような分離を必要とすると理解されるべきではなく、説明したプログラムコンポーネントおよびシステムは一般に、単一のソフトウェア製品に一緒に統合されてもよいし、複数のソフトウェア製品にパッケージ化されてもよいことを理解されたい。
【0090】
したがって、主題の特定の実装形態について説明してきた。他の実装形態は、以下の特許請求の範囲内にある。場合によっては、特許請求の範囲に記載する行為は、異なる順序で実行され、依然として所望の結果を達成することが可能である。さらに、添付の図において示されるプロセスは、所望の結果を達成するために、必ずしも図示の特定の順序または連続した順序を必要とするとは限らない。いくつかの実装形態では、マルチタスキングおよび並列処理が利用され得る。