(58)【調査した分野】(Int.Cl.,DB名)
前記第2のコンテンツのアイテムを選択するステップが、前記第2のコンテンツのアイテムが選択基準を有しないことに応答して、複数のコンテンツのアイテムから前記第2のコンテンツのアイテムを選択するステップを備える、請求項2に記載の方法。
前記要求を、前記第1のユーザとは異なる第2のユーザに関連付けられるものとして識別するステップが、前記オーバーライドサービスによって、前記クライアントコンピューティングデバイスの識別を備えるオーバーライドセッションテーブル内のエントリを生成するステップをさらに備える、請求項1に記載の方法。
前記コンテンツセレクタが、前記第2のコンテンツのアイテムが選択基準を有しないことに応答して、複数のコンテンツのアイテムから前記第2のコンテンツのアイテムを選択するようにさらに構成される、請求項10に記載のシステム。
前記第2のコンテンツのアイテムが、前記要求されたコンテンツのアイテムに関連付けられる前記第1の人口統計プロファイルに類似した人口統計プロファイルを有することに応答して、前記コンテンツセレクタが、複数のコンテンツアイテムから前記第2のコンテンツのアイテムを選択するようにさらに構成される、請求項10に記載のシステム。
【発明を実施するための形態】
【0009】
様々な図面における同様の参照符号および名称は同様の要素を示す。
【0010】
メディアまたは他のコンテンツは、デスクトップコンピュータ、ラップトップコンピュータ、タブレットもしくはスマートフォン、ビデオゲーム機、スマートテレビ、ウェアラブルコンピュータ、またはコンテンツをユーザに提示することができる任意の他のタイプおよび形式のクライアントデバイスを含むクライアントデバイスに提供され得る。コンテンツは、テキスト、オーディオ、ビデオ、インタラクティブアプリケーション、ゲーム、または他のメディアを含む、任意のタイプおよび形式であり得る。多くの実装形態では、コンテンツは、一般にコンテンツプロバイダと呼ばれるパブリッシャによって作成され得、数千または数百万のクライアントデバイスに同時にコンテンツを配信するためのインフラストラクチャおよび帯域幅を有するコンテンツ配信システムによってクライアントデバイスに配信され得る。いくつかの実装形態では、コンテンツは、デバイスにおいて実行するアプリケーションによって作成され得、たとえば、記憶されたユーザデータに基づいてデバイスのユーザに通知を提供し得る。
【0011】
コンテンツは、特定のトリガに基づいてユーザに提示するために関連付けられてもよく、または選択されてもよい。たとえば、ユーザは、デバイスのアプリケーション内にリマインダまたはカレンダエントリを設定し得、特定の時間に、またはデバイスが特定の場所に位置したときになど、所定のイベントが発生すると、通知またはリマインダがユーザに自動的に提供され得る。さらに、コンテンツは、年齢、性別、または場所などの人口統計、ならびに興味(たとえば、金融、スポーツなど)の両方を反映し得る、様々な人口統計グループに対して選択され得る。コンテンツの要求はデバイス識別子を含み得、またはコンテンツの選択は、様々な人口統計を有するユーザに関連付けられるデバイス識別子に基づき得る。デバイス識別子および人口統計に関連付けられるユーザの代わりにクライアントデバイスが動作される正規のセッションにおいては、コンテンツが適切に選択され得る。しかしながら、別のユーザの代わりにデバイスが動作されるときなどの非正規のセッションにおいては、デバイス識別子および/または関連付けられる人口統計に基づいてコンテンツが選択されると、コンテンツが誤って選択され得、その結果、ユーザにとって適切でないコンテンツがユーザに提供されることになる。これは、たとえば、ユーザに関連付けられる情報が、ユーザとは異なる個人に提供される結果となり得る。
【0012】
たとえば、
図1を参照すると、複数のユーザ102A〜102B(一般に、ユーザ102と呼ばれる)によって使用されるクライアントデバイスへのコンテンツ配信のためのシステムの実装形態が示されている。ラップトップコンピューティングデバイス、デスクトップコンピューティングデバイス、タブレットコンピューティングデバイス、スマートフォン、ウェアラブルコンピューティングデバイス、セットトップボックス、スマートテレビ、ビデオゲーム機、または任意の他のそのようなデバイスなどのクライアントデバイス100は、プライマリユーザ102Aによって典型的に使用されてもよく、またはプライマリユーザ102Aに代わって動作されてもよい。
【0013】
クライアントデバイス100は、メディアアプリケーション、ウェブブラウザ、ゲーム、または任意の他のタイプおよび形式のアプリケーションなどのアプリケーション104を動作させ得る。多くの実装形態では、アプリケーション104は、テキスト、オーディオ、ビデオ、画像、および/またはウェブページ、ゲーム、もしくは他のコンテンツなどのインタラクティブコンテンツなどのコンテンツを表示し得る。アプリケーション104は、デバイスのユーザ102によって要求されたコンテンツ、ならびに通知アプリケーション、コンテンツサーバ、またはプロバイダによって選択され、デバイスに配信されたコンテンツ(たとえば、追加のプレロール、ポストロール、インタースティシャルコンテンツ、ユーザ通知、特集もしくはお勧めコンテンツ、または任意の他のタイプおよび形式のコンテンツなど)の両方を表示し得る。たとえば、そのような実装形態の1つにおいては、アプリケーション104は、ユーザによって要求された、または選択されたコンテンツを再生するだけでなく、自動的に他のコンテンツをユーザに提供する、メディアプレーヤであり得る。
【0014】
クライアントデバイス100は、デバイス識別子106と関連付けられてもよく、またはデバイス識別子106を備えてもよい。デバイス識別子106は、英数字文字列、データ文字列、シリアル番号、メディアアクセス制御(MAC)アドレス、インターネットプロトコル(IP)アドレス、ユーザ名もしくはアカウント名、グローバル一意識別子(GUID)、クッキー、ランダムもしくは擬似ランダム数、または、これらもしくは他の識別子の組合せを含む任意の他のタイプおよび形式の識別子を含むことができる。ある実装形態では、デバイス識別子106は、製造者のシリアル番号またはMACアドレスなど、デバイスに固定されていてもよく、またはデバイスにおいてあらかじめ設定されていてもよく、他の実装形態では、デバイス識別子106は、コンテンツプロバイダ、オーディエンス測定サーバ、アプリケーション104、またはクッキーもしくはユーザ名などの他のエンティティによって動的に設定されてもよい。ある実装形態では、コンテンツプロバイダへの通信ごとに固有のまたは新しいデバイス識別子106が設定されてよく、他の実装形態では、デバイス識別子106は、変更されなくてもよく、または定期的に(たとえば、毎時、毎日、毎週など)、もしくは他の間隔で(たとえば、クライアントデバイスの再起動時、インターネットサービスへのログイン時など)変更されてもよい。いくつかの実装形態では、デバイス識別子106は、1つまたは複数の他のデバイス識別子106(たとえば、モバイルデバイスのデバイス識別子、家庭用コンピュータのデバイス識別子など)と関連付けられ得る。多くの実装形態では、デバイス識別子106は、コンテンツプロバイダによって生成され、および/またはデバイス100に送信され得る。他の実装形態では、クライアントデバイス100は、コンテンツプロバイダにデバイス識別子またはクッキー106を要求し得、またコンテンツの要求に関連してデバイス識別子またはクッキー106をコンテンツプロバイダに送信し得る。
【0015】
上述のように、デバイス識別子106は、ユーザA 102Aなどの特定のユーザ102に関連付けられ得る。いくつかのそのような実装形態では、デバイス識別子106は、ユーザログインまたは他のユーザ特有の識別子を備え得る。他の実装形態では、デバイス識別子106は、デバイス特有であるが、コンテンツサーバ110または他のそのようなエンティティによって維持されるデータベースまたはユーザプロファイルストレージ114内のユーザ特有の識別子に関連付けられてもよい。
【0016】
上述のように、クライアントデバイス100は、コンテンツサーバ110のコンテンツを要求する、および/またはコンテンツサーバ110からコンテンツを受信することができる。コンテンツサーバまたはプロバイダ110は、ネットワーク120に接続され、直接または別のコンテンツ配信システムを介してクライアント100にコンテンツを提供するように構成された1つまたは複数のコンピューティングデバイスを含み得る。コンテンツプロバイダ110は、コンテンツプロバイダ、サーバ、ウェブサーバ、データサーバ、パブリッシャ、サービスプロバイダ、または他の同様の用語によって、様々に呼ばれ得る。多くの実装形態では、コンテンツプロバイダ110は、サーバファームまたはクラウドとして構成された複数のコンピューティングデバイスを含み得、ルータ、ロードバランサ、ネットワークアドレストランスレータ、ファイアウォール、または他のそのようなデバイスを含み得る。コンテンツプロバイダ110は、コンピュータサーバ(たとえば、FTPサーバ、ファイル共有サーバ、ウェブサーバなど)であってもよく、サーバの組合せ(たとえば、データセンター、クラウドコンピューティングプラットフォームなど)であってもよい。コンテンツプロバイダ110は、テキスト、画像、ビデオ、オーディオ、マルチメディア、もしくは他のデータ、またはこれらの任意の組合せを含む、任意のタイプおよび形式のコンテンツを提供し得る。コンテンツは、検索結果、ブログもしくはフォーラムのコンテンツ、ニュース記事、映画、テレビ番組、ポッドキャスト、ビデオゲームもしくは他のインタラクティブコンテンツ、あらゆる形式の広告、ウェブサイト、ソーシャルメディア、または任意の他のタイプおよび形式のコンテンツを含み得る。コンテンツプロバイダ110は、検索クエリに応答して検索結果データをクライアントデバイス100に提供するオンライン検索エンジンであり得る。別の実装形態では、コンテンツプロバイダ110は、ウェブページの要求に応答してクライアントデバイス100にウェブページデータを提供する第1者ウェブサーバであり得る。コンテンツサーバ110は、コンテンツ配信システム(CDS)またはコンテンツ管理システム(CMS)と呼ばれ得る。
【0017】
クライアントデバイス100は、ネットワーク120を介してコンテンツサーバ110と通信し得る。ネットワーク120は、クライアントデバイス100と1つまたは複数のコンテンツサーバ110、ならびに図示されていない他のデバイスとの間で情報を中継する、任意の形態のコンピュータネットワークまたはネットワークの組合せであり得る。ネットワーク120は、インターネット、および/またはローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、セルラーネットワーク、衛星ネットワーク、もしくは他のタイプのデータネットワークなどの他のタイプのデータネットワークを含み得る。ネットワーク120はまた、ネットワーク120内のデータを受信および/または送信するように構成された任意の数のコンピューティングデバイス(たとえば、コンピュータ、サーバ、ルータ、ネットワークスイッチなど)を含み得る。ネットワーク120はさらに、任意の数のハードワイヤード接続および/またはワイヤレス接続を含み得る。クライアントデバイス100は、(たとえば、光ファイバケーブル、CAT5ケーブルなどを介して)ネットワーク120内の他のコンピューティングデバイスにハードワイヤードされたトランシーバとワイヤレスに(たとえば、WiFi、セルラー、無線などを介して)通信し得る。いくつかの実装形態では、ネットワーク120は、単一の物理マシンによって実行される複数の仮想マシン間の仮想ネットワークなどの仮想ネットワークでもよく、または物理的に移動可能なメディアを介したデータのオフライン転送などの抽象的なネットワーク(たとえば、テープメディア、CD-ROM、フラッシュメディア、外部ハードドライブ、フロッピーディスクなどを介してデータを転送するスニーカーネットなど)でもよい。
【0018】
コンテンツサーバ110は、ユーザプロファイルストレージ114と通信するか、またはユーザプロファイルストレージ114を維持することができる。ユーザプロファイルストレージ114は、デバイス識別子106、各デバイス識別子106に関連付けられるユーザ102Aに関する人口統計情報、および他のそのような情報を記憶するための1つまたは複数のデータベース、テーブル、大型データアレイ、または他の構造を備え得る。
【0019】
多くの実装形態では、ユーザプロファイルストレージ114は、共通ユーザ102Aに関連する複数のデバイス識別子106間の関連付けを記憶し得る。ユーザプロファイルストレージ114に記憶される人口統計データは、英数字文字列またはテキスト、所定の値もしくは可能性を有するデータを表す所定のフラグもしくはバイナリデータ、数値、または他のそのようなデータを含む、任意のタイプおよび形式であり得る。上述のように、人口統計データは、好きなスポーツもしくはチーム、旅行先、趣味、または他のそのような興味などの、ユーザの嗜好または興味を含み得る。多くの実装形態では、人口統計データの異なる値が他のデータと同様であってもよく、または他のデータのサブセットであってもよい(たとえば、異なるモデルの車はブランドのサブセットであってもよく、または異なるブランドの車は「車」のサブセットであってもよい)。類似性または階層的関係は、正の関連付けと呼ばれ得る。同様に、人口統計データは、他のデータとは異なるか、または離れている可能性がある(異なる値が同時に真であり得ないオプション、または興味もしくは趣味の明示的な否定的嗜好もしくは嫌悪など)。そのような異種の関係は、負の関連付けと呼ばれ得る。人口統計データ値またはサブセット間の正および負の関連付けもまた、ユーザプロファイルストレージ114に記憶され得る。
【0020】
多くの実装形態では、ユーザに関する人口統計情報は、デバイスユーザのプライバシーを保護するために、匿名化または曖昧さ除去され得る。クライアントデバイスのユーザに関する個人情報が測定のために収集され得る、または第三者コンテンツを選択するために使用される、多くのそのような実装形態または同様の状況においては、ユーザは、個人情報(たとえば、ユーザのソーシャルネットワーク、ソーシャルアクションもしくはアクティビティ、ユーザの嗜好、またはユーザの現在地に関する情報)を収集し得るプログラムまたは機能が、収集するかどうかを制御する機会、またはオーディエンス測定サーバおよび/もしくはパネルプロバイダに測定データを送信するかどうか、もしくはどのように送信するかを制御する機会が提供され得る。さらに、特定のデータは、パラメータ(たとえば、人口統計的パラメータ)を生成する際に個人識別可能な情報が削除されるように、オーディエンス測定サーバによって記憶または使用される前に1つまたは複数の方法で処理され得る。いくつかの実装形態では、ユーザについての個人識別可能な情報が決定され得ないように、ユーザの身元が匿名化されてもよく、または、ユーザの特定の位置が決定され得ないように、位置情報が取得されたユーザの地理的位置(たとえば、都市、郵便番号、または州レベルの)が一般化されてもよい。したがって、ユーザは、彼または彼女についてどのように情報が収集されるか、またコンテンツプロバイダによってどのように使用されるかを制御し得る。
【0021】
上述のように、多くの場合、クライアントデバイス100のプライマリユーザまたは所有者は、別のユーザすなわちセカンダリユーザB 102Bがそのデバイスを使用することを可能にする。いくつかの例では、プライマリユーザが、セッションを明示的にログアウトもしくは終了してもよく、またはセカンダリユーザが、明示的にログインしてもよく、もしくは、さもなければ、新しいユーザがデバイスを操作していることを示してもよいが、多くの実装形態では、そのような明示的な表示は行われない。したがって、コンテンツサーバ110は、異なる人口統計または興味を持った異なるユーザがそのデバイスを使用していることを認識することができず、そのような非正規のセッションの間に配信するためのコンテンツを誤って選択する可能性がある。これを回避するために、本明細書で論じるシステムおよび方法のいくつかの態様では、コンテンツサーバは、クライアントデバイス100のオペレータ(たとえば、ユーザB 102B)によって要求されたコンテンツのオーディエンスメンバーに典型的に関連付けられる人口統計データと、デバイスプライマリユーザ(たとえば、ユーザA 102A)に関連付けられる人口統計データとの間の不一致により、セッションを非正規として識別し得る。この不一致は、以下でより詳細に論じる様々な方法で、人口統計データ間の相関(correlation)および重複(overlap)を分析することによって識別され得る。
【0022】
図2Aは、一実装形態による、
図1に示されるクライアントデバイスおよびサーバデバイスのブロック図である。1つだけのコンテンツサーバ110およびクライアントデバイス100が図示されているが、多くの実装形態では、複数のプロバイダまたはサーバおよびデバイスは、1つまたは複数のネットワーク120を介して通信し得る。
【0023】
クライアントデバイス100は、クライアント、デバイス、クライアントデバイス、コンピューティングデバイス、ユーザデバイス、または任意の他のそのような用語として様々に呼ばれてもよく、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、スマートフォン、ビデオゲーム機、スマートテレビもしくはセットトップボックス、サーバ、ワークステーション、またはネットワーク120を介して通信することができる任意の他のタイプおよび形式のコンピューティングデバイスであってもよい。いくつかの実装形態では、クライアントデバイス100のタイプは、モバイルデバイス、デスクトップデバイス、もしくは、静止したままでいることが意図された、もしくはローカルエリアネットワークを介して主にネットワーク120にアクセスするように構成されたデバイスとして、またはメディア消費デバイスなどの別のカテゴリの電子デバイスとして分類されてもよい。
【0024】
いくつかの実装形態では、クライアントデバイス100は、ウェブブラウザ、メールクライアント、ビデオプレーヤ、音楽プレーヤ、ビデオゲーム、または任意の他のそのようなアプリケーション104などのネットワークを介して通信するために、アプリケーション、サービス、サーバ、デーモン、ルーチン、または他の実行可能なロジック104を実行し得る。そのようなアプリケーション104は、コマンドラインインターフェース、グラフィカルユーザインターフェース、またはこれらもしくは他のインターフェース202の任意の組合せを含み得る。クライアントデバイスがスマートテレビまたはセットトップボックスである実装形態では、クライアントデバイスは、地上波、衛星放送、またはケーブル放送などの第1のインターフェースを介して何らかのコンテンツを受信し得、またイーサネット(登録商標)またはWiFiインターフェースなどのネットワーク120を介して通信するネットワークインターフェース226などの第2のインターフェースを介して他のコンテンツを受信し得る。他の実装形態では、クライアントデバイス100は、ネットワーク120を介してのみコンテンツを受信し得る。
【0025】
多くの実装形態では、クライアントデバイス100は、プロセッサ222およびメモリ224を含む。メモリ224は、プロセッサ222によって実行されると、プロセッサ222に本明細書に記載された動作のうちの1つまたは複数を実行させる機械命令を記憶し得る。プロセッサ222は、マイクロプロセッサ、ASIC、FPGAなど、またはそれらの組合せを含み得る。多くの実装形態では、プロセッサ222は、マルチコアプロセッサまたはプロセッサのアレイであり得る。メモリ224は、これに限定されないが、電子的、光学的、磁気的、またはプロセッサ222にプログラム命令を提供することができる任意の他のストレージデバイスを含み得る。メモリ224は、フロッピーディスク、CD-ROM、DVD、磁気ディスク、メモリチップ、ROM、RAM、EEPROM、EPROM、フラッシュメモリ、光メディア、またはプロセッサ222が命令を読み取ることができる任意の他の適切なメモリを含み得る。命令は、これに限定されないが、C、C++、C#、Java(登録商標)、JavaScript(登録商標)、Perl、HTML、XML、Python、およびVisual Basicなどの任意の適切なコンピュータプログラミング言語からのコードを含み得る。
【0026】
クライアントデバイス100は、1つまたは複数のネットワークインターフェース226を含み得る。ネットワークインターフェース226は、10 Base T、100 Base T、または1000 Base T(「Gigabit」)を含むイーサネット(登録商標)を含む任意のタイプおよび形式のインターフェース、802.11a、802.11b、802.11g、802.11n、もしくは802.11acなどの様々な802.11ワイヤレスのいずれか、CDMA、LTE、3G、もしくは4Gセルラーを含むセルラー、Bluetooth(登録商標)もしくは他の近距離ワイヤレス接続、またはネットワーク120と通信するためのこれらもしくは他のインターフェースの任意の組合せを含み得る。多くの実装形態では、クライアントデバイス100は、異なるサブネットワークを介して様々なネットワーク120またはインターネットなどのネットワーク120への接続を可能にする、異なるタイプの複数のネットワークインターフェース226を含み得る。クライアントデバイス100はまた、上述のように、地上波、衛星放送、またはケーブルアナログ放送もしくはデジタル放送を受信するための他のインターフェースを含み得る。
【0027】
クライアントデバイス100は、1つまたは複数のユーザインターフェースデバイス228を含み得る。ユーザインターフェースデバイス228は、感覚情報(たとえば、ディスプレイ上の視覚化、1つまたは複数の音、触覚フィードバックなど)を生成することによってユーザにデータを伝達し、および/またはユーザから受け取った感覚情報を電子信号に変換する任意の電子デバイス(たとえば、キーボード、マウス、ポインティングデバイス、タッチスクリーンディスプレイ、マイクロフォンなど)であり得る。様々な実装形態によれば、1つまたは複数のユーザインターフェースデバイスは、内蔵ディスプレイ、タッチスクリーン、マイクロフォンなど、クライアントデバイス100の筐体の内部にあってもよく、またはクライアントデバイス100に接続されたモニタ、クライアントデバイス100に接続されたスピーカなど、クライアントデバイス100の筐体の外部にあってもよい。
【0028】
クライアントデバイス100は、メモリ224にアプリケーション104を含んでもよく、プロセッサ222によってアプリケーション104を実行してもよい。アプリケーション104は、コンテンツを受信し、応答、コマンド、または他のデータを送信するためのアプリケーション、アプレット、スクリプト、サービス、デーモン、ルーチン、または他の実行可能なロジックであり得る。一実装形態では、アプリケーション104はウェブブラウザであり得、別の実装形態では、アプリケーション104はビデオゲームであり得る。アプリケーション104は、ネットワークインターフェース226を介して受信された、および/またはプロセッサ222によってローカルに生成されたコンテンツを表示するための、ならびにウェブサイトの要求、調査応答オプションの選択、テキスト文字列の入力などの、ユーザインターフェースデバイス228を介して受信した対話を送信するための機能を含み得る。
【0029】
アプリケーション104は、メディアプレーヤであってもよく、またはウェブブラウザ内のプラグインもしくはネイティブメディアプレーヤなどの埋込みメディアプレーヤを含んでもよい。アプリケーション104は、スキップ制御、よくないね(dislike)ボタン、または任意の同様のインターフェースなどの、メディアプレーヤにおいて再生されるコンテンツと対話するためのユーザインターフェース202を提供し得る。いくつかの実装形態では、クライアントデバイス100のユーザは、コンテンツサーバ110にコンテンツを要求するために、ユーザインターフェース202を利用し得る。たとえば、クライアントデバイス100のユーザは、テレビ番組、映画、音楽ビデオ、ウェブページ、歌、ポッドキャスト、または任意の他のタイプおよび形式のコンテンツを閲覧するために、検索して選択し得る。多くの実装形態では、クライアントデバイス100は、コンテンツの要求および/またはコンテンツの検索要求を送信し得、要求を伴うデバイス識別子106またはクッキーを含み得る。コンテンツプロバイダ110は、要求されたコンテンツまたは検索結果で応答し得、また、いくつかの実装形態では、第三者プロバイダからクライアントデバイス100に提供するために、広告または特集コンテンツなどの追加のコンテンツを選択し得る。要求は、HTTP GETもしくはPOST要求、FTP要求、リモートプロシージャコール、アプリケーションプログラミングインターフェース(API)を介する通信、またはコンテンツサーバ110への任意の他のタイプおよび形式の通信を含む、任意のタイプおよび形式によって送信され得る。
【0030】
やはり
図2Aに示されているのは、コンテンツプロバイダ110、コンテンツサーバ、または同様のデバイスの実装形態のブロック図である。クライアントデバイス100と同様に、サーバ110は、1つまたは複数のプロセッサ222、メモリ224、ネットワークインターフェース226、およびユーザインターフェース228を含み得る。ヘッドレスサーバと呼ばれるいくつかの実装形態では、サーバ110はユーザインターフェース228を含み得ないが、ネットワーク120を介してユーザインターフェース228を用いてクライアント100と通信し得る。メモリ224は、ウェブページ、画像、オーディオファイル、ビデオファイル、データファイル、または任意の他のタイプおよび形式のデータのストレージなどのコンテンツストレージ112を含み得る。いくつかの実装形態では、メモリ224は、FTPサーバ、ウェブサーバ、メールサーバ、ファイル共有サーバ、ピアツーピアサーバ、またはコンテンツストレージに記憶されたコンテンツを配信するための他のそのようなアプリケーションを含む、サーバのプロセッサ222による実行のための1つまたは複数のアプリケーション(図示せず)を記憶し得る。
【0031】
いくつかの実装形態では、サーバ110はユーザ識別サービス204を実行し得る。ユーザ識別サービス204は、デバイス識別子および/もしくはコンテンツのアイテムの要求もしくはそのような要求に関する情報を受信すること、一時的なデバイス識別子(たとえば、セッションクッキーもしくは一時識別子)を生成および送信すること、または任意の他のそのような機能を含む、クライアントデバイス100から送信されたデバイス識別子106を識別および/または認証するためのアプリケーション、サービス、サーバ、デーモン、ルーチン、または他の実行可能なロジックを備え得る。一実装形態では、ユーザ識別サービス204は、デバイス識別子および関連付けられるユーザ識別子のデータベース、テーブル、またはインデックスを維持し得る。たとえば、上述のように、多くの場合、単一のユーザは、それぞれがそれ自身のデバイス識別子に関連付けられる複数の異なるデバイス(たとえば、タブレット、ラップトップ、スマートフォンなど)を有し得る。共通の人口統計プロファイルを維持するために、各デバイス識別子は、単一のユーザ識別子に関連付けられ得る。デバイス識別子を受信すると、ユーザ識別サービス204は、対応するユーザ識別子をデータベースから識別し得る。ユーザ識別子は、ユーザ名、アカウント名、ユーザID、文字列、ハッシュ結果、または任意の他のタイプおよび形式の一意の識別子などの、任意のタイプおよび形式の識別子を備え得る。
【0032】
ユーザ識別サービス204は、ユーザプロファイルストレージ114と通信するか、またはユーザプロファイルストレージ114を維持することができる。サーバ110内に記憶されているように示されているが、多くの実装形態では、ユーザプロファイルストレージ114は1つまたは複数の外部ストレージデバイスに記憶され得る。ユーザプロファイルストレージ114は、データベース、フラットファイル、データアレイ、またはデバイス識別子および/もしくはユーザ識別子ならびに関連付けられる人口統計的リストもしくは特性を識別するための任意の他のタイプおよび形式のデータ構造もしくは構造を備え得る。
図2Bを簡単に参照すると、ユーザプロファイルストレージ114の一実装形態が示されている。一実装形態では、ユーザプロファイルストレージ114は、一般に人口統計的リスト250と呼ばれる1つまたは複数の人口統計的リスト250A〜250Bを備え得る。各人口統計的リスト250は、対応する人口統計的特性または値と関連付けられ得る。上述のように、人口統計的特性または値は、年齢もしくは場所などの物理的人口統計を指してもよく、または複数のユーザに共通であり得る興味、趣味、または他のそのような特性を指してもよい。人口統計的特性または特性は、調査もしくはプロファイルの質問を介して明示的に取得されてもよく、または知られている特徴を有するデバイスに関連付けられる要求に類似するデバイスに関連付けられる要求を介して、もしくはデバイスのユーザの検索履歴もしくは他の動作を介して黙示的に取得されてもよい。特徴または特性は、特性がいくつかの異なる潜在的な値を有し得る場合など、値によって識別され得る。上述のように、多くの実装形態では、人口統計的特性は匿名化され得る。
【0033】
各人口統計的リストは、一般にユーザ識別子またはUID252と呼ばれる、ゼロ、1つ、または複数のデバイス識別子および/またはユーザ識別子252A〜252Fを含み得る。人口統計的リスト250によってインデックス付けされているように示されているが、他の実装形態では、ユーザプロファイルストレージ114は、関連付けられる人口統計的リスト250を有するUID252ごとのエントリを備え得る。したがって、ユーザプロファイルストレージ114は、任意の都合のよい形式または方法で、人口統計的リスト250およびUID252を関連付けることができる。
【0034】
図2Aに戻ると、コンテンツサーバは、コンテンツパーソナライゼーションシステムと呼ばれることもあるコンテンツセレクタ206を実行し得る。コンテンツセレクタ206は、デバイス識別子(または対応するUID252)に関連付けられる人口統計的特性または値に基づいて選択されたコンテンツをデバイスに配信するためのコンテンツを選択するためのアプリケーション、サービス、サーバ、デーモン、ルーチン、または他の実行可能なロジックを備え得る。オーディオまたはビデオコンテンツなどの任意のタイプおよび形式のコンテンツを含む、コンテンツストレージ112に記憶されたコンテンツは、ゼロ、1つ、または複数の選択基準に関連付けられ得る。選択基準は、提供されるコンテンツに対してコンテンツプロバイダが指定した1つまたは複数の人口統計的特性または値のセットを備え得る。たとえば、コンテンツのアイテムは、特定の年齢、場所、および/または興味のセットのユーザに対して選択され得る。多くの実装形態では、さらなる柔軟性を提供するために、基準はブール演算子(たとえば、「特性1かつ特性2」あるいは「特性1または特性2」)を含み得る。多くの実装形態では、コンテンツセレクタ206は、クライアントデバイスのデバイス識別子に関連付けられる(および、デバイスの推定されたユーザまたはプライマリユーザに関連付けられる)人口統計的特性に基づいて、クライアントに配信するためのコンテンツを選択し得る。そのようなコンテンツは、特集コンテンツまたは広告など、ユーザによって要求されたコンテンツに加えられてもよい。いくつかの実装形態では、コンテンツのアイテムは選択基準を有しなくてもよく、そのようなコンテンツは、ユーザの人口統計的特性にかかわらず、またはデバイス識別子に関連付けられる配信のために、コンテンツセレクタ206によって選択され得る。上述のように、いくつかの実施形態では、選択されたコンテンツはリマインダまたは通知であり得る。そのような実施形態では、コンテンツセレクタ206は、デバイス上で実行するプロセスによって実行され、選択されたコンテンツに関連付けられる1つまたは複数の基準に基づいて選択され得る。
【0035】
上述のように、いくつかの実装形態では、ユーザは、非正規のセッションの間に、クライアントデバイスのデバイス識別子に関連付けられていないクライアントデバイスを使用している可能性がある。そのようなユーザのコンテンツを、デバイス識別子に関連付けられる人口統計的特性に基づいて選択すると、ユーザが興味のないコンテンツが誤って選択されるか、またはデバイスの現在のユーザとは異なる個人向けの通知を提供する結果になり得る。これは、ユーザの不満もしくは煩わしさ、クリックスルーもしくはコンバージョンの減少、データのプライバシー問題または他のそのような結果をもたらす可能性がある。これを回避するために、コンテンツプロバイダ110は、非正規のセッションを識別し得、セッションのコンテンツパーソナライゼーションを無効にするか、またはデバイス識別子に関連付けられる人口統計的特性に基づくコンテンツの選択などの、ユーザのためのコンテンツの選択を停止し得る。いくつかの実装形態では、パーソナライゼーションを無効にすると、コンテンツセレクタ206は、非正規のセッション中にユーザによって要求された他のコンテンツとの類似性に基づいてコンテンツを選択し得る。他の実装形態では、コンテンツセレクタ206は、上述のように、ランダムコンテンツまたはどの選択基準にも関連付けられないコンテンツを選択し得る。
【0036】
上述のように、非正規のセッションの間に、代替または非プライマリユーザは、クライアントデバイスに配信するためのコンテンツを要求し得る。この要求されたコンテンツは、非正規のセッションを識別するために使用され得る。要求されたコンテンツは、要求されたコンテンツの可能性のあるオーディエンスを表す、1つまたは複数の人口統計的特性またはオーディエンスプロファイルに関連付けられ得る。そのようなプロファイルは、コンテンツメタデータストレージ208に記憶され得る。コンテンツメタデータストレージ208は、コンテンツストレージ112内のコンテンツに関するメタデータを記憶するためのデータベース、フラットファイル、テーブル、アレイ、または他のデータ構造を備え得る。
図2Cを簡単に参照すると、コンテンツメタデータストレージ208のそのような実装形態の1つが示されている。コンテンツメタデータストレージ208は、コンテンツ260A〜260N(一般にエントリ260と呼ばれる)のアイテムごとのエントリを備え得る。各エントリは、コンテンツのアイテムの識別子262、コンテンツのアイテムのタイトル264;および、タイプ、長さ、ストレージ場所もしくはユニフォームリソースロケータ(URL)、ジャンル、または任意の他のそのような情報を含む、コンテンツのアイテムに関する任意の他の情報を備え得る。各エントリは、一般にオーディエンス割合(audience percentage)266と呼ばれる、1つまたは複数の可能性のあるオーディエンスおよび対応する割合266A〜266Nをさらに識別し得る。各オーディエンス割合266は、人口統計的特性または人口統計的特性のセット(たとえば、複数の人口統計的特性の組合せまたはブールAND)に対応し得、コンテンツのアイテムを要求するユーザが対応する人口統計的特性または特性を有する、関連付けられる割合の可能性を有し得る。たとえば、第1の特性は60%の割合を有し得、これはコンテンツを要求するユーザの60%が第1の特性を有することを示す。オーディエンス割合266はまた、位置および興味、または性別および年齢などの人口統計的特性の組合せに適用され得る。オーディエンス割合266は、コンテンツプロバイダ、測定サービス、または他のエンティティによって入力され得る。いくつかの実装形態では、オーディエンス割合2
66は、正規(たとえば、ユーザログインに続く)として明示的に識別されたセッションの間に要求されたコンテンツ、コンテンツの提示前、提示後、もしくは提示中の調査、外部データソースへのルックアップ、または他のコンテンツメタデータ(たとえば、タイトル、説明、キーワード、ジャンルなど)に基づく評価に基づいて決定され得る。単一のデータベースにおいて示されているが、多くの実装形態では、コンテンツメタデータストレージ208内の各エントリは、コンテンツの対応するアイテムを有するメタデータとして記憶され得る(たとえば、ID3タグもしくは同様のメタデータとして、XMLデータもしくはM3Uプレイリストなどの関連ファイルもしくはマニフェスト内に、または任意の他のそのようなフォーマット内に)。したがって、そのようなエントリは、対応するコンテンツのアイテムの検索によって検索され得る。
【0037】
セッションは、クライアントデバイスのデバイス識別子に関連付けられる人口統計プロファイル、またはデバイスもしくはプライマリユーザのUID252を含む人口統計的リスト250と、要求されたコンテンツのアイテムに関連付けられるオーディエンス割合266との間の不一致または相違に基づいて、非正規として識別され得る。そのような不一致は、クライアントデバイスを操作するユーザがデバイス識別子に関連付けられていないことを黙示し得、したがって、デバイス識別子に関連付けられる人口統計に基づく追加のコンテンツの選択は、少なくとも一時的に無効にされるべきである。
図2Aに戻ると、いくつかの実装形態では、コンテンツプロバイダ110は、オーバーライドサービス210を実行し得る。オーバーライドサービス210は、デバイス識別子106に関連付けられる人口統計プロファイルと、要求されたコンテンツに関連付けられるオーディエンス割合266とを比較または相関させるためのアプリケーション、サービス、サーバ、デーモン、ルーチン、または他の実行可能なロジックであり得る。たとえば、クライアントデバイスは、コンテンツのアイテムおよびデバイス識別子106の要求を送信し得る。オーバーライドサービス210は、人口統計プロファイルを検索してもよく、または対応するUIDを含む人口統計的リスト250の識別をコンパイルしてもよい。オーバーライドサービス210はまた、コンテンツメタデータストレージ208から要求されたコンテンツのオーディエンス割合266を取り出すことができる。オーバーライドサービス210は、人口統計プロファイルとオーディエンス割合の特性を比較し、重複スコアを計算し得、クライアントデバイスのユーザが人口統計プロファイルに関連付けられるユーザであるか否か、したがって、セッションが正規であるか否かの可能性を示す。セッションが正規ではない場合、オーバーライドサービスは、オーバーライドセッションテーブル212にエントリを追加し得る。追加のコンテンツを選択する前に、コンテンツセレクタ206は、セッションのエントリが存在するかどうかを決定するために、オーバーライドセッションテーブル212を調べることができる。存在する場合、コンテンツセレクタ206は、パーソナライゼーションを無効にするか、および/または、選択基準を有しない、もしくは、人
口統計プロファイルではなく、要求されたコンテンツにのみ関連付けられる追加のコンテンツを選択することができる。
【0038】
図2Dを簡単に参照すると、オーバーライドセッションテーブル212の一実装形態が示されている。オーバーライドセッションテーブル212は、一般にオーバーライドエントリ270と呼ばれる、UIDに関連付けられるエントリ270A〜270Bを記憶するためのデータベース、フラットファイル、データアレイ、または他のデータ構造を備え得る。多くの実装形態では、セカンダリユーザがデバイスをプライマリユーザに戻す可能性があり、後続の要求が正規のものである可能性があるため、パーソナライゼーションは、任意のデバイス識別子または対応するUIDに対して一時的にオーバーライドされ得る。したがって、多くの実装形態では、各オーバーライドエントリ270は、セッション開始時間272A〜272B(一般にセッション開始時間272と呼ばれる)および/またはセッション終了時間274A〜274B(一般にセッション終了時間274と呼ばれる)を含み得る。他の同様の実装形態では、オーバーライドエントリ270は、オーバーライドの開始時間および持続時間、または終了時間のみを含み得る。持続時間および/または終了時間は、上述のように、非正規であると識別されるクライアントデバイスからのさらなる要求に基づいて延長され得る。たとえば、クライアントデバイスからコンテンツの第1の非正規の要求を識別すると、オーバーライドサービスは、将来10分のセッション終了時間274を有するエントリを生成し得る。その間に、パーソナライゼーションが無効にされている間に、コンテンツプロバイダは、クライアントデバイスからコンテンツの第2の要求を受信し得、オーバーライドサービスは、第2の要求を非正規として識別し得る。これに応答して、いくつかの実装形態では、オーバーライドサービスは、セッション終了時間274をさらに10分、または他のそのような時間期間だけ延長し得る。いくつかの実装形態では、各オーバーライドエントリ270は、一般にオーバーライドリスト276と呼ばれるオーバーライドリスト276A〜276Bを含み得る。各オーバーライドリスト276は、コンテンツパーソナライゼーションが無効にされるべきであるUIDまたはデバイス識別子に関連付けられる人口統計的リスト250または人口統計的特性もしくは値を識別し得る。いくつかの実装形態では、すべての人口統計的特性についてパーソナ
ライゼーションを無効にすることはできない。たとえば、人口統計的特性A、B、およびCを有するプライマリユーザが与えられた場合、オーバーライドサービスが、実際の(たとえばセカンダリ)ユーザが特性AまたはBを有しないが、特性Cと重複していると黙示する場合、特性Cのコンテンツ選択を無効にすることなしに、特性AおよびBのコンテンツの選択が無効にされ得る。1つの一般的な例は、地理的な場所であり得る。プライマリユーザおよびセカンダリユーザが同様のエリア内に存在し、両方がローカルコンテンツに興味を持つ可能性があるため、オーバーライドサービスは、ユーザプロファイルの位置人口統計が要求されたコンテンツのオーディエンスの位置人口統計と重複すると決定し得、したがって、ローカライズされたコンテンツのコンテンツ選択をオーバーライドまたは無効にしない。
【0039】
図2Aに戻ると、いくつかの実装形態では、オーバーライドサービス210は、相関器214を備え得る。比較器または比較エンジンと呼ばれることもある相関器214は、サブルーチン、サービス、サーバ、デーモン、または多変量の人口統計プロファイルおよびオーディエンス割合を比較するための他の実行可能なロジックを備え得る。相関器214は、整数値もしくはビット列を比較するためのビットごとの比較器、数学的比較器、アナログ比較器、または値を相互におよび/もしくはしきい値と比較するための任意の他のタイプおよび形式のハードウェアもしくはソフトウェアを備え得る。他の実装形態では、相関器214は、集約されたデバイス測定データにおける特徴の存在に関する統計値と、人口統計データにおける特徴の存在との間の相関を決定するために、任意のタイプおよび形式のアルゴリズムを使用し得る。相関器214は、データ内の特徴の周波数を他のデータ内の特徴の周波数と比較するために、ピアソン相関アルゴリズムを使用し得る。結果として得られた相関係数はしきい値と比較され得、その特徴に関連付けられる信頼スコアは、係数がしきい値を上回るかまたは下回ることに応答して増減され得る。
【0040】
オーバーライドサービス210は、いくつかの実装形態では、タイマ216を維持し得る。タイマ216は、オーバーライドセッションテーブル212内のオーバーライドエントリが依然としてアクティブであるかどうか、および/またはそれらがクリアされるべきか、もしくは削除されるべきかを決定するために使用され得る。多くの実装形態では、タイマ216は、サーバ110のオペレーティングシステムによって実行され得る。
【0041】
図3Aは、一実装形態による、非正規のセッションを識別し、コンテンツを配信するための方法300のフローチャートである。ステップ302において、コンテンツサーバ110などのコンテンツプロバイダまたはサーバは、クライアントデバイス100からコンテンツのアイテムの要求を受信し得る。上述のように、要求は、デバイス識別子に関連付けられるデバイスのプライマリユーザなどのユーザの代わりであってもよく、またはデバイス識別子に関連付けられていない代替またはセカンダリユーザの代わりであってもよい。要求は、HTTP GETもしくはPOST要求、FTP要求、リモートプロシージャコールもしくはAPI要求、または任意の他のタイプおよび形式の要求を含む、任意のタイプおよび形式のプロトコルであり得る。要求を受信することは、トランスポート層セッションなどの、クライアントデバイスとの通信セッションを確立することを備え得る。したがって、要求を受信することは、ハンドシェーキングプロトコルまたは他の機能を実行することを備え得る。要求は、要求されたコンテンツのアイテムの識別子(たとえば、名前、URL、キーワード、ジャンルなど)を備え得、また(プライマリユーザがクライアントデバイスを使用しているかどうかにかかわらず)プライマリユーザに関連付けられ得るユーザ識別子、デバイス識別子、クッキー、または他のそのような識別子を備え得る。いくつかの実装形態では、要求は、キーワード検索、もしくはウェブページ、ビデオ、オーディオファイルの検索、または他のそのような検索などの検索要求であり得る。コンテンツサーバは、ネットワークインターフェース226およびネットワーク120などのネットワークを介してネットワークインターフェース経由で要求を受信し得る。いくつかの実装形態では、フロントエンド、ゲートウェイ、またはロードバランサは、要求を受信し、その要求をコンテンツサーバに転送し得る。
【0042】
ステップ304において、コンテンツサーバのユーザ識別サービスは、ユーザプロファイルが、要求におけるデバイス識別子、ユーザ識別子、またはクッキーに対応するユーザプロファイルストレージまたはデータベースにおいて利用可能であるかどうかを決定し得る。利用可能ではない場合、プライマリユーザの人口統計プロファイルを取得することはできない。したがって、ステップ306において、いくつかの実装形態では、コンテンツサーバのコンテンツセレクタは、選択基準のない広告または特集コンテンツなどの、クライアントデバイスに配信するための追加のランダムコンテンツを選択し得る。「ランダム」コンテンツと呼ばれるが、多くの実装形態では、そのようなコンテンツは、人口統計的特性を使用することなしに選択され得るが、順序付けられたリスト、オークションシステム、または他の基準に従って選択され得る。したがって、ランダムコンテンツは、単にパーソナライゼーションシステムを介して選択されないコンテンツであり得、したがって、ユーザの人口統計的特性に関連して、またはそれに関係して「ランダム」である可能性がある。他の実装形態では、コンテンツセレクタは、要求されたコンテンツのオーディエンス割合に一致する選択基準を有する追加のコンテンツに基づいて、追加のコンテンツを選択し得る。たとえば、要求が自動車に関連するビデオに対するものである場合、コンテンツセレクタは、自動車への興味を有する人口統計グループに一致する選択基準を有する追加のコンテンツを選択し得る。
【0043】
ステップ308において、コンテンツサーバは、要求されたコンテンツおよび選択されたコンテンツを配信し得る。いくつかの実装形態では、要求されたコンテンツおよび選択されたコンテンツを配信することは、クライアントデバイスまたはクライアントデバイスのアプリケーションが、要求されたコンテンツおよび選択されたコンテンツに対するさらなる要求(たとえば、ストリーミング再生のためのコンテンツの複数のブロックまたはチャンクのURLを識別し、プレロール、ポストロール、またはインタースティシャルコンテンツとして選択されたコンテンツを含むマニフェスト)を送信し得るように、コンテンツの両方のアイテムを識別するプレイリストまたはマニフェストを生成することを備え得る。他の実装形態では、要求されたコンテンツおよび選択されたコンテンツを配信することは、要求されたコンテンツおよび選択されたコンテンツを備えるウェブページ(たとえば、バナー広告、ポップアップ広告もしくはポップアンダー広告として、特集検索結果として、または任意の他のタイプおよび形式の配信として)を生成することを備え得る。さらに他の実装形態では、要求されたコンテンツおよび選択されたコンテンツを配信することは、要求されたコンテンツおよび選択されたコンテンツを検索し、受信し、および/またはレンダリングするためのクライアント上のアプリケーションのための命令を生成することを備え得る。
【0044】
ユーザプロファイルがステップ304において利用可能である場合、ステップ310において、コンテンツサーバのオーバーライドサービスは、デバイス識別子またはUIDのエントリがオーバーライドセッションテーブルに存在するかどうかを決定し得る。エントリが存在するかどうかを決定することは、テーブルを検索すること、および/もしくはUIDもしくはデバイス識別子のテーブルを検索すること、デバイス識別子もしくはUIDのインデックスに記憶されたエントリを検索すること、または任意の他のそのような機能を備え得る。オーバーライドエントリが存在する場合、ステップ312において、オーバーライドが延長され得る。オーバーライドサービスは、セッション持続時間もしくはセッション終了時間に時間を追加することによって、または任意の他のそのような機能によってオーバーライドを延長し得る。追加される時間は、1分、5分、10分、1時間、または任意の他のそのような時間であり得る。いくつかの実装形態では、オーバーライドサービスは、「クリアしない」フラグを設定してもよく、またはエントリをマークしてもよい。オーバーライドサービスは、「クリアしない」フラグがないオーバーライドテーブル内の任意のエントリを定期的に削除し、「クリアしない」フラグを有するエントリ上の「クリアしない」フラグを削除し得る。これは、セッションタイミングのカスタマイズを犠牲にすれば、より効率的になる可能性がある。オーバーライドが存在する場合、上述のように、コンテンツセレクタはステップ306においてランダムコンテンツを選択し、ステップ308においてコンテンツを配信し得る。いくつかの実装形態では、たとえオーバーライドセッションテーブル内にデバイス識別子またはユーザ識別子のためのオーバーライドが存在しても、オーバーライドサービスは、オーバーライドを早期に削除するかどうかを決定するために、以下により詳細に説明するステップ314〜320を実行し得る。
【0045】
オーバーライドが存在しない場合、ステップ314において、オーバーライドサービスは、UIDまたはデバイス識別子に対応するユーザの人口統計プロファイルをユーザプロファイルストレージまたはデータベースから取り出すことができる。上述のように、人口統計プロファイルは人口統計識別子または値のセットを備え得、データベースエントリ、ベクトル、アレイ、所定の位置を有する文字列、または任意の他のそのようなフォーマットとして記憶され得る。
【0046】
ステップ316において、オーバーライドサービスは、要求されたコンテンツ、またはコンテンツメタデータストレージからクライアントデバイスに以前に配信されたコンテンツのコンテンツプロファイルを取り出すことができる。上述のように、コンテンツメタデータまたはプロファイルは、データベースに記憶されてもよく、またはメタデータもしくはファイルのヘッダ内に、マニフェストもしくはプレイリスト内に、もしくは他の場所に、コンテンツとともに、もしくはコンテンツの一部として記憶されてもよい。したがって、オーバーライドサービスは、実装形態に応じて様々な場所からプロファイルを取り出すことができる。いくつかの実装形態では、オーバーライドサービスは、要求されたコンテンツに対応するエントリを識別するために、データベースを検索し得る。
【0047】
いくつかの実装形態では、効率のために、ステップ318において、オーバーライドサービスは、コア人口統計が所定のしきい値よりも上に存在するかどうかを決定するために、まず、ユーザの人口統計プロファイルからのコアまたはプライマリの人口統計を、要求されたコンテンツのコンテンツプロファイルと比較し得る。所定のしきい値よりも上に存在する場合、オーバーライドサービスは、ステップ320においてオーバーライドが必要でないと決定し得る。これは、たとえば、要求されたコンテンツのオーディエンスの大部分が、ユーザプロファイルのコア人口統計と一致し、セッションが正規である可能性があることを示す場合、時間および処理リソースを節約することができる。いくつかの実装形態では、コア人口統計は、人口統計的特性の最も狭いセット、またはユーザプロファイル内で識別されたすべての特性の組合せであり得る。たとえば、ユーザが特性A、B、およびCを有することを示すユーザプロファイルが与えられると、コア人口統計は「特性Aかつ特性Bかつ特性C」であり得る。コンテンツプロファイルが、この組合せが高いオーディエンス割合で発生することを示す場合、セッションは正規である可能性が高く、特性が個別に比較される必要はない。すべての3つの特性の狭い組合せが高いレベルでオーディエンス割合に存在する場合、定義上、各個々の特性も高い(より高くはないにしても)レベルで存在しなければならない。しきい値は、10%、20%、50%などの任意の値、または任意の他の値に設定され得る。
【0048】
上述のように、いくつかの実装形態では、オーバーライドサービスがオーバーライドは必要でないと決定した場合、ステップ320において、オーバーライドサービスは、デバイス識別子またはユーザ識別子のオーバーライドセッションテーブル内の任意のオーバーライドを削除し得る。たとえば、そのような実装形態では、たとえステップ310においてオーバーライドがオーバーライドセッションテーブル内のデバイス識別子またはユーザ識別子のために存在するものとして識別されたとしても、オーバーライドサービスは、オーバーライドを早期に削除するかどうかを決定するためにステップ314〜320を実行し得る。
【0049】
ステップ322において、コンテンツセレクタ206は、たとえばユーザ識別子に基づいて、および/またはユーザの人口統計プロファイルに基づいて、ユーザのための追加のコンテンツを選択し得る。上述のように、選択されたコンテンツは、人口統計的基準で識別されてもよく、および/またはデバイスにローカルに記憶されたユーザデータに関連付けられてもよい。コンテンツセレクタ206は、ユーザプロファイルの人口統計的特性を含む基準に基づいてそのようなコンテンツを選択し得る。いくつかの実装形態では、コンテンツセレクタ206は、最近提供されなかったコンテンツを選択すること、第三者コンテンツプロバイダによる支払いのためのオークションシステムに基づいて、要求されたコンテンツのコンテンツプロファイルと人口統計的基準も共有するコンテンツを選択すること、または任意の他のそのような方法などの、他の選択方針または規則を適用し得る。コンテンツは、上述のように、ステップ308において配信され得る。
【0050】
コア人口統計が所定のしきい値よりも大きくない場合、ステップ324において、次の(たとえば、第1の)オーディエンス割合またはコンテンツプロファイルのエントリが、オーバーライドサービスによって選択され得る。たとえば、オーバーライドサービスは、割合が最も高い第1のエントリを選択し得、ステップ324〜332の繰り返される反復において、完了するまで次の各エントリまたは次に最も低い割合を選択し得る。
【0051】
ステップ326において、いくつかの実装形態では、オーバーライドサービスは、選択されたオーディエンス割合エントリが所定のしきい値を上回る割合を有するかどうかを決定し、割合がしきい値を上回っていない場合、ステップ328においてそのエントリを破棄する。これは、正規または非正規推論が弱い場合がある外れ値を削除するために行われ得る。しきい値は、10%、20%などの任意のレベル、または任意の他の値に設定され得る。
【0052】
ステップ330において、割合がしきい値を上回っている場合、オーバーライドサービスは、そのユーザプロファイルの対応する人口統計的特性との相関に基づいて、オーディエンスの人口統計の割合を重み付けしてもよく、またはオーディエンスの人口統計の加重スコアを計算してもよい。たとえば、オーディエンスの人口統計がユーザの人口統計と重複している場合、その割合の重みが増加されてもよく、または正の重み付けが適用されてもよく、または増加したスコアが計算されてもよいが、オーディエンスの人口統計がユーザの人口統計と重複しない場合、またはユーザの人口統計と矛盾する場合、負の重み付けが適用されてもよく、または減少したスコアが計算されてもよい。
【0053】
たとえば、一実装形態では、ユーザの人口統計的特性と対応するオーディエンス割合との間の相関が計算され得る。相関がしきい値を上回っている場合、相関のスコアが増加されてもよく、またはその割合は、(たとえば、割合を増加させることによって、または割合に対応するスコアを所定の量だけ増加させることによって)増加した重みを与えられてもよい。相関が第2のしきい値未満である場合、スコアまたは割合は減少され得る。いくつかの実装形態では、しきい値の間でスコアが調整されない場合がある。
【0054】
図3Bのフローチャートに、ステップ330の別の実装形態が示されている。そのような実装形態は、「好きなスポーツ」または「嫌いなスポーツ」などの、異なるまたは離れている値を持つ人口統計のために使用され得る。ステップ350において、オーバーライドサービスは、ユーザプロファイルがオーディエンス割合エントリの人口統計に対応するエントリを含むかどうかを決定し得る。含む場合、ステップ352において、エントリまたは割合に対するスコアは、所定の量(たとえば、10パーセント、15パーセント、または任意の他のそのような量)だけ増加され得る。同様に、ステップ354において、オーバーライドサービスは、ユーザプロファイルがオーディエンス割合エントリの人口統計に反対のエントリを含むかどうかを決定し得る。含む場合、ステップ356において、エントリまたは割合に対するスコアは、所定の量(たとえば、10パーセント、15パーセント、または任意の他のそのような量)だけ減少され得る。プロファイルが対応するエントリも反対のエントリも含まない場合、いくつかの実装形態では、割合が調整されない場合がある。次いで、
図3Aの方法を再開し得る。
【0055】
人口統計的特性が広い範囲の値を有し得る別の実装形態では、ユーザプロファイルからの値と特性に関するオーディエンス割合エントリ値とが直接比較され得、その差に基づいて重みまたはスコアが調整され得る。たとえば、
図3Cは、人口統計のエントリ重複を重み付けするためのそのような実装形態の例を示すグラフである。オーバーライドサービスは、2つの年齢の差などの、オーディエンスエントリの人口統計的特性の値とユーザプロファイルの人口統計的特性の値との間の差を計算し得る。これは、一般に重み関数364と呼ばれる、重み関数364a〜364cのx値360を表すことができる。次いで、オーバーライドサービスは、正または負であり得る関数についての対応するy値362を決定し得、それはオーディエンス割合のスコアまたは重みとして適用され得る。たとえば、関数364aおよびゼロ近傍の値の差が与えられると、オーディエンス割合に高い正の重みが適用され得る。関数364cに示されるように、関数はいずれの軸の周りでも対称である必要はない。同様に、関数364bに示されるように、関数は階段関数であり得る。これは、オーディエンス割合の人口統計的な範囲(45〜54歳など)において特に有効である。
【0056】
図3Aに戻ると、ステップ330において、スコアを計算するか、またはオーディエンス割合を重み付けした後、オーバーライドサービスは、コンテンツプロファイル内に追加のオーディエンス割合があるかどうかを決定し得る。コンテンツプロファイル内に追加のオーディエンス割合がある場合、ステップ324〜332は、追加の割合ごとに実行され得る(いくつかの実装形態では、ステップ324〜332は、オーディエンス割合ごとに並行して実行され得る)。
【0057】
ステップ324〜332のすべての反復が完了すると、ステップ334において、オーバーライドサービスは、コンテンツプロファイルのスコアまたは重み付けされた割合の平均を計算し得る。上述のように、コンテンツプロファイルとユーザプロファイルとの間の重複に基づいていくつかの割合が増加されてよく、他の割合は減少する。余りにも低い場合には、他の割合が計算から破棄される場合がある。
【0058】
ステップ336において、平均スコアまたは割合は、ユーザプロファイルとコンテンツプロファイルとの間の重複の加重平均尤度を表すしきい値と比較され得る。スコアまたは割合がしきい値を上回っている場合、セッションは正規であると推論され得、ステップ320においてオーバーライドは適用され得ない。スコアまたは割合がしきい値を下回っている場合、セッションは非正規であると推論され得、上述のように、ステップ338において、オーバーライドエントリがオーバーライドテーブルに追加され得る。いくつかの実装形態では、オーバーライドサービスは、セッション開始時間、セッション終了時間、持続時間、および1つまたは複数の人口統計的カテゴリ(ステップ334において加重平均に含まれたコンテンツのオーディエンス割合に対応する人口統計的カテゴリなど)を追加し得る。上述のように、ステップ306においてランダムコンテンツが選択され、ステップ308において配信され得る。
【0059】
いくつかの実装形態では、上述のように、コンテンツパーソナライゼーションは、いくつかの人口統計的特性については無効にされ得るが、他のものについては無効にされない。そのようないくつかの実装形態では、ステップ334はスキップされてもよく、または様々な人口統計のスコアの平均が計算されなくてもよい。代わりに、ステップ336および338が各人口統計的特性またはスコアごとに個別に実行され、別々の上書きが生成され得る。たとえば、特性A、B、およびCを有するユーザが与えられ、Aに対して20%、Bに対して10%、およびCに対して90%のオーディエンス割合を有する要求されたコンテンツが与えられると、オーバーライドサービスは、上述のように、ステップ330においてこれらの割合を調整してもよく、または加重スコアを生成してもよく、次いで各スコアを別々にしきい値と比較してもよい(任意の値が使用され得るが、たとえば50%など)。オーバーライドサービスは、特性AおよびBの選択は無効にされるべきであるが、特性Cの選択は使用され得ると決定し得る。次いで、コンテンツプロバイダは、上述のように、ステップ322において特性Cについてコンテンツを選択してもよく、ステップ306においてランダムコンテンツを選択してもよい。
【0060】
したがって、本明細書で論じるシステムおよび方法は、非正規のユーザセッションの自動推論および識別を提供し、パーソナライズされたコンテンツ選択を動的に有効および無効にし得る。これは、ユーザのデータプライバシーを改善し、ユーザへのコンテンツ配信のパーソナライゼーションを改善し得る。多くの実装形態では、これにより、不要な帯域幅の使用が、他のユーザ向けまたはユーザに関係のないコンテンツを送信するのを減らすことができる。これらのシステムおよび方法は、さらに、誤った人口統計的推論に基づくユーザの不満および誤って選択されたコンテンツを低減することができる。
【0061】
一態様では、本開示は、人口統計的相関を介して非正規のセッションを識別するための方法を対象とする。本方法は、クライアントコンピューティングデバイスからコンテンツサーバによって、コンテンツのアイテムの要求を受信するステップを含み、要求は第1のユーザに関連付けられる識別子を備える。本方法はまた、コンテンツメタデータデータベースからコンテンツサーバのオーバーライドサービスによって、要求されたコンテンツのアイテムに関連付けられる第1の人口統計プロファイルを取り出すステップを含む。本方法はまた、ユーザプロファイルデータベースからオーバーライドサービスによって、第1のユーザに関連付けられる識別子に関連付けられる第2の人口統計プロファイルを取り出すステップを含む。本方法は、オーバーライドサービスの相関器によって、第1の人口統計プロファイルと第2の人口統計プロファイルとの間の比較スコアを計算するステップをさらに含む。本方法はまた、オーバーライドサービスによって、スコアが所定のしきい値未満であると決定するステップを含む。本方法はまた、オーバーライドサービスによって、スコアが所定のしきい値未満であることに基づいて、要求を第1のユーザとは異なる第2のユーザに関連付けられるものとして識別するステップと、この識別に応答して、クライアントコンピューティングデバイス用のコンテンツサーバのコンテンツパーソナライゼーションシステムを無効にするステップとを含む。
【0062】
いくつかの実装形態では、本方法は、コンテンツプロバイダのコンテンツセレクタによって、クライアントコンピューティングデバイスへの送信のための第2のコンテンツのアイテムを選択するステップと、コンテンツプロバイダによって、要求されたコンテンツのアイテムおよび第2のコンテンツのアイテムをクライアントコンピューティングデバイスに送信するステップとを含む。さらなる実装形態では、本方法は、第2のコンテンツのアイテムが選択基準を有しないことに応答して、複数のコンテンツのアイテムから第2のコンテンツのアイテムを選択するステップを含む。別のさらなる実装形態では、本方法は、第2のコンテンツのアイテムが、要求されたコンテンツのアイテムに関連付けられる第1の人口統計プロファイルに類似した人口統計プロファイルを有することに応答して、複数のコンテンツアイテムから第2のコンテンツのアイテムを選択するステップを含む。
【0063】
いくつかの実装形態では、第1の人口統計プロファイルは、人口統計的特性および対応する割合をさらに備え、本方法は、第1の人口統計プロファイルおよび第2の人口統計プロファイルの両方がその人口統計的特性を含むことに応答して、所定の量だけ割合を増加させるステップを含む。他の実装形態では、第1の人口統計プロファイルは、人口統計的特性および対応する割合をさらに備え、本方法は、第2の人口統計プロファイルがこの人口統計的特性を含まないことに応答して、割合を所定の量だけ減少させるステップを含む。他の実装形態では、第1の人口統計プロファイルは、人口統計的特性の第1の値および対応する割合をさらに備え、第2の人口統計プロファイルは、人口統計的特性の第2の値をさらに備え、本方法は、人口統計的特性についての第1の値と第2の値との間の差に基づいて、所定の関数に従って割合を調整するステップを含む。さらなる実装形態では、第1の値は範囲であり、所定の関数は階段関数である。
【0064】
いくつかの実装形態では、第1の人口統計プロファイルは、複数の人口統計的特性および対応する複数の割合をさらに備え、第2の人口統計プロファイルは、第2の複数の人口統計的特性をさらに備え、本方法は、第1の人口統計プロファイルの対応する人口統計的特性と第2の人口統計プロファイルの対応する人口統計的特性との間の重複に基づいて、第1の人口統計プロファイルの複数の割合の各々を調整するステップと、調整された複数の割合の平均として比較スコアを計算するステップとを含む。他の実装形態では、本方法は、オーバーライドサービスによって、クライアントコンピューティングデバイスの識別を備えるオーバーライドセッションテーブル内のエントリを生成するステップを含む。
【0065】
別の態様では、本開示は、人口統計的相関を介して非正規のセッションを識別するためのシステムを対象とする。本システムは、クライアントコンピューティングデバイスと通信するネットワークインターフェースを備えるコンテンツサーバを含む。本システムはまた、コンテンツセレクタを実行するプロセッサと、オーバーライドサービスと、ユーザプロファイルデータベースおよびコンテンツメタデータデータベースを記憶するメモリデバイスとを含む。ネットワークインターフェースは、クライアントコンピューティングデバイスから、コンテンツのアイテムの要求を受信するように構成され、要求は第1のユーザに関連付けられる識別子を備える。オーバーライドサービスは、コンテンツメタデータデータベースから、要求されたコンテンツのアイテムに関連付けられる第1の人口統計プロファイルを取り出すことと、ユーザプロファイルデータベースから、第1のユーザに関連付けられる識別子に関連付けられる第2の人口統計プロファイルを取り出すことと、第1の人口統計プロファイルと第2の人口統計プロファイルとの間の比較スコアを計算することとを行うように構成される。オーバーライドサービスはまた、スコアが所定のしきい値未満であると決定することと、スコアが所定のしきい値未満であることに基づいて、要求を第1のユーザとは異なる第2のユーザに関連付けられるものとして識別することとを行うように構成される。コンテンツセレクタは、この識別に応答して、クライアントコンピューティングデバイス用のコンテンツパーソナライゼーションシステムを無効にするように構成される。
【0066】
本システムのいくつかの実装形態では、コンテンツセレクタは、クライアントコンピューティングデバイスへの送信のための第2のコンテンツのアイテムを選択するようにさらに構成され、ネットワークインターフェースは、要求されたコンテンツのアイテムおよび第2のコンテンツのアイテムをクライアントコンピューティングデバイスに送信するようにさらに構成される。さらなる実装形態では、コンテンツセレクタは、第2のコンテンツのアイテムが選択基準を有しないことに応答して、複数のコンテンツのアイテムから第2のコンテンツのアイテムを選択するようにさらに構成される。別のさらなる実装形態では、コンテンツセレクタは、第2のコンテンツのアイテムが、要求されたコンテンツのアイテムに関連付けられる第1の人口統計プロファイルに類似した人口統計プロファイルを有することに応答して、複数のコンテンツアイテムから第2のコンテンツのアイテムを選択するようにさらに構成される。
【0067】
いくつかの実装形態では、第1の人口統計プロファイルは、人口統計的特性および対応する割合をさらに備え、オーバーライドサービスは、第1の人口統計プロファイルおよび第2の人口統計プロファイルの両方が人口統計的特性を含むことに応答して、所定の量だけ割合を増加させるようにさらに構成される。他の実装形態では、第1の人口統計プロファイルは、人口統計的特性および対応する割合をさらに備え、オーバーライドサービスは、第2の人口統計プロファイルがこの人口統計的特性を含まないことに応答して、割合を所定の量だけ減少させるようにさらに構成される。他の実装形態では、第1の人口統計プロファイルは、人口統計的特性の第1の値および対応する割合をさらに備え、第2の人口統計プロファイルは、人口統計的特性の第2の値をさらに備え、オーバーライドサービスは、人口統計的特性についての第1の値と第2の値との間の差に基づいて、所定の関数に従って割合を調整するようにさらに構成される。さらなる実装形態では、第1の値は範囲であり、所定の関数は階段関数である。
【0068】
本システムのいくつかの実装形態では、第1の人口統計プロファイルは、複数の人口統計的特性および対応する複数の割合をさらに備え、第2の人口統計プロファイルは、第2の複数の人口統計的特性をさらに備え、オーバーライドサービスは、第1の人口統計プロファイルの対応する人口統計的特性と第2の人口統計プロファイルの対応する人口統計的特性との間の重複に基づいて、第1の人口統計プロファイルの複数の割合の各々を調整することと、調整された複数の割合の平均として比較スコアを計算することとを行うようにさらに構成される。いくつかの実装形態では、オーバーライドサービスは、要求は第1のユーザとは異なる第2のユーザに関連付けられると識別することに応答して、クライアントコンピューティングデバイスの識別を備えるオーバーライドセッションテーブル内にエントリを生成するようにさらに構成される。
【0069】
上述のように、多くのそのような実装形態では、人口統計データまたは特性は、ユーザのプライバシーを保護するために、匿名化または曖昧さ除去され得る。クライアントデバイスのユーザに関する個人情報が測定のために収集され得る、または第三者コンテンツを選択するために使用される、多くのそのような実装形態または同様の状況においては、ユーザは、個人情報(たとえば、ユーザのソーシャルネットワーク、ソーシャルアクションもしくはアクティビティ、ユーザの嗜好、またはユーザの現在地に関する情報)を収集し得るプログラムまたは機能が、収集するかどうかを制御する機会、またはコンテンツプロバイダに測定データを送信するかどうか、もしくはどのように送信するかを制御する機会が提供され得る。さらに、特定のデータは、パラメータ(たとえば、人口統計的パラメータ)を生成する際に個人識別可能な情報が削除されるように、コンテンツプロバイダによって記憶または使用される前に1つまたは複数の方法で処理され得る。ユーザについての個人識別可能な情報を決定され得ないように、ユーザの身元が匿名化されてもよく、または、ユーザの特定の位置が決定され得ないように、位置情報が取得されたユーザの地理的位置(たとえば、都市、郵便番号、または州レベルの)が一般化されてもよい。したがって、ユーザは、彼または彼女についてどのように情報が収集されるか、またオーディエンス測定サーバ、パネルプロバイダ、およびコンテンツプロバイダによってどのように使用されるかを制御し得る。
【0070】
本明細書に記載された主題および動作の実装形態は、本明細書およびそれらの構造的均等物において開示される構造を含む、デジタル電子回路において、もしくはコンピュータソフトウェア、ファームウェア、もしくはハードウェアにおいて、または、それらのうちの1つもしくは複数の組合せにおいて実装され得る。本明細書に記載された主題の実装形態は、1つまたは複数のコンピュータプログラム、すなわち、データ処理装置によって実行されるか、またはデータ処理装置の動作を制御するために1つまたは複数のコンピュータ記憶媒体上で符号化されたコンピュータプログラム命令の1つまたは複数のモジュールとして実装され得る。代替で、または加えて、プログラム命令は、人為的に生成された伝播信号、たとえば、データ処理装置による実行のために適切な受信機装置への送信のための情報を符号化するために生成された、機械生成された電気的、光学的、または電磁的な信号上で符号化され得る。コンピュータ記憶媒体は、コンピュータ可読ストレージデバイス、コンピュータ可読記憶基板、ランダムもしくはシリアルアクセスメモリアレイもしくはデバイス、またはそれらの1つもしくは複数の組合せであり得るか、またはそれらに含まれ得る。さらに、コンピュータ記憶媒体は伝播信号ではないが、コンピュータ記憶媒体は、人為的に生成された伝播信号において符号化されたコンピュータプログラム命令のソースまたは宛先であり得る。コンピュータ記憶媒体はまた、1つまたは複数の別個の構成要素または媒体(たとえば、複数のCD、ディスク、または他のストレージデバイス)であってもよく、またはそれらに含まれていてもよい。したがって、コンピュータ記憶媒体は有形であってもよい。
【0071】
本明細書に記載された動作は、1つまたは複数のコンピュータ可読ストレージデバイスに記憶されたデータ、または他のソースから受信したデータに対して、データ処理装置によって実行される動作として実装され得る。
【0072】
「クライアント」または「サーバ」という用語は、プログラマブルプロセッサ、コンピュータ、チップ上のシステム、もしくはそれらの複数のもの、またはこれらの組合せなどの、データを処理するためのあらゆる種類の装置、デバイス、および機械を含む。装置は、たとえばFPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)などの専用論理回路を含むことができる。装置はまた、ハードウェアに加えて、問題のコンピュータプログラムの実行環境を生成するコード、たとえば、プロセッサファームウェアを構成するコード、プロトコルスタック、データベース管理システム、オペレーティングシステム、クロスプラットフォームランタイム環境、仮想マシン、またはそれらのうちの1つもしくは複数の組合せを含むことができる。装置および実行環境は、ウェブサービス、分散コンピューティングおよびグリッドコンピューティングインフラストラクチャなどの、様々な異なるコンピューティングモデルインフラストラクチャを実現することができる。
【0073】
コンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプト、またはコードとしても知られる)は、コンパイラ型言語またはインタープリタ型言語、宣言型言語または手続き型言語を含む、任意の形式のプログラミング言語で書かれてよく、スタンドアロンプログラムとして、またはモジュール、構成要素、サブルーチン、オブジェクト、またはコンピューティング環境における使用に適した他のユニットとして、を含む、あらゆる形式で展開され得る。コンピュータプログラムは、ファイルシステム内のファイルに対応し得るが、必ずしも対応する必要はない。プログラムは、他のプログラムもしくはデータ(たとえば、マークアップ言語文書に記憶された1つまたは複数のスクリプト)を保持するファイルの一部、問題のプログラム専用の単一のファイル、または複数のコーディネートされたファイル(たとえば、1つもしくは複数のモジュール、サブプログラム、またはコードの一部を記憶するファイル)に記憶され得る。コンピュータプログラムは、1つのコンピュータ上で、または1つのサイトに位置するか、もしくは複数のサイトに分散され、通信ネットワークによって相互接続された複数のコンピュータ上で実行されるように配置され得る。
【0074】
本明細書に記載されたプロセスおよび論理フローは、入力データを操作して出力を生成することによって動作を実行するために、1つまたは複数のコンピュータプログラムを実行する1つまたは複数のプログラマブルプロセッサによって実行され得る。プロセスおよび論理フローはまた、たとえばFPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)などの専用論理回路によっても実行されてもよく、装置が専用論理回路として実装されてもよい。
【0075】
コンピュータプログラムの実行に適したプロセッサには、汎用マイクロプロセッサおよび専用マイクロプロセッサの両方、ならびにあらゆる種類のデジタルコンピュータの任意の1つまたは複数のプロセッサが含まれる。一般に、プロセッサは、読出し専用メモリもしくはランダムアクセスメモリから、またはその両方から命令およびデータを受信する。コンピュータの必須要素は、命令に従って動作を実行するためのプロセッサと、命令およびデータを記憶するための1つまたは複数のメモリデバイスとである。一般に、コンピュータはまた、たとえば磁気、光磁気ディスク、または光ディスクなどのデータを記憶するための1つまたは複数の大容量ストレージデバイスを含むか、またはそこからデータを受信するか、そこにデータを転送するか、またはその両方のために動作可能に結合される。しかしながら、コンピュータはそのようなデバイスを有する必要はない。さらに、コンピュータは、別のデバイス、たとえば、いくつか例を挙げると、モバイル電話、携帯情報端末(PDA)、モバイルオーディオもしくはビデオプレーヤ、ゲーム機、全地球測位システム(GPS)受信機、またはポータブルストレージデバイス(たとえば、ユニバーサルシリアルバス(USB)フラッシュドライブ)に埋め込まれてよい。コンピュータプログラム命令およびデータを記憶するために適したデバイスには、たとえば、EPROM、EEPROM、およびフラッシュメモリデバイスなどの半導体メモリデバイス、内部ハードディスクまたはリムーバブルディスクなどの磁気ディスク、光磁気ディスク、ならびにCD-ROMおよびDVD-ROMディスクを含む、あらゆる形態の不揮発性メモリ、媒体、およびメモリデバイスが含まれる。プロセッサおよびメモリは、専用論理回路によって補完されてもよく、またはそれに組み込まれてもよい。
【0076】
ユーザとの対話を提供するために、本明細書に記載された主題の実装形態は、CRT(陰極線管)、LCD(液晶ディスプレイ)、OLED(有機発光ダイオード)、TFT(薄膜トランジスタ)、プラズマ、他のフレキシブルな構成などのディスプレイデバイス、またはユーザに情報を表示するための任意の他のモニタ、ならびにユーザがコンピュータに入力を提供することができるキーボード、マウス、トラックボールなどのポインティングデバイス、またはタッチスクリーン、タッチパッドなどを有するコンピュータに実装され得る。ユーザとの対話を提供するために、他の種類のデバイスも使用され得る。ユーザに提供されるフィードバックは、任意の形態の感覚フィードバック、たとえば、視覚フィードバック、聴覚フィードバック、または触覚フィードバックであり得、ユーザからの入力は、音響、音声、または触覚入力を含む任意の形態で受信され得る。さらに、コンピュータは、ユーザによって使用されるデバイスにドキュメントを送信し、またそこからドキュメントを受信することによって、またウェブブラウザから受信した要求に応答して、ユーザのクライアントデバイス上のウェブブラウザにウェブページを送信することによって、ユーザと対話することができる。
【0077】
本明細書で説明される主題の実装形態は、たとえばデータサーバとしてバックエンドコンポーネントを含むコンピューティングシステムにおいて、またはたとえばアプリケーションサーバなどのミドルウェアコンポーネントを含むコンピューティングシステムにおいて、または、たとえばグラフィカルユーザインターフェースもしくはユーザが本明細書で説明される主題の実装形態と対話することができるウェブブラウザを有するクライアントコンピュータなどのフロントエンドコンポーネントを含むコンピューティングシステムにおいて、または1つもしくは複数のそのようなバックエンド、ミドルウェア、もしくはフロントエンドコンポーネントの任意の組合せにおいて実装され得る。本システムの構成要素は、任意の形式または媒体のデジタルデータ通信、たとえば通信ネットワークによって相互接続され得る。通信ネットワークは、ローカルエリアネットワーク(「LAN」)および広域ネットワーク(「WAN」)、インターネットワーク(たとえば、インターネット)、およびピアツーピアネットワーク(たとえば、アドホックピアツーピアネットワーク)を含み得る。
【0078】
いくつかの実施形態では、本明細書で開示された特徴は、インターネット接続をより伝統的なテレビ番組ソース(たとえば、ケーブル、衛星、無線、または他の信号を介して受信される)に統合するように構成された処理回路を含み得るスマートテレビモジュール(または、接続されたテレビモジュール、ハイブリッドテレビモジュールなど)に実装され得る。スマートテレビモジュールは、テレビセットに物理的に組み込まれてもよく、セットトップボックス、Blu-ray(登録商標)または他のデジタルメディアプレーヤ、ゲーム機、ホテルテレビシステム、および他のコンパニオンデバイスなどの別個のデバイスを含んでもよい。スマートテレビモジュールは、視聴者が、ウェブ上、ローカルケーブルTVチャネル上、衛星TVチャネル上の、またはローカルハードドライブに記憶された、ビデオ、映画、写真、および他のコンテンツを検索して見つけることを可能にするように構成され得る。セットトップボックス(STB)またはセットトップユニット(STU)は、チューナを含み、テレビセットおよび外部信号ソース源に接続し、その信号をコンテンツに変換し、次いでそのコンテンツがテレビ画面または他のディスプレイデバイスに表示される、情報機器デバイスを含み得る。スマートテレビモジュールは、ウェブブラウザおよび複数のストリーミングメディアサービス、接続されたケーブルまたは衛星メディアソース、他のウェブ「チャネル」などの複数の異なるアプリケーションのアイコンを含む、ホームスクリーンまたはトップレベルスクリーンを提供するように構成され得る。スマートテレビモジュールは、電子プログラミングガイドをユーザに提供するようにさらに構成され得る。スマートテレビモジュールに対するコンパニオンアプリケーションは、利用可能なプログラムに関する追加の情報をユーザに提供し、ユーザがスマートテレビモジュールを制御できるようにするなどのために、モバイルコンピューティングデバイス上で動作可能であり得る。別の実装形態では、これらの特徴は、ラップトップコンピュータもしくは他のパーソナルコンピュータ、スマートフォン、他のモバイル電話、ハンドヘルドコンピュータ、タブレットPC、または他のコンピューティングデバイス上で実装され得る。
【0079】
本明細書は、多くの具体的な実装形態の詳細を含むが、これらは、任意の発明の範囲または特許請求される可能性のある範囲を限定するものではなく、特定の発明の特定の実装形態に特有の特徴の説明として解釈されるべきである。別個の実装形態の文脈において本明細書において説明される特定の機能は、単一の実装形態において組み合わせて実装され得る。逆に、単一の実装形態の文脈において説明されている様々な機能はまた、複数の実装形態において別個に、または任意の適切なサブコンビネーションにおいて実装され得る。さらに、特徴は、特定の組合せにおいて動作するものとして上記に説明されてもよく、当初はそのように説明されているものであっても、場合によっては、特許請求された組合せからの1つまたは複数の特徴は、組合せから切り取られてもよく、請求された組合せは、サブコンビネーションまたはサブコンビネーションの変形に向けられてもよい。
【0080】
同様に、図面において動作は特定の順序で示されているが、これは、所望の結果を達成するために、そのような動作が示された特定の順序もしくは逐次的な順序どおりに実行されること、または図示されたすべての動作が実行されることを必要とするものと理解されるべきではない。特定の状況では、マルチタスク処理および並列処理が有利な場合がある。さらに、上述の実装形態における様々なシステム構成要素の分離は、すべての実装形態においてそのような分離を必要とするものとして理解されるべきではなく、記載されたプログラム構成要素およびシステムは、一般に、単一のソフトウェア製品にともに統合され得るか、または複数のソフトウェア製品にパッケージ化され得ることが理解されるべきである。
【0081】
したがって、本主題の特定の実装形態が記載されている。他の実装形態は、以下の請求項の範囲内にある。場合によっては、請求項に列挙された動作は異なる順序で実行され、依然として所望の結果を達成することができる。さらに、添付の図面に示されるプロセスは、所望の結果を達成するために、示された特定の順序または逐次的な順序を必ずしも必要としない。特定の実装形態では、マルチタスキングまたは並列処理が利用され得る。