(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0030】
システムおよび方法が、2要素認証を使用して、ブロックされたメディアアセットと関連付けられる動作を認可するために、本明細書に説明される。例えば、メディアガイドアプリケーション(例えば、メディアアセットを記憶および表示するために使用されるセットトップボックスまたは他のユーザ機器によって実行される)は、視聴するためのコンテンツをロック解除するために、パスワード(例えば、PIN)を入力するようにユーザに求める。メディアアセットに関連する動作(例えば、削除)を実施するようにユーザから第2の要求を受信することに応答して、メディアガイドアプリケーションは、2要素認証プロトコルに一致して、自分の身元を確認する付加的要素を入力するようにユーザに求める。ユーザの身元が、メディアアセットに関連する動作(例えば、記憶されたメディアアセットを削除する)を実施する権限を有するユーザとして認証される場合、メディアガイドアプリケーションは、メディアアセットに関連する動作(例えば、メディアアセットを削除する)を実施する。
【0031】
図1は、本開示のいくつかの実施形態による、メディアアセットに関連する動作を実施するための2要素認証アプローチの例証的実施例を示す。例えば、ディスプレイ102は、メディアアセット106を表示するためにメディアガイドアプリケーションを実行する、ユーザ機器104に結合されてもよい。メディアアセット106と関連付けられる動作を実施するための要求を受信した後、メディアガイドアプリケーションは、認可コードの入力のためのプロンプト110を表示するために生成し、動作を実施してもよい。ディスプレイ102は、1つ以上のユーザデバイス(例えば、下記で
図7−8に列挙されるデバイスのうちのいずれか)の上に出現してもよい。また、メディアガイドアプリケーションは、
図9−13に説明されるプロセスのうちの1つ以上のものを使用し、ディスプレイ102またはその中に説明される特徴のうちのいずれかを生成してもよい。
【0032】
メディアガイドアプリケーション(例えば、ユーザ機器104上で実行される)は、ユーザ機器上で視聴するためのメディアアセットにアクセスするための第1の要求を受信し、メディアアセットへのアクセスは、ブロックされる。例えば、メディアガイドアプリケーションは、表示するためにメディアアセットを生成するユーザデバイスにローカルである(例えば、ユーザ機器104のメモリの中に)か、またはサーバにおいて遠隔にあるかのいずれかである、記憶装置の中に複数のメディアアセットを記憶してもよい。メディアガイドアプリケーションは、ユーザが表示するために選択し得る、メディアアセットの一覧を(例えば、ディスプレイ102上に表示されるユーザインターフェース内で)生成してもよい。メディアガイドアプリケーションは、各記憶されたメディアアセットと関連付けられるメタデータに基づいて、各メディアアセットが所与のユーザのためにブロックされるべきであるかどうかを示す、フラグを設定してもよい。具体的実施例として、メディアガイドアプリケーションは、メディアアセット(例えば、メディアアセット106)と関連付けられるメタデータに基づいて、それが所定のブロック基準(例えば、特定のユーザがTV−PGを上回る評価を伴う番組を鑑賞することができず、メディアアセット106がTV−PGを上回るTV−MAのコンテンツ評価を有する)を満たすことを示す、フラグを設定してもよい。
【0033】
メディアガイドアプリケーションは、次いで、第1の認可コードの第1の入力を受信する。第1の認可コードは、記憶された英数字列に合致され得る、英数字の任意の組み合わせであってもよい。メディアガイドアプリケーションは、リモートコントロール108等のユーザ入力インターフェースを使用して、ユーザ入力を介して第1の識別子を受信してもよい。例えば、メディアガイドアプリケーションは、リモートコントロール108を介して、ユーザ入力「1578」を受信してもよい。
【0034】
メディアガイドアプリケーションは、受信された第1の認可コードが、メディアアセットを視聴するためのアクセスを許可する、記憶された第1の識別子に合致することを決定する。例えば、メディアガイドアプリケーションは、
図2に関して下記でさらに説明されるように、受信された入力「1578」が、第1の識別子に関してメモリの中に記憶された値に合致するかどうかを決定する。具体的実施例として、メディアガイドアプリケーションは、許可(すなわち、各コードがメディアアセットにアクセスし得るかどうか)と関連付けられる複数の識別子を含むペアレンタルコントロールデータベースにアクセスしてもよい。メディアガイドアプリケーションは、(例えば、第1の認可コードの文字を記憶された識別子のそれぞれの文字と比較することによって)受信された第1の認可コードを記憶された識別子と比較し、合致を決定してもよい。合致を決定した後、メディアガイドアプリケーションは、合致した識別子に対応するデータベース内のフィールドからデータを読み出し、データが、ユーザがメディアアセットへのアクセスを有することを示すかどうかを決定する。
【0035】
受信された第1の認可コードが記憶された第1の識別子に合致することを決定した後、メディアガイドアプリケーションは、表示するためにメディアアセットを生成する。例えば、メディアガイドアプリケーションは、ユーザ機器(例えば、ユーザ機器104)に接続されるディスプレイ(例えば、ディスプレイ102)上にメディアアセット(例えば、メディアアセット106)を表示するために生成してもよい。代替として、または加えて、メディアガイドアプリケーションは、第1の認可コードによって識別されるユーザが、ユーザ機器に結合されていないデバイス上で(例えば、携帯電話112等のモバイルデバイスにストリーミングされる)メディアアセットを視聴し得るかどうかのインジケーションに関して、ペアレンタルコントロールデータベースにクエリを行ってもよい。
図2に関して下記でさらに説明されるように、メディアガイドアプリケーションは、(例えば、ペアレンタルコントロールデータベースの中に)メディアアセットへのアクセスを許可する一時的インジケーションを記憶してもよい。
【0036】
メディアガイドアプリケーションは、次いで、メディアアセットと関連付けられる動作を実行するための第2の要求を受信する。動作は、実行されると、メディアアセットのための記憶された視聴覚データまたはメディアアセットに関する任意の記憶されたメタデータを改変またはコピーする、任意のコマンドまたは命令であってもよい。例えば、メディアガイドアプリケーションは、記憶装置からメディアアセット(例えば、メディアアセット106)を削除するようにユーザ入力インターフェース(例えば、携帯電話112またはリモート108上のタッチスクリーン)を介して要求を受信してもよい。別の実施例として、メディアガイドアプリケーションは、メディアアセットを別のデバイスにコピーするようにユーザ入力インターフェースを介して要求を受信してもよい。さらに別の実施例として、メディアガイドアプリケーションは、第1の認可コードと関連付けられるユーザプロファイル(例えば、視聴進捗またはユーザがメディアアセットを気に入らないというインジケーションを伴う)を更新するための要求を受信してもよい。
【0037】
第2の要求を受信するステップに基づいて、メディアガイドアプリケーションは、メディアアセットと関連付けられる許容動作に関する情報に関して、ペアレンタルコントロールデータベースにクエリを行う。例えば、メディアガイドアプリケーションは、第1の認可コードに合致する識別子のためのペアレンタルコントロールデータベースのフィールドの中に、ユーザが動作を実施することを許可されるメディアアセットを列挙するアレイへのポインタを記憶してもよい。ペアレンタルコントロールデータベースは、特定の動作が第2の認可コードを伴わずに実施され得る(例えば、削除、修正等)、メディアアセットを示すアレイへのポインタをそれぞれ伴って、複数のフィールドを含んでもよい。代替として、または加えて、メディアガイドアプリケーションは、メディアアセット(例えば、メディアアセット106)とともに記憶されたメタデータを伴って、第2の認可コードを要求する動作(例えば、それらは第1の認可コードのみでは許容されない)のインジケーションを記憶してもよい。例えば、メディアガイドアプリケーションは、メディアアセット(例えば、メディアアセット106)のための記憶された視聴覚データの中に実行時間、評価、最初の放送日、および他のメタデータをヘッダとして記憶してもよく、加えて、第2の認可コードを要求する動作のインジケーションを含んでもよい。
【0038】
メディアガイドアプリケーションは、情報から、第2の認可コードがメディアアセットと関連付けられる動作を実行するために要求されることを決定し、第2の認可コードは、ユーザ機器から遠隔にあるトークン機構によって時間の関数として周期的に生成される。例えば、記憶されたメディアアセット(例えば、メディアアセット106)に関して上記で説明されるように、ペアレンタルコントロールデータベースから情報を読み出すステップに基づいて、メディアガイドアプリケーションは、第2の要素が機能を実行するために必要とされるかどうかを決定する。第2の認可コードは、トークン(例えば、独立型トークンまたは携帯電話112上等のデバイス上で実行されるアプリケーション)によって生成されてもよく、これは、次いで、(例えば、ユーザ入力インターフェースを介して)メディアガイドアプリケーションに入力され得る。トークンは、公開キー認証に類似して、クロック時間の数学関数に基づいて認可コードを生成してもよい。いくつかの実施形態では、非対称(秘密・公開キー)認証等の他の2要素認証方法が、第2の認証コードに使用されてもよい。
【0039】
メディアガイドアプリケーションは、第1の時間に生成される第2の認可コードの第2の入力を受信する。例えば、メディアガイドアプリケーションは、ユーザ入力インターフェースを介して、「45678」等の第2の認可コード(例えば、ユーザ入力インターフェースを使用してユーザ機器104に入力される)を受信してもよい。メディアガイドアプリケーションは、入力が受信されたときのクロック時間に基づいて、入力が05:31:16(月:日:年)の10:23:30(時間:分:秒)に受信されたことを決定してもよい。代替として、または加えて、メディアガイドアプリケーションは、コードが生成されたデバイス(例えば、携帯電話112)のクロック時間に基づいて、入力された第2の認可コードとともにクロック時間を受信してもよい。
【0040】
メディアガイドアプリケーションは、次いで、第1の時間に生成される第2の認可コードを認可データベースに伝送してもよい。例えば、メディアガイドアプリケーションは、ユーザ機器から遠隔に(例えば、サーバ上に)位置し、通信ネットワークを介してアクセス可能である、またはユーザ機器(例えば、ユーザ機器104)におけるメモリの中に記憶され得る、データベースに第2の認可コードを伝送してもよい。いくつかの実施形態では、メディアガイドアプリケーションは、第2の認可コードを前処理してもよい。例えば、メディアガイドアプリケーションは、上記で説明されるように、第2の認可コードおよびそれが生成された時間を含むデータパケットを生成してもよい。別の実施例では、メディアガイドアプリケーションは、新しい認可コードがトークン機構によって生成される頻度に応じて、時間を伝送前の最も近い秒または分に連結してもよい。
【0041】
メディアガイドアプリケーションは、第1の時間に生成される第2の認可コードを認可データベースに伝送するステップに応答して、第1の時間に生成される第2の識別子に合致する伝送された第2の認可コードに基づいて、メディアアセットと関連付けられる動作を実行する認可を許可する、インジケーションを受信する。例えば、メディアガイドアプリケーションは、伝送された認可コードが第2の識別子に対応する場合は「真」、または対応しない場合は「偽」に設定されるブール値とともに、認可パッケージからデータパケットを受信してもよい。第2の識別子は、特定の時間における出力(例えば、第2の識別子)を受信された第2の認可コードと比較し得る、同一の時間の数学関数を伴う第2のトークン機構であってもよい。トークンは、加えて、第1の認可コードによって識別されてもよく、これは、認可データベースが、受信された第2の認可コードが正しいかどうかをより効率的に決定することを可能にするであろう。例えば、メディアガイドアプリケーションは、第1の認可コード「1234」によって識別されるユーザが第2の認可コード「45678」を入力したことを認可データベースに伝送してもよい。認可データベースに記憶された全てのトークン機構を検索する代わりに、認可データベースは、ユーザ「1234」に対応するトークンを検索し、「45678」が特定の時間にそのトークンによって生成されたかどうかを決定する必要のみある。
【0042】
メディアガイドアプリケーションは、第2の認可コードが記憶された第2の識別子に合致するというインジケーションを受信するステップに基づいて、メディアアセットに関連する動作を実行する。例えば、メディアガイドアプリケーションは、特定のメディアアセットが記憶されるメモリのブロックを消去または解放する(例えば、記憶装置からメディアアセット106を削除する)命令を実行してもよい。
【0043】
いくつかの実施形態では、動作は、メディアガイドアプリケーションが、メディアアセットに対応するデータを含むメモリのブロックにアクセスするステップを含んでもよい。例えば、メディアガイドアプリケーションは、メディアアセット(例えば、メディアアセット106)の視聴覚データが(例えば、ユーザ機器104の記憶装置の中にローカルで、またはサーバにおいて遠隔で)記憶される、メモリの特定のセグメントを決定してもよい。メディアガイドアプリケーションは、次いで、メディアアセットに対応するメモリのブロックの中に含まれるデータを第2のユーザ機器にコピーしてもよい。例えば、メディアガイドアプリケーションは、ユーザがユーザ機器(例えば、ユーザ機器104)から遠隔にあるメディアアセットにアクセスし得るように、記憶された視聴覚データを読み出し、それを携帯電話(例えば、携帯電話112)等の別のデバイスに伝送してもよい。
【0044】
いくつかの実施形態では、データをコピーするステップに応答して、メディアガイドアプリケーションは、ペアレンタルコントロールデータベース内のメディアアセットと関連付けられるフィールドの中に、メディアアセットが第2のユーザ機器にコピーされたというインジケーションを記憶する。例えば、メディアガイドアプリケーションは、(例えば、
図2に関して下記に説明されるような)ペアレンタルコントロールデータベースのフィールド内で指し示される他のユーザ機器にコピーされたメディアアセットのアレイの中に、(例えば、メディアアセット106の識別子をアレイに追加することによって)メディアアセットがコピーされたというインジケーションを記憶してもよい。メディアガイドアプリケーションは、第1のユーザ機器上でメディアアセットにアクセスするための第3の要求を受信する。例えば、メディアガイドアプリケーションは、ユーザ入力インターフェースを介して、記憶のために最初にそれをスケジュールしたユーザ機器(例えば、ユーザ機器104)上でメディアアセット(例えば、メディアアセット106)にアクセスするための要求を受信してもよい。メディアガイドアプリケーションは、次いで、メディアアセットが第2のユーザ機器上に(例えば、携帯電話112上に)記憶されている間に、第1のユーザ機器(例えば、ユーザ機器104)上のメディアアセット(例えば、メディアアセット106)へのアクセスを防止する。例えば、メディアガイドアプリケーションは、アレイにクエリを行い、メディアアセットの識別子がアレイの中に記憶されるため、アクセスが第1のユーザ機器から許可されていないことを決定してもよい。このように、メディアガイドアプリケーションは、「チェックアウト」された機構を維持することによって、メディアアセットが同時に複数のデバイス上で記憶および視聴されることができないことを確実にする。
【0045】
他の実施形態では、動作は、メディアガイドアプリケーションが、現在記憶されているメディアアセットを含む視聴進捗データ構造にアクセスするステップを含む。例えば、メディアガイドアプリケーションは、(例えば、ユーザ機器104の)記憶装置の中でローカルで、または通信ネットワークを介してサーバにおいて遠隔で、視聴進捗データ構造にアクセスしてもよい。視聴進捗データ構造は、各メディアアセットが、視聴された時間または割合で表され得る、関連付けられる視聴進捗を有するように、編成されてもよい。メディアガイドアプリケーションは、次いで、メディアアセットのためのフィールドの中に、メディアアセットが最後まで視聴されたというインジケーションを記憶する。例えば、メディアガイドアプリケーションは、視聴進捗データ構造のフィールドを更新し、メディアアセット(例えば、メディアアセット106)の現在のユーザの視聴進捗を反映してもよい。具体的実施例として、ユーザは、メディアアセットを完了している場合があり、したがって、メディアガイドアプリケーションは、「最後まで視聴済み」フラグを「真」に設定してもよい。
【0046】
代替として、メディアガイドアプリケーションは、要求された第2の認可コードがユーザのバイオメトリック署名であることを決定してもよい。例えば、メディアガイドアプリケーションは、上記で概説される同一のステップを実施してもよいが、(例えば、携帯電話112上のアプリケーションによって)トークン機構によって生成されるコードを受信する代わりに、メディアガイドアプリケーションは、バイオメトリック署名を受信する。具体的実施例として、バイオメトリック署名は、(例えば、ユーザ機器104または携帯電話112上の統合型カメラによって撮影される)画像としてメディアガイドアプリケーションに伝送される、ユーザの虹彩スキャン、指紋スキャン、または顔マップであってもよい。メディアガイドアプリケーションは、(例えば、受信された画像のピクセルマップ内の重要ポイント/パターンを分析することによって)バイオメトリック署名を分析し、記憶されたバイオメトリック署名を比較してもよい、またはバイオメトリック署名を分析し、認可データベースおよびトークン機構に関して上記に説明されるように同様に、それが第2の記憶された識別子に合致するかどうかを決定する、遠隔サーバにバイオメトリック署名を伝送してもよい。
【0047】
図2は、本開示のいくつかの実施形態による、ペアレンタルコントロール情報を記憶するためのデータベース構造の例証的実施例である。例えば、ペアレンタルコントロールデータベース200および記憶されたメタデータ250は、記憶装置の中にローカルで(例えば、下記で
図7−8に列挙されるデバイスのうちのいずれかの上で)、または通信ネットワークを介してアクセス可能なサーバにおいて遠隔で、いずれかで記憶されてもよい。また、メディアガイドアプリケーションは、
図9−13に説明されるプロセスのうちの1つ以上のものを使用し、ペアレンタルコントロールデータベース200および記憶されたメタデータ250、またはその中に説明される特徴のうちのいずれかを生成してもよい。
【0048】
ペアレンタルコントロールデータベース200は、関連付けられる記憶されたデータをそれぞれ伴う複数の識別子(例えば、識別子202)を伴って、テーブルとして編成されてもよい。いくつかの実施形態では、記憶された識別子は、第1の認可コードであってもよい(例えば、それは、ユーザの識別子および認可コードの両方である)。他の実施形態では、各識別子は、関連付けられるユーザ名(例えば、付加的フィールド210が、「Dad」等のユーザ名のための記憶された文字列を含む)および/または異なる関連付けられる認可コードを有してもよい。
【0049】
識別子毎に、ペアレンタルコントロールデータベースは、ブロック基準(例えば、ブロック基準204)、および特定の識別子の2要素認証に使用され得る第2の要素のタイプ(例えば、第2の要素206)のインジケーション、および任意の代替的な第2の要素(例えば、代替的な第2の要素208)を含む。ブロック基準フィールドは、ブロック基準毎に単一のフィールドであってもよい(例えば、より多くが付加的フィールド210の中に記憶される)、または(例えば、ブロック基準204を含む)ユーザと関連付けられる全てのブロック基準を含むアレイへのポインタを含んでもよい。第2の要素206および代替的な第2の要素208は、メディアガイドアプリケーションによって読み出されると、起動するプログラムスクリプトをメディアガイドアプリケーションに指示する、標準文字列である。例えば、メディアガイドアプリケーションは、ペアレンタルコントロールデータベースから文字列「トークン」を読み出し、(例えば、ユーザに対応する)特定の識別子を認証するために、トークン機構によって生成される第2の認可コードを入力するようにユーザに求めるためのスクリプトが実行される必要があることを決定してもよい。
【0050】
付加的フィールド210は、メディアアセットに関して実施され得る動作毎に別個のフィールドを含んでもよい。具体的には、メディアガイドアプリケーションは、ユーザが特定の動作を実施する権限を与えられている(または権限を与えられていない)メディアアセットのためのアレイへのポインタを記憶してもよい。実施例として、識別子「1234」(例えば、識別子202)は、メディアアセット「Game of Thrones」および「Westworld」の識別子が削除動作のためにペアレンタルコントロールデータベースから指し示されるアレイの中に記憶されるため、これらのメディアアセットを削除する権限を与えられてもよい。アレイの中の識別子に基づいて、メディアガイドアプリケーションは、(例えば、
図1に関して上記で説明されるように)第2の要素が要求された動作を実施するために必要とされるかどうかを決定し、次いで、ユーザを認証し、ユーザが(該当する場合)動作を実施することを可能にするために使用され得る、第2の要素(例えば、第2の要素206)を決定してもよい。
【0051】
記憶されたメタデータ250は、記憶されたメディアアセットに関するメタデータを含んでもよく、(例えば、メディアアセットのためのデータを含む視聴覚ファイルの中のヘッダとして)メディアアセットのためのデータとともにメモリの中に記憶されてもよい。記憶されたメタデータは、合計実行時間252、評価254、および実施する第2の要素を要求する動作についてのインジケーションを含んでもよい。例えば、メディアガイドアプリケーションは、2要素認証が要求される場合に(例えば、削除する第2の要素256)「真」、または2要素認証が要求されない場合に(例えば、コピーする第2の要素258および視聴進捗を更新する第2の要素260)「偽」に設定されるブール値を記憶してもよい。いくつかの実施形態では、メディアガイドアプリケーションは、(例えば、付加的フィールド262の中に)2要素認証が動作を実施するために要求される具体的ユーザを記憶してもよい。
【0052】
いくつかの実施形態では、メディアガイドアプリケーションは、ユーザと関連付けられる記憶された識別子(例えば、識別子202)を伴う複数のエントリを含むペアレンタルコントロールデータベース(例えば、ペアレンタルコントロールデータベース200)内のフィールドから、第1の記憶された識別子を読み出す。例えば、メディアガイドアプリケーションは、宣言「選択」文を利用してSQLプログラムスクリプトを実行し、データベース内のフィールドから「1234」等の第1の記憶された識別子の値を読み出してもよい。メディアガイドアプリケーションは、第1の記憶された識別子の文字を受信された認可コードの文字と比較することによって、第1の記憶された識別子(例えば、識別子202)が受信された認可コードに合致するかどうかを決定してもよい。例えば、メディアガイドアプリケーションは、受信された文字列(すなわち、第1の認可コード)の各インデックス付き文字を記憶された識別子の各インデックス付き文字と比較し、2つの文字列が合致するかどうかを決定してもよい。メディアガイドアプリケーションは、合致した文字の数または割合が閾値を超える場合に合致を決定してもよい。例えば、メディアガイドアプリケーションは、90%合致が閾値割合(例えば、75%)を超える場合に、「1234567891」が「1224567891」に合致することを決定してもよい。
【0053】
第1の記憶された識別子が受信された認可コードに合致することを決定するステップに応答して、メディアガイドアプリケーションは、第1の記憶された識別子と関連付けられるフィールドから値を読み出す。例えば、メディアガイドアプリケーションは、第1の記憶された識別子と関連付けられるフィールドから、ブロック基準(例えば、ブロック基準204)(例えば、第1の記憶された識別子によって識別されるユーザは、TV−PGを上回る評価を伴うメディアアセットにアクセスすることができない)を読み出してもよい。メディアガイドアプリケーションは、次いで、値に基づいて、第1の記憶された識別子によって識別されるユーザがメディアアセットへのアクセスを有するかどうかを決定する。例えば、メディアガイドアプリケーションは、第1の記憶された識別子と関連付けられるフィールドから読み出されるブロック基準をメディアアセットと関連付けられるメタデータ(例えば、記憶されたメタデータ250)と比較し、第1の記憶された識別子によって識別されるユーザがメディアアセットにアクセスする許可を有するかどうかを決定してもよい。具体的実施例として、ブロック基準が評価「TV−PG」であり、メディアアセットが(例えば、記憶されたメタデータ250によって示されるように)「TV−MA」の評価を有する場合には、メディアアセットの評価がブロック基準評価を超えるため、メディアガイドアプリケーションは、ユーザがメディアアセットにアクセスする許可を有していないことを決定してもよい。
【0054】
いくつかの実施形態では、メディアガイドアプリケーションは、事前決定された期間にわたってメディアアセットを視聴するためのアクセスを許可する命令を生成する。例えば、メディアガイドアプリケーションが、(例えば、上記で説明されるような識別子202であり得る)第1の認可コードによって識別されるユーザがメディアアセットへのアクセスを有することを決定した後、メディアガイドアプリケーションは、ある期間にわたってメディアアセットへのアクセスを許可する命令を(例えば、プログラムスクリプトを実行することによって)生成してもよい。メディアガイドアプリケーションは、次いで、命令を実行してもよく、命令は、ペアレンタルコントロールデータベース(例えば、ペアレンタルコントロールデータベース200)内の第1の記憶された識別子と関連付けられるフィールドの中に、一時的インジケーションを記憶し、メディアアセットを視聴するためのアクセスを許可する。例えば、メディアガイドアプリケーションは、生成されたプログラムスクリプトを実行してもよく、これは、次いで、ユーザがメディアアセットへのアクセスを有するというインジケーション(例えば、「真」に設定されたブール値)をペアレンタルコントロールデータベースの中に(例えば、ペアレンタルコントロールデータベース200の付加的フィールド210の中に)記憶する。メディアガイドアプリケーションは、次いで、命令を実行するステップに応答して、経過時間を監視する。例えば、プログラムスクリプトは、メディアアセットへのアクセスが満了するときに、終了時間をペアレンタルコントロールデータベースの中に(例えば、ペアレンタルコントロールデータベース200の中に)記憶してもよく、メディアガイドアプリケーションは、別のプログラムスクリプトを実行し、時間が終了時間内の値に到達するときにインジケーションを除去してもよい。代替として、メディアガイドアプリケーションは、クロック時間を監視し、事前決定された期間後にインジケーションを除去する、プログラムスクリプトを起動し続けてもよい。メディアガイドアプリケーションは、経過時間が事前決定された期間を超えることを決定するステップに応答して、メディアアセットを視聴するためのアクセスを許可するための一時的インジケーションを削除する。例えば、メディアガイドアプリケーションは、インジケーションが記憶されたフィールド(例えば、ペアレンタルコントロールデータベース200内の付加的フィールド210のうちの1つ)のコンテンツをリセットしてもよい。
【0055】
いくつかの実施形態では、メディアガイドアプリケーションは、第1の時間に生成される第2の識別子に合致しない伝送された第2の認可コードに基づいて、メディアアセットと関連付けられる動作を実行する認可を許可しない、インジケーションを受信するステップに応答して、ペアレンタルコントロールデータベースにクエリを行い、動作を可能にするための代替的な第2の認可コードがあるかどうかを決定する。例えば、メディアガイドアプリケーションは、伝送された認可コードが第2の識別子に対応しない場合に「偽」に設定されるブール値とともに、認可パッケージからデータパケットを受信してもよい。メディアガイドアプリケーションは、次いで、ペアレンタルコントロールデータベース(例えば、ペアレンタルコントロールデータベース200)にアクセスし、任意の他の第2要素認可ソースが第1の記憶された識別子(例えば、代替的な第2の認可要素208)と関連付けられるどうかを決定する。例えば、メディアガイドアプリケーションは、ペアレンタルコントロールデータベースの中に記憶されたデータ(例えば、代替的な第2の認可要素208)に基づいて、ユーザがまた、第2の認可コードとしてのバイオメトリック署名(例えば、虹彩スキャンまたは顔認識)を介して識別され得ることを決定してもよい。動作を可能にするための代替的な第2の認可コードがあることを決定するステップに応答して、メディアガイドアプリケーションは、代替的な第2の認可コードを入力するためのインジケーションを表示するために生成する。例えば、メディアガイドアプリケーションは、(例えば、携帯電話に統合された)カメラを使用し、第2の認可コードとしてバイオメトリック署名を入力するためのプロンプトを表示するために生成してもよい。
【0056】
いくつかの実施形態では、メディアガイドアプリケーションは、最初の第2の認可コード(例えば、第2の要素206)のための第2の識別子への合致の閾値数の失敗後のみ、(別のソースから)代替的な第2の認可コードを入力するように求めてもよい。例えば、メディアガイドアプリケーションが、認可データベースから、3つの連続的な伝送された第2の認可コードが第2の記憶された識別子に合致できなかったというインジケーションを受信する場合、メディアガイドアプリケーションは、代替的な第2の認可コード(例えば、代替的な第2の認可要素208)を入力するように求めることを決定してもよい。
【0057】
図3は、本開示のいくつかの実施形態による、メディアアセットと関連付けられる動作のために2要素認証を要求するためのユーザインターフェースの例証的表示である。例えば、メディアガイドアプリケーションは、許可メニュー304をディスプレイ302上に表示するために生成してもよい。ディスプレイ302は、1つ以上のユーザデバイス(例えば、下記で
図7−8に列挙されるデバイスのうちのいずれか)の上に出現してもよい。また、メディアガイドアプリケーションは、
図9−13に説明されるプロセスのうちの1つ以上のものを使用し、ディスプレイ302またはその中に説明される特徴のうちのいずれかを生成してもよい。
【0058】
許可メニュー304は、ユーザが記憶のためにスケジュールしているメディアアセットの識別子を示すテキスト(例えば、「Game of Thrones」)、および2要素認証を要求するであろう動作に関して許可を設定するオプションを含むプロンプトを含んでもよい。例えば、メディアガイドアプリケーションは、選択されると、削除するオプション306、コピーするオプション314、および視聴進捗を更新するオプション316等の対応する動作を実施するために2要素認証を要求する複数のオプションを生成してもよい。いくつかの実施形態では、具体的動作のための2要素認証を要求するオプション(例えば、インジケータ308によって示されるような削除するオプション306)の選択は、(例えば、具体的ユーザ312の選択を介して)具体的ユーザのためにさらにカスタマイズされてもよい、または(例えば、全てのユーザ310の選択を介して)全てのユーザのために設定されてもよい。
【0059】
いくつかの実施形態では、メディアガイドアプリケーションは、ユーザ入力を受信し、記憶のためにメディアアセットをスケジュールする。例えば、メディアガイドアプリケーションは、ユーザ入力インターフェース(例えば、リモートコントロール)を介してユーザ入力を受信し、記憶のためにメディアアセットをスケジュールしてもよい。具体的実施例として、ユーザは、メディアアセットをスケジューリングデータベースに追加させる、メディアガイドアプリケーションによって生成されるグリッドガイド内の特定のメディアアセット一覧を選択してもよい。メディアガイドアプリケーションは、ユーザ入力を受信するステップに応答して、対応する複数の動作へのアクセスを制限するための複数の選択可能なオプション(例えば、オプション306、314、および/または316)を伴うユーザインターフェース(例えば、許可メニュー304を含む)を表示するために生成する。例えば、メディアガイドアプリケーションは、ボタンを伴うユーザインターフェースを生成し、メディアアセットに対して実施され得る動作(例えば、削除するオプション306)のために2要素認証を要求してもよい。メディアガイドアプリケーションは、対応する動作へのアクセスを制限するための選択可能なオプションの選択を受信する。例えば、メディアガイドアプリケーションは、ユーザ入力インターフェースを介してユーザ選択を受信し、特定の動作(例えば、削除)のためのアクセスを制限(例えば、2要素認証を要求)してもよい。メディアガイドアプリケーションは、選択を受信するステップに応答して、(例えば、
図2に関して上記で説明されるように)ペアレンタルコントロールデータベースの中に、動作が第2の認可コードを要求するという情報を記憶する。例えば、メディアガイドアプリケーションは、上記で説明されるように、メディアアセットの識別子をペアレンタルコントロールデータベース内のポインタが動作に関して指し示すアレイに追加してもよい。代替として、または加えて、メディアガイドアプリケーションは、
図2に関して上記で説明されるように、記憶されたメディアアセットのメタデータとともにインジケーションを記憶してもよい。
【0060】
図4は、本開示のいくつかの実施形態による、メディアアセットと関連付けられる動作をブロックするためのユーザインターフェースの例証的表示である。例えば、メディアガイドアプリケーションは、モバイルデバイス400のディスプレイ402上に表示するためにアラート404を生成してもよい。アラート404は、特定の動作(例えば、削除)を実施するための要求がメディアガイドアプリケーションによって受信されたことを示す、テキストを含んでもよい。アラート404は、加えて、動作をブロックする選択可能なオプション406、および許可する選択可能なオプション408を表示するために生成してもよい。ディスプレイ402は、1つ以上のユーザデバイス(例えば、下記で
図7−8に列挙されるデバイスのうちのいずれか)の上に出現してもよい。また、メディアガイドアプリケーションは、
図9−13に説明されるプロセスのうちの1つ以上のものを使用し、ディスプレイ402またはその中に説明される特徴のうちのいずれかを生成してもよい。
【0061】
いくつかの実施形態では、メディアガイドアプリケーションは、メディアアセットにアクセスしたユーザの識別子を含むユーザデータベースにアクセスする。例えば、メディアガイドアプリケーションは、データベースまたは他の適切なデータ構造を維持し、ユーザがメディアアセットにアクセスした後に、メディアアセットの識別子と関連付けられるフィールドの中にユーザの識別子を記憶してもよい。具体的実施例として、ユーザ識別子は、「1111」等の第1の認可コードであってもよい。いくつかの実施形態では、ユーザデータベースは、(例えば、インデックスデータ構造に指し示される、またはそれを介してリンクされる)
図2に関して上記で議論されるペアレンタルコントロールデータベースと関連付けられてもよい。メディアガイドアプリケーションは、次いで、識別子と関連付けられるユーザデータベース内のフィールドから、メディアアセットにアクセスしたユーザと関連付けられるデバイスの連絡先情報を読み出す。例えば、メディアガイドアプリケーションは、認可コード「1111」によって識別されるユーザが、第1の認可コード「1234」によって識別されるユーザが動作を実施することを所望すると示した同一のメディアアセットを以前に視聴したことを決定してもよく、認可コード「1111」によって識別されるユーザの(例えば、モバイルデバイス400の)連絡先情報を読み出す。具体的実施例として、メディアガイドアプリケーションは、認可コード「1111」によって識別されるユーザに対応するユーザデータベース内のフィールドから、携帯電話番号「123−456−7890」を読み出してもよい。メディアガイドアプリケーションは、次いで、メディアアセットと関連付けられる動作が受信されたというユーザへの通知を連絡先情報に基づくデバイス(例えば、モバイルデバイス400)に伝送する。例えば、メディアガイドアプリケーションは、読み出された電話番号に基づいて、メッセージを携帯電話に伝送してもよい。伝送されたメッセージは、動作および/または動作を実施しようとしているユーザの詳細を含んでもよい。例えば、メディアガイドアプリケーションは、「ユーザ「Steve」が「Game of Thrones、シーズン6、エピソード5」を削除しようとしています」というメッセージを伝送してもよい。
【0062】
メディアアセットと関連付けられる動作が受信されたという通知をユーザに伝送するステップに加えて、いくつかの実施形態では、メディアガイドアプリケーションは、デバイスから動作を防止するためのインジケーションを受信する。例えば、メディアガイドアプリケーションは、メッセージが伝送されたデバイスから、(例えば、ブロックするオプション406を選択するユーザ入力を介して)動作をブロックするためのインジケーションを受信してもよい。具体的実施例として、通知がユーザの携帯電話に伝送された場合、メッセージは、動作をブロックすることを所望する場合にメッセージに返信するようにユーザに命令する、テキストを含んでもよい。いくつかの実施形態では、メディアガイドアプリケーションは、ユーザと関連付けられるユーザデータベースの中に記憶されたインジケーションに基づいて、ユーザが動作をブロックする権限を有するかどうかを決定してもよく、動作をブロックする権限を有する場合にメッセージに返信するようにユーザに指示する、テキストのみを含むであろう。メディアガイドアプリケーションは、次いで、インジケーションをメディアアセットと関連付けられるペアレンタルコントロールデータベースの第2のフィールドの中に記憶し、インジケーションは、動作が実行されることを防止する。例えば、メディアガイドアプリケーションは、動作をブロックするための受信されたインジケーションに基づいて、ユーザが削除する権限を有する(例えば、
図2に関して上記で説明されるように、ペアレンタルコントロールデータベース内のフィールドによって指し示される)メディアアセットのアレイからメディアアセットを除去してもよい。代替として、または加えて、メディアガイドアプリケーションは、ユーザが動作を実施しないように別のユーザによってブロックされたメディアアセットに関して、メディアアセットをペアレンタルコントロールデータベース内のアレイに追加してもよい。
【0063】
任意の所与のコンテンツ配信システムでユーザに利用可能なコンテンツの量が、膨大であり得る。その結果、多くのユーザは、ユーザがコンテンツの選択を効率的にナビゲートし、所望し得るコンテンツを容易に識別することを可能にする、インターフェースを通したメディアガイドの形態を所望している。そのようなガイドを提供するアプリケーションは、本明細書では、双方向メディアガイドアプリケーションと称されるが、時として、メディアガイドアプリケーションまたはガイドアプリケーションと称されることもある。
【0064】
双方向メディアガイドアプリケーションは、ガイドを提供するコンテンツに応じて、種々の形態をとってもよい。1つの典型的なタイプのメディアガイドアプリケーションは、双方向テレビ番組ガイドである。双方向テレビ番組ガイド(時として、電子番組ガイドと称される)は、とりわけ、ユーザが、多くのタイプのコンテンツまたはメディアアセット間をナビゲートし、それを特定することを可能にする、周知のガイドアプリケーションである。双方向メディアガイドアプリケーションは、ユーザが、コンテンツ間をナビゲートし、それを特定および選択することを可能にする、グラフィカルユーザインターフェース画面を生成してもよい。本明細書で参照されるように、用語「メディアアセット」および「コンテンツ」は、テレビ番組、および有料番組、オンデマンド番組(ビデオオンデマンド(VOD)システムにおけるような)、インターネットコンテンツ(例えば、ストリーミングコンテンツ、ダウンロード可能コンテンツ、ウェブキャスト等)、ビデオクリップ、オーディオ、コンテンツ情報、写真、回転画像、ドキュメント、再生一覧、ウェブサイト、記事、書籍、電子書籍、ブログ、チャットセッション、ソーシャルメディア、アプリケーション、ゲーム、および/または任意の他のメディアまたはマルチメディア、および/またはそれらの組み合わせ等の電子的に消費可能なユーザアセットを意味すると理解されたい。ガイドアプリケーションはまた、ユーザが、コンテンツ間をナビゲートし、それを特定することを可能にする。本明細書で参照されるように、用語「マルチメディア」は、上記で説明される少なくとも2つの異なるコンテンツ形態、例えば、テキスト、オーディオ、画像、ビデオ、または双方向コンテンツ形態を利用する、コンテンツを意味すると理解されたい。コンテンツは、ユーザ機器デバイスによって、録画、再生、表示、またはアクセスされてもよいが、また、ライブパーフォーマンスの一部であることもできる。
【0065】
本明細書で議論される実施形態のいずれかを実施するためのメディアガイドアプリケーションおよび/または任意の命令は、コンピュータ可読媒体上にエンコードされてもよい。コンピュータ可読媒体は、データを記憶することが可能な任意のメディアを含む。コンピュータ可読媒体は、限定ではないが、電気または電磁信号の伝搬を含む、一過性であり得る、または限定ではないが、ハードディスク、フロッピー(登録商標)ディスク、USBドライブ、DVD、CD、メディアカード、レジスタメモリ、プロセッサキャッシュ、ランダムアクセスメモリ(「RAM」)等の揮発性および不揮発性コンピュータメモリまたは記憶デバイスを含む、非一過性であり得る。
【0066】
インターネット、モバイルコンピューティング、および高速無線ネットワークの出現に伴って、ユーザは、従来は使用しなかったユーザ機器デバイス上でメディアにアクセスするようになっている。本明細書で参照されるように、語句「ユーザ機器デバイス」、「ユーザ機器」、「ユーザデバイス」、「電子デバイス」、「電子機器」、「メディア機器デバイス」、または「メディアデバイス」は、テレビ、スマートTV、セットトップボックス、衛星テレビに対応するための統合型受信機デコーダ(IRD)、デジタル記憶デバイス、デジタルメディア受信機(DMR)、デジタルメディアアダプタ(DMA)、ストリーミングメディアデバイス、DVDプレーヤ、DVDレコーダ、接続型DVD、ローカルメディアサーバ、BLU−RAY(登録商標)プレーヤ、BLU−RAY(登録商標)レコーダ、パーソナルコンピュータ(PC)、ラップトップコンピュータ、タブレットコンピュータ、ウェブTVボックス、パーソナルコンピュータテレビ(PC/TV)、PCメディアサーバ、PCメディアセンター、ハンドヘルドコンピュータ、固定電話、携帯情報端末(PDA)、携帯電話、ポータブルビデオプレーヤ、ポータブル音楽プレーヤ、ポータブルゲーム機、スマートフォン、または任意の他のテレビ機器、コンピューティング機器、または無線デバイス、および/またはそれらの組み合わせ等の上記で説明されるコンテンツにアクセスするための任意のデバイスを意味すると理解されたい。いくつかの実施形態では、ユーザ機器デバイスは、正面画面および裏面画面、複数の正面画面、または複数の角度付き画面を有してもよい。いくつかの実施形態では、ユーザ機器デバイスは、正面カメラおよび/または裏面カメラを有してもよい。これらのユーザ機器デバイス上で、ユーザは、テレビを通して利用可能な同一のコンテンツ間をナビゲートし、それを特定することが可能であり得る。その結果として、メディアガイドは、これらのデバイス上でも利用可能であり得る。提供されるガイドは、テレビのみを通して利用可能なコンテンツ、他のタイプのユーザ機器デバイスのうちの1つ以上のもののみを通して利用可能なコンテンツ、またはテレビおよび他のタイプのユーザ機器デバイスのうちの1つ以上のものの両方を通して利用可能なコンテンツのためのものであってもよい。メディアガイドアプリケーションは、ユーザ機器デバイス上で、オンラインアプリケーション(すなわち、ウェブサイト上で提供される)として、または独立型アプリケーションまたはクライアントとして提供されてもよい。メディアガイドアプリケーションを実装し得る、種々のデバイスおよびプラットフォームは、下記でより詳細に説明される。
【0067】
メディアガイドアプリケーションの機能のうちの1つは、メディアガイドデータをユーザに提供することである。本明細書で参照されるように、語句「メディアガイドデータ」または「ガイドデータ」は、コンテンツに関連する任意のデータまたはガイドアプリケーションを動作させる際に使用されるデータを意味すると理解されたい。例えば、ガイドデータは、番組情報、ガイドアプリケーション設定、ユーザ選好、ユーザプロファイル情報、メディア一覧、メディア関連情報(例えば、放送時間、放送チャネル、タイトル、内容、評価情報(例えば、ペアレンタルコントロール評価、批評家の評価等)、ジャンルまたはカテゴリ情報、俳優情報、放送会社またはプロバイダのロゴのロゴデータ等)、メディア形式(例えば、標準解像度、高解像度、3D等)、オンデマンド情報、ブログ、ウェブサイト、およびユーザが所望のコンテンツ選択間をナビゲートし、それを特定するために役立つ、任意の他のタイプのガイドデータを含んでもよい。
【0068】
図5−6は、メディアガイドデータを提供するために使用され得る、例証的表示画面を示す。
図5−6に示される表示画面は、任意の好適なユーザ機器デバイスまたはプラットフォーム上に実装されてもよい。
図5−6の表示は、フル画面表示として図示されているが、それらはまた、表示されているコンテンツ上に完全または部分的にオーバーレイされてもよい。ユーザは、表示画面に提供された選択可能なオプション(例えば、メニューオプション、一覧オプション、アイコン、ハイパーリンク等)を選択することによって、またはリモートコントロールまたは他のユーザ入力インターフェースまたはデバイス上の専用ボタン(例えば、「ガイド」ボタン)を押下することによって、コンテンツ情報にアクセスする要望を示してもよい。ユーザのインジケーションに応答して、メディアガイドアプリケーションは、グリッド内の時間およびチャネル別、時間別、チャネル別、ソース別、コンテンツタイプ別、カテゴリ別(例えば、映画、スポーツ、ニュース、子供向け、または他の番組カテゴリ)、または他の所定、ユーザ定義、または他の編成基準等のいくつかの方法のうちの1つにおいて編成されたメディアガイドデータを表示画面に提供してもよい。
【0069】
図5は、単一表示内の異なるタイプのコンテンツへのアクセスも可能にする、時間およびチャネル別に配列された番組一覧表示500の例証的グリッドを示す。表示500は、以下、すなわち、(1)各チャネル/コンテンツタイプ識別子(列内のセル)が利用可能な異なるチャネルまたはコンテンツのタイプを識別する、チャネル/コンテンツタイプ識別子504の列、および(2)各時間識別子(行内のセル)が番組の時間帯を識別する、時間識別子506の行を伴うグリッド502を含んでもよい。グリッド502はまた、番組一覧508等の番組一覧のセルも含み、各一覧は、一覧の関連チャネルおよび時間の上に提供される、番組のタイトルを提供する。ユーザ入力デバイスを用いて、ユーザは、ハイライト領域510を移動させることによって番組一覧を選択することができる。ハイライト領域510によって選択される番組一覧に関する情報が、番組情報領域512内に提供されてもよい。領域512は、例えば、番組タイトル、番組内容、番組が提供される時間(該当する場合)、番組が放送されるチャネル(該当する場合)、番組の評価、および他の所望の情報を含んでもよい。
【0070】
線形番組(例えば、所定の時間に複数のユーザ機器デバイスに伝送されるようにスケジュールされ、スケジュールに従って提供されるコンテンツ)にアクセスを提供することに加えて、メディアガイドアプリケーションはまた、非線形番組(例えば、任意の時間においてユーザ機器デバイスにアクセス可能であって、スケジュールに従って提供されない、コンテンツ)へのアクセスも提供する。非線形番組は、オンデマンドコンテンツ(例えば、VOD)、インターネットコンテンツ(例えば、ストリーミングメディア、ダウンロード可能メディア等)、ローカルで記憶されたコンテンツ(例えば、上記で説明される任意のユーザ機器デバイスまたは他の記憶デバイス上に記憶されたコンテンツ)、または時間的制約のない他のコンテンツを含む、異なるコンテンツソースからのコンテンツを含んでもよい。オンデマンドコンテンツは、映画または特定のコンテンツプロバイダ(例えば、「The Sopranos」や「Curb Your Enthusiasm」を提供するHBO On Demand)によって提供される映画または任意の他のコンテンツを含んでもよい。HBO ON DEMANDは、Time Warner Company L. P. et al.によって所有されるサービスマークであり、THE SOPRANOSおよびCURB YOUR ENTHUSIASMは、Home Box Office, Inc.によって所有される商標である。インターネットコンテンツは、チャットセッションまたはウェブキャスト等のウェブイベント、またはインターネットウェブサイトまたは他のインターネットアクセス(例えば、FTP)を通して、ストリーミングコンテンツまたはダウンロード可能なコンテンツとしてオンデマンドで利用可能なコンテンツを含んでもよい。
【0071】
グリッド502は、オンデマンド一覧514、録画コンテンツ一覧516、およびインターネットコンテンツ一覧518を含む、非線形番組のメディアガイドデータを提供してもよい。異なるタイプのコンテンツソースからのコンテンツのためのメディアガイドデータを組み合わせる表示は、時として、「混合メディア」表示と称されることもある。表示500とは異なる、表示され得るメディアガイドデータのタイプの種々の順列は、ユーザ選択またはガイドアプリケーション定義に基づいてもよい(例えば、録画および放送一覧のみの表示、オンデマンドおよび放送一覧のみの表示等)。例証されるように、一覧514、516、および518は、これらの一覧の選択が、それぞれ、オンデマンド一覧、録画一覧、またはインターネット一覧専用の表示へのアクセスを提供し得ることを示すように、グリッド502内に表示される時間帯全体に及ぶものとして示されている。いくつかの実施形態では、これらのコンテンツタイプの一覧は、グリッド502に直接含まれてもよい。ユーザがナビゲーションアイコン520のうちの1つを選択することに応答して、付加的メディアガイドデータが表示されてもよい(ユーザ入力デバイス上の矢印キーを押下することは、ナビゲーションアイコン520を選択することと同様に表示に影響を及ぼし得る)。
【0072】
表示500はまた、ビデオ領域522およびオプション領域526を含んでもよい。ビデオ領域522は、ユーザが、ユーザに現在利用可能である、今後利用可能となる、または利用可能であった番組を視聴および/またはプレビューすることを可能にしてもよい。ビデオ領域522のコンテンツは、グリッド502に表示される一覧のうちの1つに対応する、またはそれから独立し得る。ビデオ領域を含むグリッド表示は、時として、ピクチャインガイド(PIG)表示と称されることもある。PIG表示およびそれらの機能性は、2003年5月13日発行のSatterfield et al.の米国特許第6,564,378号、および2001年5月29日発行のYuen et al.の米国特許第6,239,794号(それらの全体として参照することによって本明細書に組み込まれる)でより詳細に説明されている。PIG表示は、本明細書に説明される実施形態の他のメディアガイドアプリケーション表示画面に含まれてもよい。
【0073】
オプション領域526は、ユーザが、異なるタイプのコンテンツ、メディアガイドアプリケーション表示、および/またはメディアガイドアプリケーション特徴にアクセスすることを可能にしてもよい。オプション領域526は、表示500(および本明細書に説明される他の表示画面)の一部であってもよい、または画面上のオプションを選択すること、またはユーザ入力デバイス上の専用または割当可能ボタンを押下することによって、ユーザによって呼び出されてもよい。オプション領域526内の選択可能オプションは、グリッド502内の番組一覧に関連する特徴に関してもよい、またはメインメニュー表示から利用可能なオプションを含んでもよい。番組一覧に関連する特徴は、他の放送時間または番組の受信方法の検索、番組の録画、番組の連続録画の有効化、番組および/またはチャネルをお気に入りとして設定、番組の購入、または他の特徴を含んでもよい。メインメニュー表示から利用可能なオプションは、検索オプション、VODオプション、ペアレンタルコントロールオプション、インターネットオプション、クラウドベースのオプション、デバイス同期オプション、第2の画面デバイスオプション、種々のタイプのメディアガイドデータ表示にアクセスするオプション、プレミアムサービスをサブスクライブするオプション、ユーザのプロファイルを編集するオプション、ブラウザオーバーレイにアクセスするオプション、または他のオプションを含んでもよい。
【0074】
メディアガイドアプリケーションは、ユーザの選好に基づいて個人化されてもよい。個人化されたメディアガイドアプリケーションは、ユーザが、メディアガイドアプリケーションを用いて個人化された「体験」を生成するように、表示および特徴をカスタマイズすることを可能にする。この個人化された体験は、ユーザがこれらのカスタマイズを入力することを可能にすることによって、および/または種々のユーザ選好を決定するようにメディアガイドアプリケーションがユーザアクティビティを監視することによって、生成されてもよい。ユーザは、ログインすることによって、または別様にガイドアプリケーションに対して自らを識別することによって、それらの個人化されたガイドアプリケーションにアクセスしてもよい。メディアガイドアプリケーションのカスタマイズは、ユーザプロファイルに従って作成されてもよい。カスタマイズは、提示方式(例えば、表示の色方式、テキストのフォントサイズ等)、表示されるコンテンツ一覧の側面(例えば、HDTV番組のみまたは3D番組のみ、お気に入りチャネル選択に基づいたユーザ指定の放送チャネル、チャネルの表示の並び替え、推奨コンテンツ等)、所望の録画特徴(例えば、特定のユーザに対する録画または連続録画、録画品質等)、ペアレンタルコントロール設定、インターネットコンテンツのカスタマイズされた提示(例えば、ソーシャルメディアコンテンツ、電子メール、電子的に配信された記事等の提示)、および他の所望のカスタマイズを変更させるステップを含んでもよい。
【0075】
メディアガイドアプリケーションは、ユーザが、ユーザプロファイル情報を提供することを可能にしてもよい、またはユーザプロファイル情報を自動的にコンパイルしてもよい。メディアガイドアプリケーションは、例えば、ユーザがアクセスするコンテンツ、および/またはユーザがガイドアプリケーションと行い得る他の相互作用を監視してもよい。加えて、メディアガイドアプリケーションは、特定のユーザに関連する他のユーザプロファイルの全体または一部を取得し(例えば、www.allrovi.com等のユーザがアクセスするインターネット上の他のウェブサイトから、ユーザがアクセスする他のメディアガイドアプリケーションから、ユーザがアクセスする他の双方向アプリケーションから、ユーザの別のユーザ機器デバイスから等)、および/またはメディアガイドアプリケーションがアクセスし得る他のソースから、ユーザについての情報を取得してもよい。結果として、ユーザは、ユーザの異なるユーザ機器デバイスにわたって、統一されたガイドアプリケーション体験を提供することができる。本タイプのユーザ体験は、
図8に関連して下記でより詳細に説明される。付加的な個人化されたメディアガイドアプリケーション特徴は、2005年7月11日出願のEllis et al.の米国特許出願公開第2005/0251827号、2007年1月16日出願のBoyer et al.の米国特許第7,165,098号、および2002年2月21日出願のEllis et al.の米国特許出願公開第2002/0174430号(それらの全体として参照することによって本明細書に組み込まれる)でより詳細に説明されている。
【0076】
メディアガイドを提供するための別の表示配列が、
図6に示されている。ビデオモザイク表示600は、コンテンツのタイプ、ジャンル、および/または他の編成基準に基づいて編成されたコンテンツ情報のための選択可能オプション602を含む。表示600では、テレビ一覧オプション604が、選択され、したがって、一覧606、608、610、および612を放送番組一覧として提供する。表示600では、一覧は、カバーアート、コンテンツからの静止画像、ビデオクリップのプレビュー、コンテンツからのライブビデオ、または一覧中のメディアガイドデータによって記述されているコンテンツをユーザに示す他のタイプのコンテンツを含む、グラフィック画像を提供してもよい。グラフィック一覧はまた、それぞれ、一覧と関連付けられるコンテンツに関するさらなる情報を提供するように、テキストを伴ってもよい。例えば、一覧608は、メディア部分614およびテキスト部分616を含む、1つを上回る部分を含んでもよい。メディア部分614および/またはテキスト部分616は、コンテンツをフル画面で視聴するように、またはメディア部分614に表示されるコンテンツに関連する情報を閲覧するように(例えば、ビデオが表示されるチャネルの一覧を閲覧するように)、選択可能であり得る。
【0077】
表示600内の一覧は、異なるサイズである(すなわち、一覧606は、一覧608、610、および612より大きい)が、所望に応じて、全ての一覧が同一のサイズであってもよい。一覧は、コンテンツプロバイダの所望に応じて、またはユーザ選好に基づいて、ユーザの関心の程度を示すように、またはあるコンテンツを強調するように、異なるサイズであるか、またはグラフィック的に強調されてもよい。コンテンツ一覧をグラフィック的に強調するための種々のシステムおよび方法は、例えば、2009年11月12日に出願されたYatesの米国特許出願公開第2010/0153885号(その全体として参照することによって本明細書に組み込まれる)で議論されている。
【0078】
ユーザは、そのユーザ機器デバイスのうちの1つ以上のものから、コンテンツおよびメディアガイドアプリケーション(および上記および下記で説明されるその表示画面)にアクセスしてもよい。
図7は、例証的ユーザ機器デバイス700の一般化された実施形態を示す。ユーザ機器デバイスのより具体的な実装は、
図8に関連して下記で議論される。ユーザ機器デバイス700は、入出力(以下「I/O」)パス702を介して、コンテンツおよびデータを受信してもよい。I/Oパス702は、処理回路706および記憶装置708を含む制御回路704に、コンテンツ(例えば、放送番組、オンデマンド番組、インターネットコンテンツ、ローカルエリアネットワーク(LAN)または広域ネットワーク(WAN)を経由して利用可能なコンテンツ、および/または他のコンテンツ)およびデータを提供してもよい。制御回路704は、I/Oパス702を使用して、コマンド、要求、および他の好適なデータを送受信するために使用されてもよい。I/Oパス702は、制御回路704(具体的には、処理回路706)を1つ以上の通信パス(下記で説明される)に接続してもよい。I/O機能は、これらの通信パスのうちの1つ以上のものによって提供されてもよいが、図面が複雑になり過ぎることを回避するため、
図7では単一パスとして示されている。
【0079】
制御回路704は、処理回路706等の任意の好適な処理回路に基づいてもよい。本明細書で参照されるように、処理回路とは、1つ以上のマイクロプロセッサ、マイクロコントローラ、デジタル信号プロセッサ、プログラマブル論理デバイス、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)等に基づく回路を意味すると理解され、マルチコアプロセッサ(例えば、デュアルコア、クアドコア、ヘクサコア、または任意の好適な数のコア)またはスーパーコンピュータを含んでもよい。いくつかの実施形態では、処理回路は、複数の別個のプロセッサまたは処理ユニット、例えば、複数の同一のタイプの処理ユニット(例えば、2つのIntel Core i7プロセッサ)または複数の異なるプロセッサ(例えば、Intel Core i5プロセッサおよびIntel Core i7プロセッサ)にわたって分散されてもよい。いくつかの実施形態では、制御回路704は、メモリ(すなわち、記憶装置708)に記憶されたメディアガイドアプリケーションに対する命令を実行する。具体的には、制御回路704は、メディアガイドアプリケーションによって、上記および下記で議論される機能を果たすように命令されてもよい。例えば、メディアガイドアプリケーションは、制御回路704に、メディアガイド表示を生成するための命令を提供してもよい。いくつかの実装では、制御回路704によって実施される任意のアクションは、メディアガイドアプリケーションから受信される命令に基づいてもよい。
【0080】
クライアントサーバベースの実施形態では、制御回路704は、ガイドアプリケーションサーバまたは他のネットワークまたはサーバと通信するための好適な通信回路を含んでもよい。上記に述べられる機能性を実施するための命令は、ガイドアプリケーションサーバ上に記憶されてもよい。通信回路は、ケーブルモデム、総合デジタル通信網(ISDN)モデム、デジタルサブスクライバ回線(DSL)モデム、電話モデム、イーサネット(登録商標)カード、または他の機器との通信用の無線モデム、または任意の他の好適な通信回路を含んでもよい。そのような通信は、インターネットまたは任意の他の好適な通信ネットワークまたはパスを伴ってもよい(
図8に関連してより詳細に説明される)。加えて、通信回路は、ユーザ機器デバイスのピアツーピア通信、または相互から遠隔の場所にあるユーザ機器デバイスの通信を可能にする回路を含んでもよい(下記でより詳細に説明される)。
【0081】
メモリは、制御回路704の一部である、記憶装置708として提供される、電子記憶デバイスであってもよい。本明細書で参照されるように、語句「電子記憶デバイス」または「記憶デバイス」とは、ランダムアクセスメモリ、読取専用メモリ、ハードドライブ、光学ドライブ、デジタルビデオディスク(DVD)レコーダ、コンパクトディスク(CD)レコーダ、BLU−RAY(登録商標)ディスク(BD)レコーダ、BLU−RAY(登録商標) 3Dディスクレコーダ、デジタルビデオレコーダ(DVR、または時として、パーソナルビデオレコーダまたはPVRと呼ばれる場合もある)、ソリッドステートデバイス、量子記憶デバイス、ゲームコンソール、ゲームメディア、または任意の他の好適な固定またはリムーバブル記憶デバイス、および/またはそれらの任意の組み合わせ等の電子データ、コンピュータソフトウェア、またはファームウェアを記憶するための任意のデバイスを意味すると理解されたい。記憶装置708は、本明細書に説明される種々のタイプのコンテンツ、および上記で説明されるメディアガイドデータを記憶するために使用されてもよい。不揮発性メモリもまた、(例えば、ブートアップルーチンおよび他の命令を起動するために)使用されてもよい。
図8に関連して説明されるクラウドベースの記憶装置が、記憶装置708を補完するために使用される、または記憶装置708の代わりに使用されてもよい。
【0082】
制御回路704は、1つ以上のアナログチューナ、1つ以上のMPEG−2デコーダ、または他のデジタルデコード回路、高解像度チューナ、または任意の他の好適な同調またはビデオ回路、またはそのような回路の組み合わせ等のビデオ生成回路および同調回路を含んでもよい。(例えば、記憶するために、無線、アナログ、またはデジタル信号をMPEG信号に変換するための)エンコード回路もまた、提供されてもよい。制御回路704はまた、コンテンツをユーザ機器700の好ましい出力形式に上方変換および下方変換するためのスケーリング回路を含んでもよい。回路704はまた、デジタル信号とアナログ信号との間で変換するためのデジタル/アナログ変換回路およびアナログ/デジタル変換回路を含んでもよい。同調およびエンコード回路は、コンテンツを受信して表示する、再生する、または録画するために、ユーザ機器デバイスによって使用されてもよい。同調およびエンコード回路はまた、ガイドデータを受信するために使用されてもよい。例えば、同調、ビデオ生成、エンコード、デコード、暗号化、解読、スケーリング、およびアナログ/デジタル回路を含む、本明細書に説明される回路は、1つ以上の汎用または特殊プロセッサ上で起動するソフトウェアを使用して実装されてもよい。複数のチューナが、同時同調機能(例えば、視聴および録画機能、ピクチャインピクチャ(PIP)機能、多重チューナ録画機能等)に対処するように提供されてもよい。記憶装置708が、ユーザ機器700とは別のデバイスとして提供される場合、同調およびエンコード回路(複数のチューナを含む)は、記憶装置708と関連付けられてもよい。
【0083】
ユーザは、ユーザ入力インターフェース710を使用して、命令を制御回路704に送信してもよい。ユーザ入力インターフェース710は、リモートコントロール、マウス、トラックボール、キーパッド、キーボード、タッチスクリーン、タッチパッド、スタイラス入力、ジョイスティック、音声認識インターフェース、または他のユーザ入力インターフェース等の任意の好適なユーザインターフェースであってもよい。ディスプレイ712は、独立型デバイスとして提供される、またはユーザ機器デバイス700の他の要素と統合されてもよい。例えば、ディスプレイ712は、タッチスクリーンまたはタッチセンサ式ディスプレイであってもよい。そのような状況では、ユーザ入力インターフェース710は、ディスプレイ712と統合される、または組み合わせられてもよい。ディスプレイ712は、モニタ、テレビ、モバイルデバイス用液晶ディスプレイ(LCD)、非晶質シリコンディスプレイ、低温ポリシリコンディスプレイ、電子インクディスプレイ、電気泳動ディスプレイ、アクティブマトリクスディスプレイ、エレクトロウェッティングディスプレイ、電気流体ディスプレイ、ブラウン管ディスプレイ、発光ダイオードディスプレイ、エレクトロルミネセントディスプレイ、プラズマディスプレイパネル、高性能アドレッシングディスプレイ、薄膜トランジスタディスプレイ、有機発光ダイオードディスプレイ、表面伝導型電子放出素子ディスプレイ(SED)、レーザテレビ、カーボンナノチューブ、量子ドットディスプレイ、干渉変調器ディスプレイ、または視覚的画像を表示するための任意の他の好適な機器のうちの1つ以上のものであってもよい。いくつかの実施形態では、ディスプレイ712は、HDTV対応型であり得る。いくつかの実施形態では、ディスプレイ712は、3Dディスプレイであってもよく、双方向メディアガイドアプリケーションおよび任意の好適なコンテンツは、3Dで表示されてもよい。ビデオカードまたはグラフィックカードは、ディスプレイ712への出力を生成してもよい。ビデオカードは、3Dシーンおよび2Dグラフィックのレンダリング加速、MPEG−2/MPEG−4デコード、TV出力、または複数のモニタを接続する能力等の種々の機能を提供し得る。ビデオカードは、制御回路704に関連する上記で説明される任意の処理回路であってもよい。ビデオカードは、制御回路704と統合されてもよい。スピーカ714は、ユーザ機器デバイス700の他の要素と統合されたものとして提供されてもよい、または独立型ユニットであってもよい。ディスプレイ712上に表示されるビデオおよび他のコンテンツのオーディオコンポーネントは、スピーカ714を通して再生されてもよい。いくつかの実施形態では、オーディオは、スピーカ714を介して音声を処理および出力する、受信機(図示せず)に配布されてもよい。
【0084】
ガイドアプリケーションは、任意の好適なアーキテクチャを使用して実装されてもよい。例えば、これは、ユーザ機器デバイス700上で完全に実装される、独立型アプリケーションであってもよい。そのようなアプローチでは、アプリケーションの命令は、ローカルで(例えば、記憶装置708内に)記憶され、アプリケーションによって使用するためのデータは、周期的にダウンロードされる(例えば、帯域外フィードから、インターネットリソースから、または別の好適なアプローチを使用して)。制御回路704は、記憶装置708からアプリケーションの命令を読み出し、本明細書で議論される表示のうちのいずれかを生成するための命令を処理してもよい。処理された命令に基づいて、制御回路704は、入力が入力インターフェース710から受信されるときに実施するアクションを決定してもよい。例えば、表示上のカーソルの上/下への移動は、入力インターフェース710が上/下ボタンが選択されたことを示すとき、処理された命令によって示されてもよい。
【0085】
いくつかの実施形態では、メディアガイドアプリケーションは、クライアントサーバベースのアプリケーションである。ユーザ機器デバイス700上に実装される、シックまたはシンクライアントによって使用するためのデータは、ユーザ機器デバイス700の遠隔にあるサーバに要求を発行することによって、オンデマンドで読み出される。クライアントサーバベースのガイドアプリケーションの一実施例では、制御回路704は、遠隔サーバによって提供されるウェブページを解釈する、ウェブブラウザを起動する。例えば、遠隔サーバは、記憶デバイス内にアプリケーションのための命令を記憶してもよい。遠隔サーバは、回路(例えば、制御回路704)を使用して、記憶された命令を処理し、上記および下記で議論される表示を生成してもよい。クライアントデバイスは、遠隔サーバによって生成される表示を受信してもよく、表示のコンテンツを機器デバイス700上でローカルで表示してもよい。このように、命令の処理が、サーバによって遠隔で実施される一方、結果として生じる表示は、機器デバイス700上にローカルで提供される。機器デバイス700は、入力インターフェース710を介して、ユーザからの入力を受信し、対応する表示を処理および生成するために、それらの入力を遠隔サーバに伝送してもよい。例えば、機器デバイス700は、上/下ボタンが入力インターフェース710を介して選択されたことを示す、通信を遠隔サーバに伝送してもよい。遠隔サーバは、その入力に従って命令を処理し、入力に対応するアプリケーションの表示を生成してもよい(例えば、カーソルを上/下に移動させる表示)。生成された表示は、次いで、ユーザへの提示のために、機器デバイス700に伝送される。
【0086】
いくつかの実施形態では、メディアガイドアプリケーションは、インタープリタまたは仮想マシン(制御回路704によって起動される)によって、ダウンロードされ、解釈または別様に起動される。いくつかの実施形態では、ガイドアプリケーションは、ETVバイナリ交換形式(ETV Binary Interchange Format/EBIF)でエンコードされ、好適なフィードの一部として制御回路704によって受信され、制御回路704上で起動するユーザエージェントによって解釈されてもよい。例えば、ガイドアプリケーションは、EBIFアプリケーションであってもよい。いくつかの実施形態では、ガイドアプリケーションは、制御回路704によって実行されるローカル仮想マシンまたは他の好適なミドルウェアによって受信および起動される、一連のJAVA(登録商標)ベースのファイルによって定義されてもよい。そのような実施形態のうちのいくつか(例えば、MPEG−2または他のデジタルメディアエンコードスキームを採用するもの)では、ガイドアプリケーションは、例えば、番組のMPEGオーディオおよびビデオパケットを用いたMPEG−2オブジェクトカルーセルにおいてエンコードおよび伝送されてもよい。
【0087】
図7のユーザ機器デバイス700は、ユーザテレビ機器802、ユーザコンピュータ機器804、無線ユーザ通信デバイス806、または非携帯用ゲーム機等のコンテンツにアクセスするために好適な任意の他のタイプのユーザ機器として、
図8のシステム800に実装されることができる。簡単にするために、これらのデバイスは、本明細書では総称して、ユーザ機器またはユーザ機器デバイスと称されてもよく、上記で説明されるユーザ機器デバイスに実質的に類似し得る。メディアガイドアプリケーションが実装され得る、ユーザ機器デバイスは、独立型デバイスとして機能してもよい、またはデバイスのネットワークの一部であってもよい。デバイスの種々のネットワーク構成が実装されてもよく、下記でより詳細に議論される。
【0088】
図7に関連して上記で説明されるシステム特徴のうちの少なくともいくつかを利用する、ユーザ機器デバイスは、単に、ユーザテレビ機器802、ユーザコンピュータ機器804、または無線ユーザ通信デバイス806として分類されなくてもよい。例えば、ユーザテレビ機器802は、いくつかのユーザコンピュータ機器804のように、インターネットコンテンツへのアクセスを許可するインターネット対応型であり得る一方で、ユーザコンピュータ機器804は、あるテレビ機器802のように、テレビ番組へのアクセスを許可するチューナを含んでもよい。メディアガイドアプリケーションはまた、種々の異なるタイプのユーザ機器上で同一レイアウトを有してもよい、またはユーザ機器の表示能力に合わせられてもよい。例えば、ユーザコンピュータ機器804上では、ガイドアプリケーションは、ウェブブラウザによってアクセスされるウェブサイトとして提供されてもよい。別の実施例では、ガイドアプリケーションは、無線ユーザ通信デバイス806用に縮小されてもよい。
【0089】
システム800では、典型的には、各タイプのユーザ機器デバイスが1つを上回って存在するが、図面が複雑になり過ぎることを回避するように、それぞれ1つだけが
図8に示されている。加えて、各ユーザは、1つを上回るタイプのユーザ機器デバイスと、また、各タイプのユーザ機器デバイスのうちの1つを上回るものとを利用してもよい。
【0090】
いくつかの実施形態では、ユーザ機器デバイス(例えば、ユーザテレビ機器802、ユーザコンピュータ機器804、無線ユーザ通信デバイス806)は、「第2の画面デバイス」と称されてもよい。例えば、第2の画面デバイスは、第1のユーザ機器デバイス上に提示されるコンテンツを補完してもよい。第2の画面デバイス上に提示されるコンテンツは、第1のデバイス上に提示されるコンテンツを補完する、任意の好適なコンテンツであってもよい。いくつかの実施形態では、第2の画面デバイスは、第1のデバイスの設定および表示選好を調節するためのインターフェースを提供する。いくつかの実施形態では、第2の画面デバイスは、他の第2の画面デバイスと相互作用する、またはソーシャルネットワークと相互作用するために構成されている。第2の画面デバイスは、第1のデバイスと同一の部屋内にに位置することができる、第1のデバイスと異なる部屋であるが同一の家または建物内にに位置することができる、または、第1のデバイスと異なる建物内に位置することができる。
【0091】
ユーザはまた、家庭内デバイスおよび遠隔デバイスにわたって一貫したメディアガイドアプリケーション設定を維持するように、種々の設定を設定してもよい。設定は、本明細書に説明されるもの、およびお気に入りのチャネルおよび番組、番組を推奨するためにガイドアプリケーションが利用する番組選好、表示選好、および他の望ましいガイド設定を含む。例えば、ユーザが、そのオフィスのパーソナルコンピュータ上で、例えば、ウェブサイトwww.allrovi.comの上で、チャネルをお気に入りとして設定した場合、同一のチャネルが、ユーザの家庭内デバイス(例えば、ユーザテレビ機器およびユーザコンピュータ機器)上で、および所望に応じて、ユーザのモバイルデバイス上でお気に入りとして表示されるであろう。したがって、同一タイプのユーザ機器デバイスであるかまたは異なるタイプのユーザ機器デバイスであるかにかかわらず、1つのユーザ機器デバイス上で行われる変更は、別のユーザ機器デバイス上のガイド体験を変更することができる。加えて、行われる変更は、ユーザによって入力される設定、およびガイドアプリケーションによって監視されるユーザアクティビティに基づいてもよい。
【0092】
ユーザ機器デバイスは、通信ネットワーク814に結合されてもよい。すなわち、ユーザテレビ機器802、ユーザコンピュータ機器804、および無線ユーザ通信デバイス806は、それぞれ、通信パス808、810、および812を介して、通信ネットワーク814に結合される。通信ネットワーク814は、インターネット、携帯電話ネットワーク、モバイルボイスまたはデータネットワーク(例えば、4GまたはLTEネットワーク)、ケーブルネットワーク、公衆交換電話ネットワーク、または他のタイプの通信ネットワーク、または通信ネットワークの組み合わせを含む、1つ以上のネットワークであってもよい。パス808、810、および812は、別個または一緒に、衛星パス、光ファイバパス、ケーブルパス、インターネット通信をサポートするパス(例えば、IPTV)、フリースペース接続(例えば、放送または他の無線信号用)、または任意の他の好適な有線または無線通信パス、またはそのようなパスの組み合わせ等の1つ以上の通信パスを含んでもよい。パス812は、
図8に示される例示的実施形態では、無線パスであることを示すように破線で描かれ、パス808および810は、有線パスであることを示すように実線として描かれている(しかし、これらのパスは、所望に応じて、無線パスであってもよい)。ユーザ機器デバイスとの通信は、これらの通信パスのうちの1つ以上のものによって提供されてもよいが、
図8では、図面が複雑になり過ぎることを回避するように、単一パスとして示されている。
【0093】
通信パスは、ユーザ機器デバイスの間には描かれていないが、これらのデバイスは、パス808、810、および812に関連して上記で説明されるもの、およびUSBケーブル、IEEE 1394ケーブル、無線パス(例えば、Bluetooth(登録商標)、赤外線、IEEE 802−11x等)等の他の短距離ポイントツーポイント通信パス、または有線または無線パスを介した他の短距離通信等の通信パスを介して、相互に直接通信してもよい。BLUETOOTH(登録商標)は、Bluetooth(登録商標) SIG, INC.によって所有される認証マークである。ユーザ機器デバイスはまた、通信ネットワーク814を介した間接パスを通して、相互に直接通信してもよい。
【0094】
システム800は、それぞれ、通信パス820および822を介して、通信ネットワーク814に結合される、コンテンツソース816およびメディアガイドデータソース818を含む。パス820および822は、パス808、810、および812に関連して上記で説明される通信パスのうちのいずれかを含んでもよい。コンテンツソース816およびメディアガイドデータソース818との通信は、1つ以上の通信パスを介して交信されてもよいが、
図8では、図面が複雑になり過ぎることを回避するように、単一パスとして示されている。加えて、コンテンツソース816およびメディアガイドデータソース818のそれぞれが1つを上回って存在し得るが、
図8では、図面が複雑になり過ぎることを回避するように、それぞれ1つだけが示されている。(異なるタイプのこれらのソースのそれぞれが下記で議論される)。所望に応じて、コンテンツソース816およびメディアガイドデータソース818は、1つのソースデバイスとして統合されてもよい。ソース816および818と、ユーザ機器デバイス802、804、および806との間の通信は、通信ネットワーク814を通したものとして示されるが、いくつかの実施形態では、ソース816および818は、パス808、810、および812に関連して上記で説明されるもの等の通信パス(図示せず)を介して、ユーザ機器デバイス802、804、および806と直接通信してもよい。
【0095】
コンテンツソース816は、テレビ配信施設、ケーブルシステムヘッドエンド、衛星配信施設、番組ソース(例えば、NBC、ABC、HBO等のテレビ放送会社)、中間配信施設および/またはサーバ、インターネットプロバイダ、オンデマンドメディアサーバ、および他のコンテンツプロバイダを含む、1つ以上のタイプのコンテンツ配信機器を含んでもよい。NBCは、National Broadcasting Company, Inc.によって所有される商標であり、ABCは、American Broadcasting Company, INC.によって所有される商標であり、HBOは、Home Box Office, Inc.によって所有される商標である。コンテンツソース816は、コンテンツの発信元であってもよい(例えば、テレビ放送会社、ウェブキャストプロバイダ等)、またはコンテンツの発信元でなくてもよい(例えば、オンデマンドコンテンツプロバイダ、ダウンロード用放送番組のコンテンツのインターネットプロバイダ等)。コンテンツソース816は、ケーブルソース、衛星プロバイダ、オンデマンドプロバイダ、インターネットプロバイダ、オーバーザトップコンテンツプロバイダ、または他のコンテンツのプロバイダを含んでもよい。コンテンツソース816はまた、ユーザ機器デバイスのうちのいずれかから遠隔の場所にある、異なるタイプのコンテンツ(ユーザによって選択されるビデオコンテンツを含む)を記憶するために使用される、遠隔メディアサーバを含んでもよい。コンテンツの遠隔記憶のため、および遠隔に記憶されたコンテンツをユーザ機器に提供するためのシステムおよび方法は、2010年7月20日発行のEllis et al.の米国特許第7,761,892号(その全体として参照することによって本明細書に組み込まれる)に関連して、より詳細に議論されている。
【0096】
メディアガイドデータソース818は、上記で説明されるメディアガイドデータ等のメディアガイドデータを提供してもよい。メディアガイドデータは、任意の好適なアプローチを使用して、ユーザ機器デバイスに提供されてもよい。いくつかの実施形態では、ガイドアプリケーションは、データフィード(例えば、継続フィードまたはトリクルフィード)を介して、番組ガイドデータを受信する、独立型双方向テレビ番組ガイドであってもよい。番組スケジュールデータおよび他のガイドデータは、テレビチャネルのサイドバンド上で、帯域内デジタル信号を使用して、帯域外デジタル信号を使用して、または任意の他の好適なデータ伝送技術によって、ユーザ機器に提供されてもよい。番組スケジュールデータおよび他のメディアガイドデータは、複数のアナログまたはデジタルテレビチャネル上でユーザ機器に提供されてもよい。
【0097】
いくつかの実施形態では、メディアガイドデータソース818からのガイドデータは、クライアントサーバアプローチを使用して、ユーザの機器に提供されてもよい。例えば、ユーザ機器デバイスは、メディアガイドデータをサーバからプルしてもよい、またはサーバは、メディアガイドデータをユーザ機器デバイスにプッシュしてもよい。いくつかの実施形態では、ユーザの機器上に常駐するガイドアプリケーションクライアントは、必要に応じて、例えば、ガイドデータが古くなっているとき、またはユーザ機器デバイスが、データを受信する要求をユーザから受信するとき、ソース818とセッションを開始し、ガイドデータを取得してもよい。メディアガイドは、任意の好適な頻度で(例えば、継続的に、毎日、ユーザ規定期間で、システム規定期間で、ユーザ機器からの要求に応答して等)ユーザ機器に提供されてもよい。メディアガイドデータソース818は、ユーザ機器デバイス802、804、および806に、メディアガイドアプリケーション自体、またはメディアガイドアプリケーションのソフトウェア更新を提供してもよい。
【0098】
いくつかの実施形態では、メディアガイドデータは、視聴者データを含んでもよい。例えば、視聴者データは、現在および/または履歴ユーザアクティビティ情報(例えば、ユーザが典型的に鑑賞するコンテンツ、ユーザがコンテンツを鑑賞する時刻、ユーザがソーシャルネットワークと相互作用するかどうか、ユーザがソーシャルネットワークと相互作用し、情報をポストする時間、ユーザが典型的に鑑賞するコンテンツのタイプ(例えば、有料TVまたは無料TV)、気分、脳の活動情報等)を含んでもよい。メディアガイドデータはまた、サブスクリプションデータを含んでもよい。例えば、サブスクリプションデータは、所与のユーザがサブスクライブするソースまたはサービスおよび/または所与のユーザが以前にサブスクライブしていたが、後にアクセスを打ち切ったソースまたはサービス(例えば、ユーザがプレミアムチャネルをサブスクライブしているかどうか、ユーザがプレミアムレベルのサービスを追加したかどうか、ユーザがインターネット速度を加速させたかどうか)を識別してもよい。いくつかの実施形態では、視聴者データおよび/またはサブスクリプションデータは、1年を上回る周期の間の所与のユーザのパターンを識別してもよい。メディアガイドデータは、所与のユーザがサービス/ソースへのアクセスを打ち切るであろう可能性を示すスコアを生成するために使用される、モデル(例えば、残存者モデル)を含んでもよい。例えば、メディアガイドアプリケーションは、所与のユーザが特定のサービスまたはソースへのアクセスを打ち切るであろうかどうかの可能性を示す、値またはスコアを生成するためのモデルを併用して、サブスクリプションデータとともに視聴者データを処理してもよい。特に、より高いスコアは、ユーザが特定のサービスまたはソースへのアクセスを打ち切るであろう、より高いレベルの信頼性を示し得る。スコアに基づいて、メディアガイドアプリケーションは、ユーザがアクセスを打ち切る可能性が高いであろうものとしてスコアによって示される特定のサービスまたはソースをユーザが維持するように勧誘する宣伝を生成してもよい。
【0099】
メディアガイドアプリケーションは、例えば、ユーザ機器デバイス上に実装される独立型アプリケーションであってもよい。例えば、メディアガイドアプリケーションは、記憶装置708内に記憶され、ユーザ機器デバイス700の制御回路704によって実行され得る、ソフトウェアまたは実行可能命令のセットとして実装されてもよい。いくつかの実施形態では、メディアガイドアプリケーションは、クライアント−サーバアプリケーションであってもよく、その場合、クライアントアプリケーションのみが、ユーザ機器デバイス上に常駐し、サーバアプリケーションは、遠隔サーバ上に常駐する。例えば、メディアガイドアプリケーションは、部分的にユーザ機器デバイス700の制御回路704上のクライアントアプリケーションとして、および遠隔サーバの制御回路上で起動するサーバアプリケーション(例えば、メディアガイドデータソース818)として部分的に遠隔サーバ上で、実装されてもよい。遠隔サーバの制御回路(メディアガイドデータソース818等)によって実行されると、メディアガイドアプリケーションは、制御回路に、ガイドアプリケーション表示を生成し、生成された表示をユーザ機器デバイスに伝送するように命令してもよい。サーバアプリケーションは、メディアガイドデータソース818の制御回路に、ユーザ機器上での記憶のためのデータを伝送するように命令してもよい。クライアントアプリケーションは、受信用ユーザ機器の制御回路に、ガイドアプリケーション表示を生成するように命令してもよい。
【0100】
ユーザ機器デバイス802、804、および806に配信されるコンテンツおよび/またはメディアガイドデータは、オーバーザトップ(OTT)コンテンツであってもよい。OTTコンテンツ配信は、上記で説明される任意のユーザ機器デバイスを含む、インターネット対応型ユーザデバイスが、ケーブルまたは衛星接続を経由して受信されるコンテンツに加えて、上記で説明される任意のコンテンツを含む、インターネットを経由して転送されるコンテンツを受信することを可能にする。OTTコンテンツは、インターネットサービスプロバイダ(ISP)によって提供されるインターネット接続を介して配布されるが、第三者も、コンテンツを配布する。ISPは、視聴能力、著作権、またはコンテンツの再配布に責任がない場合があり、OTTコンテンツプロバイダによって提供されるIPパケットのみを転送してもよい。OTTコンテンツプロバイダの実施例は、IPパケットを介してオーディオおよびビデオを提供する、YOUTUBE(登録商標)、NETFLIX、およびHULUを含む。Youtubeは、Google Inc.によって所有される商標であり、Netflixは、Netflix, Inc.によって所有される商標であり、Huluは、Hulu, LLC.によって所有される商標である。OTTコンテンツプロバイダは、加えて、または代替として、上記で説明されるメディアガイドデータを提供してもよい。コンテンツおよび/またはメディアガイドデータに加えて、OTTコンテンツのプロバイダは、メディアガイドアプリケーション(例えば、ウェブベースのアプリケーションまたはクラウドベースのアプリケーション)を配布することができる、またはコンテンツは、ユーザ機器デバイス上に記憶されたメディアガイドアプリケーションによって表示されることができる。
【0101】
メディアガイドシステム800は、いくつかのアプローチまたはネットワーク構成を例証することを意図しており、これによって、ユーザ機器デバイスおよびコンテンツおよびガイドデータのソースは、コンテンツにアクセスし、メディアガイドを提供する目的のために、相互に通信してもよい。本明細書に説明される実施形態は、これらのアプローチのうちのいずれか1つまたは一部において、またはコンテンツを配信し、メディアガイドを提供するための他のアプローチを採用するシステムにおいて、適用されてもよい。以下の4つのアプローチは、
図8の一般化された実施例の具体的例証を提供する。
【0102】
あるアプローチでは、ユーザ機器デバイスは、ホームネットワーク内で相互に通信してもよい。ユーザ機器デバイスは、上記で説明される短距離ポイントツーポイント通信方式を介して、ホームネットワーク上に提供されるハブまたは他の類似デバイスを通した間接パスを介して、または通信ネットワーク814を介して、相互に直接通信することができる。1つの家庭内の複数の個人のそれぞれが、ホームネットワーク上の異なるユーザ機器デバイスを動作させてもよい。結果として、種々のメディアガイド情報または設定が、異なるユーザ機器デバイスの間で通信されることが望ましくあり得る。例えば、2005年7月11日出願のEllis et al.の米国特許公開第2005/0251827号でより詳細に説明されるように、ホームネットワーク内の異なるユーザ機器デバイス上で、ユーザが一貫したメディアガイドアプリケーション設定を維持することが望ましくあり得る。ホームネットワーク内の異なるタイプのユーザ機器デバイスもまた、相互に通信し、コンテンツを伝送してもよい。例えば、ユーザは、ユーザコンピュータ機器から携帯用ビデオプレーヤまたは携帯用音楽プレーヤにコンテンツを伝送してもよい。
【0103】
第2のアプローチでは、ユーザは、複数のタイプのユーザ機器を有してもよく、これによって、コンテンツにアクセスし、メディアガイドを取得する。例えば、一部のユーザは、家庭内およびモバイルデバイスによってアクセスされる、ホームネットワークを有してもよい。ユーザは、遠隔デバイス上に実装されるメディアガイドアプリケーションを介して、家庭内デバイスを制御してもよい。例えば、ユーザは、そのオフィスのパーソナルコンピュータ、またはPDAまたはウェブ対応携帯電話等のモバイルデバイスを介して、ウェブサイト上のオンラインメディアガイドアプリケーションにアクセスしてもよい。ユーザは、オンラインガイドアプリケーション上で種々の設定(例えば、録画、リマインダ、または他の設定)を設定して、ユーザの家庭内機器を制御してもよい。オンラインガイドは、直接、またはユーザの家庭内機器上のメディアガイドアプリケーションと通信することによって、ユーザの機器を制御してもよい。ユーザ機器デバイスが相互から遠隔の場所にある、ユーザ機器デバイスの通信のための種々のシステムおよび方法は、例えば、Ellis et al.の2011年10月25日発行の米国特許第8,046,801号(その全体を参照することによって本明細書に組み込まれる)で議論されている。
【0104】
第3のアプローチでは、家庭内外のユーザ機器デバイスのユーザは、コンテンツソース816と直接通信し、コンテンツにアクセスするために、そのメディアガイドアプリケーションを使用することができる。具体的には、家庭内では、ユーザテレビ機器802およびユーザコンピュータ機器804のユーザは、メディアガイドアプリケーションにアクセスし、所望のコンテンツ間をナビゲートし、それを特定してもよい。ユーザはまた、無線ユーザ通信デバイス806を使用して、家庭外のメディアガイドアプリケーションにアクセスし、所望のコンテンツ間をナビゲートし、それを特定してもよい。
【0105】
第4のアプローチでは、ユーザ機器デバイスは、クラウドコンピューティング環境内で動作し、クラウドサービスにアクセスしてもよい。クラウドコンピューティング環境では、コンテンツ共有、記憶、または配布のための種々のタイプのコンピューティングサービス(例えば、ビデオ共有サイトまたはソーシャルネットワーキングサイト)が、「クラウド」と称される、ネットワークアクセス可能コンピューティングおよび記憶リソースの集合によって提供される。例えば、クラウドは、通信ネットワーク814を介したインターネット等のネットワークを介して接続される、種々のタイプのユーザおよびデバイスにクラウドベースのサービスを提供する、中央にまたは分散場所に位置し得る、サーバコンピューティングデバイスの集合を含むことができる。これらのクラウドリソースは、1つ以上のコンテンツソース816および1つ以上のメディアガイドデータソース818を含んでもよい。加えて、または代替として、遠隔コンピューティングサイトは、ユーザテレビ機器802、ユーザコンピュータ機器804、および無線ユーザ通信デバイス806等の他のユーザ機器デバイスを含んでもよい。例えば、他のユーザ機器デバイスは、ビデオの記憶されたコピーまたはストリーミングされたビデオへのアクセスを提供してもよい。そのような実施形態では、ユーザ機器デバイスは、中央サーバと通信することなく、ピアツーピア様式で動作してもよい。
【0106】
クラウドは、ユーザ機器デバイスのために、他の実施例の中でもとりわけ、コンテンツ記憶、コンテンツ共有、またはソーシャルネットワーキングサービス等のサービスへのアクセス、および上記で説明される任意のコンテンツへのアクセスを提供する。サービスは、クラウドコンピューティングサービスプロバイダを通して、またはオンラインサービスの他のプロバイダを通して、クラウド内で提供されることができる。例えば、クラウドベースのサービスは、コンテンツ記憶サービス、コンテンツ共有サイト、ソーシャルネットワーキングサイト、または他のサービスを含むことができ、それを介して、ユーザ供給コンテンツは、接続されたデバイス上で他者によって視聴するために配布される。これらのクラウドベースのサービスは、ユーザ機器デバイスが、コンテンツをローカルで記憶し、ローカルで記憶されたコンテンツにアクセスするのではなく、コンテンツをクラウドに記憶し、コンテンツをクラウドから受信することを可能にしてもよい。
【0107】
ユーザは、カムコーダ、ビデオモード付きデジタルカメラ、オーディオレコーダ、携帯電話、およびハンドヘルドコンピューティングデバイス等の種々のコンテンツ捕捉デバイスを使用して、コンテンツを録画してもよい。ユーザは、直接、例えば、ユーザコンピュータ機器804から、またはコンテンツ捕捉特徴を有する、無線ユーザ通信デバイス806からのいずれかにおいて、クラウド上のコンテンツ記憶サービスにコンテンツをアップロードすることができる。代替として、ユーザは、最初に、コンテンツをユーザコンピュータ機器804等のユーザ機器デバイスに転送することができる。コンテンツを記憶するユーザ機器デバイスは、通信ネットワーク814上のデータ伝送サービスを使用して、コンテンツをクラウドにアップロードする。いくつかの実施形態では、ユーザ機器デバイス自体が、クラウドリソースであり、他のユーザ機器デバイスは、直接、ユーザがコンテンツを記憶したユーザ機器デバイスから、コンテンツにアクセスすることができる。
【0108】
クラウドリソースは、例えば、ウェブブラウザ、メディアガイドアプリケーション、デスクトップアプリケーション、モバイルアプリケーション、および/またはそれらのアクセスアプリケーションの任意の組み合わせを使用して、ユーザ機器デバイスによってアクセスされてもよい。ユーザ機器デバイスは、アプリケーション配信のためにクラウドコンピューティングに依拠する、クラウドクライアントであってもよい、またはユーザ機器デバイスは、クラウドリソースにアクセスすることなく、ある機能性を有してもよい。例えば、ユーザ機器デバイス上で起動するいくつかのアプリケーションは、クラウドアプリケーション、すなわち、インターネットを経由して、サービスとして配信されるアプリケーションであってもよい一方で、他のアプリケーションは、ユーザ機器デバイス上に記憶され、起動されてもよい。いくつかの実施形態では、ユーザデバイスは、コンテンツを複数のクラウドリソースから同時に受信してもよい。例えば、ユーザデバイスは、オーディオを1つのクラウドリソースからストリーミングする一方で、コンテンツを第2のクラウドリソースからダウンロードすることができる。または、ユーザデバイスは、より効率的なダウンロードのために、コンテンツを複数のクラウドリソースからダウンロードすることができる。いくつかの実施形態では、ユーザ機器デバイスは、
図7に関連して説明される処理回路によって実施される処理動作等の処理動作のために、クラウドリソースを使用することができる。
【0109】
本明細書で参照されるように、用語「〜に応答して」は、「〜の結果として開始される」ことを指す。例えば、第2のアクションに応答して実施されている第1のアクションは、第1のアクションと第2のアクションとの間に介在ステップを含んでもよい。本明細書で参照されるように、用語「〜に直接応答して」は、「〜によって引き起こされる」ことを指す。例えば、第2のアクションに直接応答して実施されている第1のアクションは、第1のアクションと第2のアクションとの間に介在ステップを含まなくてもよい。
【0110】
図9は、本開示のいくつかの実施形態による、2要素認証を使用してブロックされたメディアアセットと関連付けられる動作を認可するための例証的ステップのフローチャートである。例えば、メディアガイドアプリケーション実装プロセス900は、制御回路704(
図7)によって実行されてもよい。プロセス900またはその任意のステップは、
図7−8に示されるデバイスまたは機器のうちのいずれかの上で実施される、またはそれによって提供され得ることに留意されたい。
【0111】
プロセス900は、メディアガイドアプリケーションが(例えば、制御回路704(
図7)を介して)、ユーザ機器上で視聴するためのメディアアセットにアクセスするための第1の要求を受信し、メディアアセットへのアクセスが、ブロックされる、902から始まる。例えば、メディアガイドアプリケーションは(例えば、制御回路704(
図7)を介して)、表示するためにメディアアセットを生成するユーザデバイスにローカルである(例えば、記憶装置708)か、またはサーバにおいて遠隔にある(例えば、通信ネットワーク814を介してアクセス可能なメディアガイドデータソース818)かのいずれかである、記憶装置の中に複数のメディアアセットを記憶してもよい。メディアガイドアプリケーションは、ユーザが表示するために選択し得る、メディアアセットの一覧を(例えば、ディスプレイ712上のユーザインターフェース内で)生成してもよい。メディアガイドアプリケーションは(例えば、制御回路704(
図7)を介して)、各記憶されたメディアアセットと関連付けられるメタデータに基づいて、各メディアアセットが所与のユーザのためにブロックされるべきであるかどうかを示す、フラグを設定してもよい。具体的実施例として、メディアガイドアプリケーションは(例えば、制御回路704(
図7)を介して)、メディアアセットと関連付けられるメタデータに基づいて、それが所定のブロック基準(例えば、特定のユーザがTV−PGを上回る評価を伴う番組を鑑賞することができない)を満たすことを示す、フラグを設定してもよい。
【0112】
プロセス900は、メディアガイドアプリケーションが(例えば、制御回路704(
図7)を介して)、第1の認可コードの第1の入力を受信する、904に続く。第1の認可コードは、記憶された英数字列に合致され得る、英数字の任意の組み合わせであってもよい。メディアガイドアプリケーションは(例えば、制御回路704(
図7)を介して)、タッチスクリーンまたはリモートコントロール等のユーザ入力インターフェース(例えば、ユーザ入力インターフェース710)を使用して、ユーザ入力を介して第1の識別子を受信してもよい。例えば、メディアガイドアプリケーションは(例えば、制御回路704(
図7)を介して)、リモートコントロールを介して、ユーザ入力「1578」を受信してもよい。
【0113】
プロセス900は、メディアガイドアプリケーションが(例えば、制御回路704(
図7)を介して)、受信された第1の認可コードが、メディアアセットを視聴するためのアクセスを許可する、(例えば、記憶装置708の中にローカルで、またはサーバ(例えば、通信ネットワーク814を介してアクセス可能なメディアガイドデータソース818)において遠隔で記憶される)記憶された第1の識別子に合致するかどうかを決定する、906に続く。例えば、メディアガイドアプリケーションは(例えば、制御回路704(
図7)を介して)、受信された入力「1578」が、第1の識別子に関してメモリの中に記憶された値に合致するかどうかを決定する。具体的実施例として、メディアガイドアプリケーションは、許可(すなわち、各コードがメディアアセットにアクセスし得るかどうか)と関連付けられる複数の識別子を含む、(例えば、記憶装置708の中にローカルで、またはサーバ(例えば、通信ネットワーク814を介してアクセス可能なメディアガイドデータソース818)において遠隔で記憶される)ペアレンタルコントロールデータベースにアクセスしてもよい。メディアガイドアプリケーションは(例えば、制御回路704(
図7)を介して)、(例えば、第1の認可コードの文字を記憶された識別子のそれぞれの文字と比較することによって)受信された第1の認可コードを記憶された識別子と比較し、合致を決定してもよい。合致を決定した後、メディアガイドアプリケーションは(例えば、制御回路704(
図7)を介して)、合致した識別子に対応するデータベース内のフィールドからデータを読み出し、データが、ユーザがメディアアセットへのアクセスを有することを示すかどうかを決定する。
【0114】
メディアガイドアプリケーションが、受信された第1の認可コードが、メディアアセットを視聴するためのアクセスを許可する、記憶された第1の識別子に合致しないことを決定する場合、プロセス900は、メディアガイドアプリケーションが(例えば、制御回路704(
図7)を介して)、メディアアセットへのアクセスを防止し続ける、908に続く。例えば、メディアガイドアプリケーションは(例えば、制御回路704(
図7)を介して)、受信された第1の認可コードがペアレンタルコントロールデータベースの中に記憶されたいかなる識別子にも合致しないこと、または第1の認可コードによって定義される特定のユーザが(例えば、
図2に関して上記で説明されるようなブロック基準を介して)メディアアセットにアクセスする許可を有していないことを決定してもよい。
【0115】
メディアガイドアプリケーションが、受信された第1の認可コードが、メディアアセットを視聴するためのアクセスを許可する、記憶された第1の識別子に合致することを決定する場合、プロセス900は、メディアガイドアプリケーションが(例えば、制御回路704(
図7)を介して)、表示するためにメディアアセットを生成する、910に続く。例えば、メディアガイドアプリケーションは、ユーザ機器(例えば、
図7−8で上記に説明されるユーザ機器のうちのいずれか)に接続されるディスプレイ上で(例えば、ディスプレイ712上で)表示するためにメディアアセットを生成してもよい。代替として、または加えて、メディアガイドアプリケーションは(例えば、制御回路704(
図7)を介して)、第1の認可コードによって識別されるユーザが、メディアアセットを記憶するユーザ機器に結合されていないデバイス上で(例えば、携帯電話等のモバイルデバイスにストリーミングされる)メディアアセットを視聴し得るかどうかのインジケーションに関して、ペアレンタルコントロールデータベースにクエリを行ってもよい。
【0116】
プロセス900は、メディアガイドアプリケーションが(例えば、制御回路704(
図7)を介して)、メディアアセットと関連付けられる動作を実行するための第2の要求を受信する、912に続く。動作は、実行されると、メディアアセットのための記憶された視聴覚データまたはメディアアセットに関する任意の記憶されたメタデータを改変またはコピーする、任意のコマンドまたは命令であってもよい。例えば、メディアガイドアプリケーションは(例えば、制御回路704(
図7)を介して)、メディアアセットを削除するようにユーザ入力インターフェース(例えば、タッチスクリーン)を介して要求を受信してもよい。別の実施例として、メディアガイドアプリケーションは(例えば、制御回路704(
図7)を介して)、メディアアセットを別のデバイスにコピーするようにユーザ入力インターフェースを介して要求を受信してもよい。さらに別の実施例として、メディアガイドアプリケーションは(例えば、制御回路704(
図7)を介して)、第1の認可コードと関連付けられるユーザプロファイル(例えば、視聴進捗またはユーザがメディアアセットを気に入らないというインジケーションを伴う)を更新するための要求を受信してもよい。
【0117】
プロセス900は、メディアガイドアプリケーションが(例えば、制御回路704(
図7)を介して)、メディアアセットと関連付けられる許容動作に関する情報に関して、ペアレンタルコントロールデータベースにクエリを行う、914に続く。例えば、メディアガイドアプリケーションは、第1の認可コードに合致する識別子のためのペアレンタルコントロールデータベースのフィールドの中に、ユーザが動作を実施することを許可されるメディアアセットを列挙するアレイへのポインタを(例えば、制御回路704(
図7)を介して)記憶してもよい。ペアレンタルコントロールデータベースは、特定の動作が第2の認可コードを伴わずに実施され得る(例えば、削除、修正等)、メディアアセットを示すアレイへのポインタをそれぞれ伴って、複数のフィールドを含んでもよい。代替として、または加えて、メディアガイドアプリケーションは(例えば、制御回路704(
図7)を介して)、メディアアセットとともに記憶されたメタデータを伴って、第2の認可コードを要求する動作(例えば、それらは第1の認可コードのみでは許容されない)のインジケーションを記憶してもよい。例えば、メディアガイドアプリケーションは(例えば、制御回路704(
図7)を介して)、メディアアセットのための記憶された視聴覚データの中に実行時間、評価、最初の放送日、および他のメタデータをヘッダとして記憶してもよく、加えて、第2の認可コードを要求する動作のインジケーションを含んでもよい。
【0118】
プロセス900は、メディアガイドアプリケーションが(例えば、制御回路704(
図7)を介して)、情報から、第2の認可コードがメディアアセットと関連付けられる動作を実行するために要求されるかどうかを決定し、第2の認可コードが、ユーザ機器から遠隔にあるトークン機構によって時間の関数として周期的に生成される、916に続く。例えば、記憶されたメディアアセットに関して上記で説明されるように、ペアレンタルコントロールデータベースから情報を読み出すステップに基づいて、メディアガイドアプリケーションは(例えば、制御回路704(
図7)を介して)、第2の要素が機能を実行するために必要とされるかどうかを決定する。第2の認可コードは、トークン機構(例えば、独立型トークンまたは携帯電話等のデバイス上で実行されるアプリケーション)によって生成されてもよく、これは、次いで、(例えば、ユーザ入力インターフェースを介して)メディアガイドアプリケーションに入力され得る。トークンは、公開キー認証に類似して、クロック時間の数学関数に基づいて認可コードを生成してもよい。いくつかの実施形態では、非対称(秘密・公開キー)認証等の他の2要素方法が、第2の認証コードに使用されてもよい。
【0119】
メディアガイドアプリケーションが、第2の認可コードが動作を実行するために要求されないことを決定する場合、プロセス900は、メディアガイドアプリケーションが(例えば、制御回路704(
図7)を介して)、メディアアセットに関連する動作を実行する、924に続く。例えば、ペアレンタルコントロールデータベースにクエリを行い、メディアアセットの識別子が、(例えば、第1の認可コードによって識別される)特定のユーザがこれらのメディアアセットに関する動作を実施し得ることを示すアレイの中に記憶されていることを決定するステップに基づいて、メディアガイドアプリケーションは(例えば、制御回路704(
図7)を介して)、さらなる入力を伴わずに(例えば、いかなる第2の要素も要求されない)動作を実行してもよい。具体的実施例として、メディアガイドアプリケーションは(例えば、制御回路704(
図7)を介して)、特定のメディアアセットが記憶されるメモリのブロックを消去する(例えば、メディアアセットを削除する)ためのプログラムスクリプト、または
図1−4に関して上記で説明される動作のうちのいずれかを実行してもよい。
【0120】
メディアガイドアプリケーションが、第2の認可コードが動作を実行するために要求されることを決定する場合、プロセス900は、メディアガイドアプリケーションが(例えば、制御回路704(
図7)を介して)、第2の認可コードの第2の入力を受信する、918に続く。例えば、メディアガイドアプリケーションは(例えば、制御回路704(
図7)を介して)、ユーザ入力インターフェース(例えば、ユーザ入力インターフェース710)を介して、「45678」等の第2の認可コードを受信してもよい。メディアガイドアプリケーションは(例えば、制御回路704(
図7)を介して)、入力が受信されたときのクロック時間に基づいて、入力が05:31:16(月:日:年)の10:23:30(時間:分:秒)に受信されたことを決定してもよい。代替として、または加えて、メディアガイドアプリケーションは(例えば、制御回路704(
図7)を介して)、コードが生成されたデバイスのクロック時間に基づいて、入力された第2の認可コードとともにクロック時間を受信してもよい。
【0121】
プロセス900は、メディアガイドアプリケーションが(例えば、制御回路704(
図7)を介して)、第1の時間に生成される第2の認可コードを認可データベースに伝送する、920に続く。例えば、メディアガイドアプリケーションは(例えば、制御回路704(
図7)を介して)、第2の認可コードを(例えば、記憶装置708の中にローカルで、またはサーバ(例えば、通信ネットワーク814を介してアクセス可能なメディアガイドデータソース818)において遠隔で記憶される)データベースに伝送してもよい。いくつかの実施形態では、メディアガイドアプリケーションは(例えば、制御回路704(
図7)を介して)、第2の認可コードを前処理してもよい。例えば、メディアガイドアプリケーションは(例えば、制御回路704(
図7)を介して)、上記で説明されるように、第2の認可コードおよびそれが生成された時間を含む、データパケットを生成してもよい。別の実施例では、メディアガイドアプリケーションは(例えば、制御回路704(
図7)を介して)、新しい認可コードがトークン機構によって生成される頻度に応じて、時間を伝送前の最も近い秒または分に連結してもよい。
【0122】
プロセス900は、メディアガイドアプリケーションが(例えば、制御回路704(
図7)を介して)、第1の時間に生成される第2の識別子に合致する伝送された第2の認可コードに基づいて、メディアアセットと関連付けられる動作を実行する認可を許可する、インジケーションを受信する、922に続く。例えば、メディアガイドアプリケーションは(例えば、制御回路704(
図7)を介して)、伝送された認可コードが第2の識別子に対応する場合は「真」、または対応しない場合は「偽」に設定されるブール値とともに、認可パッケージからデータパケットを受信してもよい。第2の識別子は、特定の時間における出力(例えば、第2の識別子)を受信された第2の認可コードと比較し得る、同一の時間の数学関数を伴う第2のトークン機構であってもよい。トークンは、加えて、第1の認可コードによって識別されてもよく、これは、認可データベースが、受信された第2の認可コードが正しいかどうかをより効率的に決定することを可能にするであろう。例えば、メディアガイドアプリケーションは(例えば、制御回路704(
図7)を介して)、第1の認可コード「1234」によって識別されるユーザが第2の認可コード「45678」を入力したことを認可データベースに伝送してもよい。認可データベースに記憶された全てのトークン機構を検索する代わりに、認可データベースは、ユーザ「1234」に対応するトークンを検索し、「45678」が特定の時間にそのトークンによって生成されたかどうかを決定する必要のみある。
【0123】
インジケーションを受信した後、プロセス900は、メディアガイドアプリケーションが(例えば、制御回路704(
図7)を介して)、上記で説明されるように、メディアアセットに関連する動作を実行する、924に続く。具体的実施例として、メディアガイドアプリケーションは(例えば、制御回路704(
図7)を介して)、特定のメディアアセットが記憶されるメモリのブロックを消去する(例えば、メディアアセットを削除する)ためのプログラムスクリプト、または
図1−4に関して上記で説明される動作のうちのいずれかを実行してもよい。
【0124】
図9のステップまたは説明は、本開示の任意の他の実施形態と併用され得ることが考慮される。加えて、
図9に関連して説明されるステップおよび説明は、本開示の目的を促すために、代替順序で、または並行して、行われてもよい。例えば、これらのステップはそれぞれ、システムまたは方法の遅延を低減させる、または速度を増加させるように、任意の順序で、または並行して、または実質的に同時に実施されてもよい。さらに、
図7−8に関連して議論されるデバイスまたは機器のうちのいずれかは、
図9のプロセスのうちの1つ以上のものを実装するために使用され得ることに留意されたい。
【0125】
図10は、本開示のいくつかの実施形態による、受信された認可コードがメディアアセットへのアクセスを許可するかどうかを決定するための例証的ステップのフローチャートである。例えば、メディアガイドアプリケーション実装プロセス1000は、制御回路704(
図7)によって実行されてもよい。プロセス1000またはその任意のステップは、
図7−8に示されるデバイスまたは機器のうちのいずれかの上で実施される、またはそれによって提供され得ることに留意されたい。プロセス1000は、メディアガイドアプリケーションが、受信された認可コードに基づいて、ブロックされたメディアアセットへのアクセスを許可するかどうかを決定するためのプロセスを開始する、1002から始まる。例えば、メディアガイドアプリケーションは(例えば、制御回路704(
図7)を介して)、プログラムスクリプト初期化プロセス1000を実行してもよい。
【0126】
プロセス1000は、メディアガイドアプリケーションが(例えば、制御回路704(
図7)を介して)、ペアレンタルコントロールデータベースにアクセスする、1004に続く。例えば、メディアガイドアプリケーションは、記憶装置708の中にローカルで、またはサーバ(例えば、通信ネットワーク814を介してアクセス可能なメディアガイドデータソース818)において遠隔で、ペアレンタルコントロールデータベースにアクセスしてもよい。ペアレンタルコントロールデータベースは、(例えば、
図1および9に関して上記で議論されるように、第1の認可コードによって定義される)各ユーザ、ブロック基準、許容機能、およびある機能が2要素認証を要求するかどうかについての情報が、全て非連続的に単一のテーブルの中に含まれ、ポインタを介してテーブル内の適切なフィールドにリンクされ得る、自己参照様式で設計されてもよい。
【0127】
プロセス1000は、メディアガイドアプリケーションが(例えば、制御回路704(
図7)を介して)、受信された認可コードの文字をペアレンタルコントロールデータベースのエントリの中に記憶された複数の認可コードの文字と比較するステップに基づいて、受信された認可コードが第1の記憶された認可コードに合致するかどうかを決定する、1006に続く。例えば、メディアガイドアプリケーションは(例えば、制御回路704(
図7)を介して)、ペアレンタルコントロールデータベースの中に記憶された複数の認可コードを通して反復するためにforループを利用して、プログラムスクリプトを実行してもよい。認可コード毎に、メディアガイドアプリケーションは(例えば、制御回路704(
図7)を介して)、フィールドから認可コードの値を読み出し、読み出された認可コードを受信された認可コードと比較してもよい。具体的実施例として、メディアガイドアプリケーションは(例えば、制御回路704(
図7)を介して)、データベース内のエントリからコード「14578」を読み出し、文字列の中の文字をインデックス化および比較することによって、各文字を受信されたコード「12345」と比較してもよい。本特定の実施例では、両方の第1のインデックス付き文字が「1」であるため、第1のインデックスは合致するが、「4」が「2」と同一の文字ではないため、第2のインデックスにおいて失敗する。本実施例に関して、メディアガイドアプリケーションは(例えば、制御回路704(
図7)を介して)、認可コード「14578」を含む特定のエントリが受信されたコードに合致しないことを決定し、続けて、次の記憶された認可コードをチェックするであろう。いくつかの実施形態では、いったん複数の認可コードのうちの全ての認可コードがチェックされると、メディアガイドアプリケーションによって実行されるプログラムスクリプトは、終了し、メディアガイドアプリケーションは(例えば、制御回路704(
図7)を介して)、合致が見出されたかどうかを決定する。いくつかの実施形態では、メディアガイドアプリケーションによって実行されるプログラムスクリプトは、合致を決定することに応じて終了する。
【0128】
メディアガイドアプリケーションが1006において合致を決定しない場合、プロセス1000は、メディアガイドアプリケーションが(例えば、制御回路704(
図7)を介して)、ブロックされたメディアアセットへのアクセスを許可しない、1014に続く。例えば、メディアガイドアプリケーションが(例えば、制御回路704(
図7)を介して)、いかなる記憶された認可コードも受信された認可コードに合致しないことを決定する場合、メディアガイドアプリケーションは、アクセスがブロックされたメディアアセットに許可されるべきではないことを決定してもよい。
【0129】
メディアガイドアプリケーションが1006において合致を決定する場合、プロセス1000は、メディアガイドアプリケーションが(例えば、制御回路704(
図7)を介して)、第1の記憶された認可コードと関連付けられるフィールドから値を読み出す、1008に続く。例えば、
図2に関して上記で説明されるように、ペアレンタルコントロールデータベースは、「TV−PG」等の特定の認可コードと関連付けられるブロック基準を含んでもよい。メディアガイドアプリケーションは(例えば、制御回路704(
図7)を介して)、アクセスが許可されるべきであるかどうかを決定するために使用され得る、合致した認可コードのためのエントリから、ブロック基準または任意の他の値を読み出してもよい。
【0130】
プロセス1000は、メディアガイドアプリケーションが(例えば、制御回路704(
図7)を介して)、値がブロックされたメディアアセットへのアクセスを許可することに対応するかどうかを決定する、1010に続く。例えば、メディアガイドアプリケーションは(例えば、制御回路704(
図7)を介して)、
図2に関して上記で説明されるように、ペアレンタルコントロールデータベースからの読み出された値を要求されたメディアアセットと関連付けられるメタデータと比較してもよい。例えば、メディアガイドアプリケーションは(例えば、制御回路704(
図7)を介して)、メディアアセットと関連付けられる記憶されたメタデータのフィールドから、メディアアセットの評価を読み出してもよい。メディアガイドアプリケーションは(例えば、制御回路704(
図7)を介して)、次いで、評価を合致した認可コードと関連付けられる評価に関するブロック基準と比較してもよい。例えば、ペアレンタルコントロールデータベースの中に記憶された評価は、「TV−PG」であってもよく、メディアアセットと関連付けられるメタデータは、それが「TV−MA」であることを示してもよい。メディアガイドアプリケーションは(例えば、制御回路704(
図7)を介して)、「TV−MA」が「TV−PG」を超える(すなわち、より高い評価である)ため、値がメディアアセットへのアクセスを許可することに対応しないことを決定してもよい。いくつかの実施形態では、評価は、メディアガイドアプリケーションによるより容易な比較のために整数値を割り当てられてもよい。例えば、TV−PGは、「1」を割り当てられてもよく、TV−MAは、「5」を割り当てられてもよい。
【0131】
メディアガイドアプリケーションが、1010において値がブロックされたメディアアセットへのアクセスを許可することに対応しないことを決定する場合、プロセス1000は、メディアガイドアプリケーションが(例えば、制御回路704(
図7)を介して)、上記で説明されるように、ブロックされたメディアアセットへのアクセスを許可しない、1014に続く。メディアガイドアプリケーションが、1010において値がブロックされたメディアアセットへのアクセスを許可することに対応することを決定する場合、プロセス1000は、メディアガイドアプリケーションが(例えば、制御回路704(
図7)を介して)、ブロックされたメディアアセットへのアクセスを許可する、1016に続く。例えば、ブロック基準よりも低いメディアアセットの評価に基づいて、メディアガイドアプリケーションは、メディアアセットへのアクセスを許可してもよい(例えば、メディアアセットが表示するために生成されることを可能にする)。
【0132】
図10のステップまたは説明は、本開示の任意の他の実施形態と併用され得ることが考慮される。加えて、
図10に関連して説明されるステップおよび説明は、本開示の目的を促すために、代替順序で、または並行して、行われてもよい。例えば、これらのステップはそれぞれ、システムまたは方法の遅延を低減させる、または速度を増加させるように、任意の順序で、または並行して、または実質的に同時に実施されてもよい。さらに、
図7−8に関連して議論されるデバイスまたは機器のうちのいずれかは、
図10のプロセスのうちの1つ以上のものを実装するために使用され得ることに留意されたい。
【0133】
図11は、本開示のいくつかの実施形態による、要求された動作が第2の認可コードを要求するかどうかを決定するための例証的ステップのフローチャートである。例えば、メディアガイドアプリケーション実装プロセス1100は、制御回路704(
図7)によって実行されてもよい。プロセス1100またはその任意のステップは、
図7−8に示されるデバイスまたは機器のうちのいずれかの上で実施される、またはそれによって提供され得ることに留意されたい。プロセス1100は、メディアガイドアプリケーションが、第2の認可コードが記憶されたメディアアセットと関連付けられる動作を実行するために要求されるかどうかを決定するためのプロセスを開始する、1102から始まる。例えば、メディアガイドアプリケーションは(例えば、制御回路704(
図7)を介して)、プログラムスクリプト初期化プロセス1100を実行してもよい。
【0134】
プロセス1100は、メディアガイドアプリケーションが(例えば、制御回路704(
図7)を介して)、記憶されたメディアアセットと関連付けられる許可を読み出す、1104に続く。例えば、
図2に関して上記で説明されるように、ディアガイドアプリケーションは(例えば、制御回路704(
図7)を介して)、記憶されたメディアアセットと関連付けられるメタデータとともに、第2の要素が特定の動作を実施するために要求されるかどうかのインジケーションを記憶してもよい。例えば、メディアガイドアプリケーションは、第2の要素が特定の動作を実施するために要求される場合に「真」に設定されるブール値を記憶してもよい。メディアガイドアプリケーションは(例えば、制御回路704(
図7)を介して)、記憶されたメタデータのフィールドから本値を読み出してもよい。いくつかの実施形態では、許可は、(例えば、記憶されたメディアアセットのための視聴覚データを含むファイルのヘッダの中の)記憶されたメディアアセットと関連付けられるメタデータを伴う代わりに、またはそれに加えて、全ての記憶されたメディアアセットおよび許可を列挙する、記憶装置708の中にローカルで、またはサーバ(例えば、通信ネットワーク814を介してアクセス可能なメディアガイドデータソース818)において遠隔で記憶され得る、別個のデータベースの中に記憶されてもよい。
【0135】
プロセス1100は、メディアガイドアプリケーションが(例えば、制御回路704(
図7)を介して)、読み出された許可から、記憶されたメディアアセットと関連付けられる動作が第2の要素を用いた認証を要求するかどうかを決定する、1106に続く。例えば、メディアガイドアプリケーションは(例えば、制御回路704(
図7)を介して)、第2の認可要素が要求された動作を実施するために要求されるかどうかを示す、特定の要求された動作(例えば、削除)のブール値を読み出してもよい。いくつかの実施形態では、読み出された許可は、別の認可要素が要求されるかどうかを決定するように、メディアガイドアプリケーションによって解析および分析され得る、文字列または他のデータタイプであってもよい。例えば、メディアガイドアプリケーションは(例えば、制御回路704(
図7)を介して)、別のユーザからの通信に基づいて記憶され得る、文字列「Joeは第2の要素がないとメディアアセットを削除するべきではない」を読み出してもよい。文字列を分析するステップに基づいて、メディアガイドアプリケーションは(例えば、制御回路704(
図7)を介して)、Joeに対応する認可コード(例えば、「1234」)がメディアアセットを削除するために別の認可要素を要求することを決定してもよい。
【0136】
メディアガイドアプリケーションが、ステップ1106において動作が第2の要素を用いた認証を要求しないことを決定する場合、プロセス1100は、メディアガイドアプリケーションが(例えば、制御回路704(
図7)を介して)、メディアアセットと関連付けられる動作を実施する、1116に続く。例えば、
図12に関して下記で詳細に説明されるように、メディアガイドアプリケーションは(例えば、制御回路704(
図7)を介して)、(例えば、メディアアセットを削除するために)要求された動作を実行してもよい。
【0137】
メディアガイドアプリケーションが、ステップ1106において動作が第2の要素を用いた認証を要求することを決定する場合、プロセス1100は、メディアガイドアプリケーションが(例えば、制御回路704(
図7)を介して)、ペアレンタルコントロールデータベースにアクセスする、1108に続く。例えば、上記の
図10に説明されるように、メディアガイドアプリケーションは(例えば、制御回路704(
図7)を介して)、記憶装置708の中にローカルで、またはサーバ(例えば、通信ネットワーク814を介してアクセス可能なメディアガイドデータソース818)において遠隔で、ペアレンタルコントロールデータベースにアクセスしてもよい。
【0138】
プロセス1100は、メディアガイドアプリケーションが(例えば、制御回路704(
図7)を介して)、ペアレンタルコントロールデータベース内の第1の認可コードのためのエントリから、第2の認可コードのソースが記憶されているかどうかを決定する、1110に続く。例えば、
図2に関して説明されるように、ペアレンタルコントロールデータベースは、第2の要素のソースのインジケーションを含むフィールドを含んでもよい。ソースは、第1の要素を補完するトークン機構、バイオメトリック署名、または他の第2の要素であってもよい(例えば、第1の要素は、知識要素であり、第2の要素は、所有要素である)。メディアガイドアプリケーションは(例えば、制御回路704(
図7)を介して)、ペアレンタルコントロールデータベースから「トークン」等の文字列を読み出し、プログラムスクリプトを実行して、読み出された文字列に基づいて適切な第2の認可要素を読み出してもよい。
【0139】
メディアガイドアプリケーションが、1110において第2の認可コードのソースが記憶されていないことを決定する場合、プロセス1100は、メディアガイドアプリケーションが(例えば、制御回路704(
図7)を介して)、メディアアセットと関連付けられる動作を実施しない、1114に続く。例えば、メディアガイドアプリケーションは(例えば、制御回路704(
図7)を介して)、第2の認可コードのソースのインジケーションがペアレンタルコントロールデータベースの中に記憶されていないため、ユーザは、認証されることができないためメディアアセットと関連付けられる動作を実施する資格がないことを決定してもよい。
【0140】
メディアガイドアプリケーションが、1110において第2の認可コードのソースが記憶されていることを決定する場合、プロセス1100は、メディアガイドアプリケーションが(例えば、制御回路704(
図7)を介して)、受信された認可コードが正しいかどうかを決定する、1112に続く。いくつかの実施形態では、メディアガイドアプリケーションは(例えば、制御回路704(
図7)を介して)、(例えば、通信ネットワーク814(
図8)を介して)受信された第2の認可コードを遠隔データベースに伝送し、第2の認可コードが正しいというインジケーション(例えば、遠隔データベースから受信されるデータパケットから抽出される、真に設定されたブール値)を受信してもよい。他の実施形態では、メディアガイドアプリケーションは(例えば、制御回路704(
図7)を介して)、
図10および11に関して上記で概説されるように、受信されたコードをデータベースの中に記憶された複数のコードと比較することによって、受信された第2の認可コードが正しいことを決定してもよい。
【0141】
メディアガイドアプリケーションが、1112において受信された第2の認可コードが正しいことを決定する場合、プロセス1100は、メディアガイドアプリケーションがメディアアセットと関連付けられる動作を実施する、1116に続く。例えば、
図12に関して下記で詳細に説明されるように、メディアガイドアプリケーションは(例えば、制御回路704(
図7)を介して)、(例えば、メディアアセットを削除するために)要求された動作を実行してもよい。メディアガイドアプリケーションが、1112において受信された第2の認可コードが正しくないことを決定する場合、プロセス1100は、メディアガイドアプリケーションが(例えば、制御回路704(
図7)を介して)、メディアアセットと関連付けられる動作を実施しない、1114に続く。例えば、メディアガイドアプリケーションは(例えば、制御回路704(
図7)を介して)、誤った第2の認可コードが受信されたため、動作が実行されるべきではないことを決定してもよい。
【0142】
図11のステップまたは説明は、本開示の任意の他の実施形態と併用され得ることが考慮される。加えて、
図11に関連して説明されるステップおよび説明は、本開示の目的を促すために、代替順序で、または並行して、行われてもよい。例えば、これらのステップはそれぞれ、システムまたは方法の遅延を低減させる、または速度を増加させるように、任意の順序で、または並行して、または実質的に同時に実施されてもよい。さらに、
図7−8に関連して議論されるデバイスまたは機器のうちのいずれかは、
図11のプロセスのうちの1つ以上のものを実装するために使用され得ることに留意されたい。
【0143】
図12は、本開示のいくつかの実施形態による、メディアアセットに関する動作を実施するための例証的ステップのフローチャートである。例えば、メディアガイドアプリケーション実装プロセス1200は、制御回路704(
図7)によって実行されてもよい。プロセス1200またはその任意のステップは、
図7−8に示されるデバイスまたは機器のうちのいずれかの上で実施される、またはそれによって提供され得ることに留意されたい。プロセス1200は、メディアガイドアプリケーションが、メディアアセットに関連する動作を実行するためのプロセスを開始する、1202から始まる。例えば、メディアガイドアプリケーションは(例えば、制御回路704(
図7)を介して)、プログラムスクリプト初期化プロセス1200を実行してもよい。
【0144】
プロセス1200は、メディアガイドアプリケーションが(例えば、制御回路704(
図7)を介して)、メモリからメディアアセットに関連する動作を実行するための命令をフェッチする、1204に続く。例えば、命令は、オブジェクト指向プログラミング言語(例えば、C++)におけるスクリプト等の実行可能スクリプトであり得る。メディアガイドアプリケーションは(例えば、制御回路704(
図7)を介して)、メディアアセットに関連する動作(例えば、
図1−9に関して上記で説明される動作のうちのいずれか)を含むデータベースからスクリプトをフェッチしてもよい。
【0145】
プロセス1200は、メディアガイドアプリケーションが(例えば、制御回路704(
図7)を介して)、命令をデコードする、1206に続く。例えば、命令がC++等の言語におけるオブジェクト指向スクリプトにある場合、制御回路1204は(例えば、制御回路704(
図7)を介して)、コードが実行され得るようにコードをコンパイルしてもよい。
【0146】
プロセス1200は、メディアガイドアプリケーションが(例えば、制御回路704(
図7)を介して)、命令を実行する、1208に続く。例えば、メディアガイドアプリケーションは(例えば、制御回路704(
図7)を介して)、デコードされた命令に基づいて動作を実施してもよい。例えば、デコードされた命令は(例えば、制御回路704(
図7)を介して)、メディアアセットを記憶するメモリのブロックのコンテンツを消去するようにメディアガイドアプリケーションに命令してもよい。
【0147】
プロセス1200は、メディアガイドアプリケーションが(例えば、制御回路704(
図7)を介して)、動作が完了したかどうかを決定する、1210に続いてもよい。例えば、実行された命令は、メモリの1つの具体的ブロックのコンテンツを消去するものであってもよく、その場合、メモリのブロックが消去された後、新しい命令がメモリの別のブロックを消去するように(例えば、メディアアセットを削除するときにメディアアセットを記憶するメモリの全てのブロックを消去するために)フェッチされる必要があり得る。メディアガイドアプリケーションが(例えば、制御回路704(
図7)を介して)、動作が完了していないことを決定する場合、プロセス1200は、1204に戻ってもよい。例えば、動作がスクリプトを通して複数のループを要求する場合、メディアガイドアプリケーションは、動作が完了していないことを決定してもよく、ステップ1204に戻る。メディアガイドアプリケーションが(例えば、制御回路704(
図7)を介して)、動作が完了したことを決定する場合には、プロセス1200は、メディアガイドアプリケーションが動作を終了する、1212に続く。
【0148】
図12のステップまたは説明は、本開示の任意の他の実施形態と併用され得ることが考慮される。加えて、
図12に関連して説明されるステップおよび説明は、本開示の目的を促すために、代替順序で、または並行して、行われてもよい。例えば、これらのステップはそれぞれ、システムまたは方法の遅延を低減させる、または速度を増加させるように、任意の順序で、または並行して、または実質的に同時に実施されてもよい。さらに、
図7−8に関連して議論されるデバイスまたは機器のうちのいずれかは、
図12のプロセスのうちの1つ以上のものを実装するために使用され得ることに留意されたい。
【0149】
図13は、本開示のいくつかの実施形態による、2要素認証を使用してブロックされたメディアアセットと関連付けられる動作を認可するための例証的ステップの別のフローチャートである。例えば、メディアガイドアプリケーション実装プロセス1300は、制御回路704(
図7)によって実行されてもよい。プロセス1300またはその任意のステップは、
図7−8に示されるデバイスまたは機器のうちのいずれかの上で実施される、またはそれによって提供され得ることに留意されたい。
【0150】
プロセス1300は、メディアガイドアプリケーションが(例えば、制御回路704(
図7)を介して)、ユーザ機器上で視聴するためのメディアアセットにアクセスするための第1の要求を受信し、メディアアセットへのアクセスが、ブロックされる、1302から始まる。例えば、メディアガイドアプリケーションは(例えば、制御回路704(
図7)を介して)、表示するためにメディアアセットを生成するユーザデバイスにローカルである(例えば、記憶装置708)か、またはサーバにおいて遠隔にある(例えば、通信ネットワーク814を介してアクセス可能なメディアガイドデータソース818)かのいずれかである、記憶装置の中に複数のメディアアセットを記憶してもよい。メディアガイドアプリケーションは、ユーザが表示するために選択し得る、メディアアセットの一覧を(例えば、ディスプレイ712上のユーザインターフェース内で)生成してもよい。メディアガイドアプリケーションは(例えば、制御回路704(
図7)を介して)、各記憶されたメディアアセットと関連付けられるメタデータに基づいて、各メディアアセットが所与のユーザのためにブロックされるべきであるかどうかを示す、フラグを設定してもよい。具体的実施例として、メディアガイドアプリケーションは(例えば、制御回路704(
図7)を介して)、メディアアセットと関連付けられるメタデータに基づいて、それが所定のブロック基準(例えば、特定のユーザがTV−PGを上回る評価を伴う番組を鑑賞することができない)を満たすことを示す、フラグを設定してもよい。
【0151】
プロセス1300は、メディアガイドアプリケーションが(例えば、制御回路704(
図7)を介して)、第1の認可コードの第1の入力を受信する、1304に続く。第1の認可コードは、記憶された英数字列に合致され得る、英数字の任意の組み合わせであってもよい。メディアガイドアプリケーションは(例えば、制御回路704(
図7)を介して)、タッチスクリーンまたはリモートコントロール等のユーザ入力インターフェース(例えば、ユーザ入力インターフェース710)を使用して、ユーザ入力を介して第1の識別子を受信してもよい。例えば、メディアガイドアプリケーションは(例えば、制御回路704(
図7)を介して)、リモートコントロールを介して、ユーザ入力「1578」を受信してもよい。
【0152】
プロセス1300は、メディアガイドアプリケーションが(例えば、制御回路704(
図7)を介して)、受信された第1の認可コードが、メディアアセットを視聴するためのアクセスを許可する、(例えば、記憶装置708の中にローカルで、またはサーバ(例えば、通信ネットワーク814を介してアクセス可能なメディアガイドデータソース818)において遠隔で記憶される)記憶された第1の識別子に合致するかどうかを決定する、1306に続く。例えば、メディアガイドアプリケーションは(例えば、制御回路704(
図7)を介して)、受信された入力「1578」が、第1の識別子に関してメモリの中に記憶された値に合致するかどうかを決定する。具体的実施例として、メディアガイドアプリケーションは、許可(すなわち、各コードがメディアアセットにアクセスし得るかどうか)と関連付けられる複数の識別子を含む、(例えば、記憶装置708の中にローカルで、またはサーバ(例えば、通信ネットワーク814を介してアクセス可能なメディアガイドデータソース818)において遠隔で記憶される)ペアレンタルコントロールデータベースにアクセスしてもよい。メディアガイドアプリケーションは(例えば、制御回路704(
図7)を介して)、(例えば、第1の認可コードの文字を記憶された識別子のそれぞれの文字と比較することによって)受信された第1の認可コードを記憶された識別子と比較し、合致を決定してもよい。合致を決定した後、メディアガイドアプリケーションは(例えば、制御回路704(
図7)を介して)、合致した識別子に対応するデータベース内のフィールドからデータを読み出し、データが、ユーザがメディアアセットへのアクセスを有することを示すかどうかを決定する。
【0153】
メディアガイドアプリケーションが、受信された第1の認可コードが、メディアアセットを視聴するためのアクセスを許可する、記憶された第1の識別子に合致しないことを決定する場合、プロセス1300は、メディアガイドアプリケーションが(例えば、制御回路704(
図7)を介して)、メディアアセットへのアクセスを防止し続ける、1308に続く。例えば、メディアガイドアプリケーションは(例えば、制御回路704(
図7)を介して)、受信された第1の認可コードがペアレンタルコントロールデータベースの中に記憶されたいかなる識別子にも合致しないこと、または第1の認可コードによって定義される特定のユーザが(例えば、
図2に関して上記で説明されるようなブロック基準を介して)メディアアセットにアクセスする許可を有していないことを決定してもよい。
【0154】
メディアガイドアプリケーションが、受信された第1の認可コードが、メディアアセットを視聴するためのアクセスを許可する、記憶された第1の識別子に合致することを決定する場合、プロセス1300は、メディアガイドアプリケーションが(例えば、制御回路704(
図7)を介して)、表示するためにメディアアセットを生成する、1310に続く。例えば、メディアガイドアプリケーションは、ユーザ機器(例えば、
図7−8で上記に説明されるユーザ機器のうちのいずれか)に接続されるディスプレイ上で(例えば、ディスプレイ712上で)表示するためにメディアアセットを生成してもよい。代替として、または加えて、メディアガイドアプリケーションは(例えば、制御回路704(
図7)を介して)、第1の認可コードによって識別されるユーザが、メディアアセットを記憶するユーザ機器に結合されていないデバイス上で(例えば、携帯電話等のモバイルデバイスにストリーミングされる)メディアアセットを視聴し得るかどうかのインジケーションに関して、ペアレンタルコントロールデータベースにクエリを行ってもよい。
【0155】
プロセス1300は、メディアガイドアプリケーションが(例えば、制御回路704(
図7)を介して)、メディアアセットと関連付けられる動作を実行するための第2の要求を受信する、1312に続く。動作は、実行されると、メディアアセットのための記憶された視聴覚データまたはメディアアセットに関する任意の記憶されたメタデータを改変またはコピーする、任意のコマンドまたは命令であってもよい。例えば、メディアガイドアプリケーションは(例えば、制御回路704(
図7)を介して)、メディアアセットを削除するようにユーザ入力インターフェース(例えば、タッチスクリーン)を介して要求を受信してもよい。別の実施例として、メディアガイドアプリケーションは(例えば、制御回路704(
図7)を介して)、メディアアセットを別のデバイスにコピーするようにユーザ入力インターフェースを介して要求を受信してもよい。さらに別の実施例として、メディアガイドアプリケーションは(例えば、制御回路704(
図7)を介して)、第1の認可コードと関連付けられるユーザプロファイル(例えば、視聴進捗またはユーザがメディアアセットを気に入らないというインジケーションを伴う)を更新するための要求を受信してもよい。
【0156】
プロセス1300は、メディアガイドアプリケーションが(例えば、制御回路704(
図7)を介して)、メディアアセットと関連付けられる許容動作に関する情報に関して、ペアレンタルコントロールデータベースにクエリを行う、1314に続く。例えば、メディアガイドアプリケーションは、第1の認可コードに合致する識別子のためのペアレンタルコントロールデータベースのフィールドの中に、ユーザが動作を実施することを許可されるメディアアセットを列挙するアレイへのポインタを(例えば、制御回路704(
図7)を介して)記憶してもよい。ペアレンタルコントロールデータベースは、特定の動作が第2の認可コードを伴わずに実施され得る(例えば、削除、修正等)、メディアアセットを示すアレイへのポインタをそれぞれ伴って、複数のフィールドを含んでもよい。代替として、または加えて、メディアガイドアプリケーションは(例えば、制御回路704(
図7)を介して)、メディアアセットとともに記憶されたメタデータを伴って、第2の認可コードを要求する動作(例えば、それらは第1の認可コードのみでは許容されない)のインジケーションを記憶してもよい。例えば、メディアガイドアプリケーションは(例えば、制御回路704(
図7)を介して)、メディアアセットのための記憶された視聴覚データの中に実行時間、評価、最初の放送日、および他のメタデータをヘッダとして記憶してもよく、加えて、第2の認可コードを要求する動作のインジケーションを含んでよい。
【0157】
プロセス1300は、メディアガイドアプリケーションが(例えば、制御回路704(
図7)を介して)、情報から、第2の認可コードがメディアアセットと関連付けられる動作を実行するために要求されるかどうかを決定し、第2の認可コードが、バイオメトリック署名である、1316に続く。例えば、記憶されたメディアアセットに関して上記で説明されるように、ペアレンタルコントロールデータベースから情報を読み出すステップに基づいて、メディアガイドアプリケーションは(例えば、制御回路704(
図7)を介して)、第2の要素が機能を実行するために必要とされるかどうかを決定する。バイオメトリック署名は、ユーザを区別し、したがって、認証するために使用され得る、ユーザと関連付けられる任意の特徴であってもよい。いくつかの実施形態では、バイオメトリック署名は、虹彩スキャンであってもよい。例えば、メディアガイドアプリケーションは(例えば、制御回路704(
図7)を介して)、ユーザの虹彩上の一意の色パターンを分析し、それらを数学的構造にマップし、データベース内の記憶された虹彩スキャンと比較してもよい。別の実施形態では、バイオメトリック署名は、網膜スキャンであってもよい。例えば、メディアガイドアプリケーションは(例えば、制御回路704(
図7)を介して)、ユーザの網膜上の血管のパターンを分析し、(例えば、データベースの中に記憶されたパターンと比較することによって)ユーザを識別してもよい。さらに別の実施形態では、バイオメトリック署名は、顔スキャンであってもよい。例えば、メディアガイドアプリケーションは(例えば、制御回路704(
図7)を介して)、臨界点(例えば、口角、眼の中心等の特徴)およびユーザの顔のスキャンの他の特徴への近接性を決定し、これらをデータベース内の記憶された臨界点と比較してもよい。なおも別の実施形態では、バイオメトリック署名は、指紋スキャンであってもよい。例えば、メディアガイドアプリケーションは(例えば、制御回路704(
図7)を介して)、ユーザの指紋のパターンを分析し、データベース内の記憶されたパターンと比較してもよい。
【0158】
メディアガイドアプリケーションが、第2の認可コードが動作を実行するために要求されないことを決定する場合、プロセス1300は、メディアガイドアプリケーションが(例えば、制御回路704(
図7)を介して)、メディアアセットに関連する動作を実行する、1324に続く。例えば、ペアレンタルコントロールデータベースにクエリを行い、メディアアセットの識別子が、(例えば、第1の認可コードによって識別される)特定のユーザがこれらのメディアアセットに関する動作を実施し得ることを示すアレイの中に記憶されていることを決定するステップに基づいて、メディアガイドアプリケーションは(例えば、制御回路704(
図7)を介して)、さらなる入力を伴わずに(例えば、いかなる第2の要素も要求されない)動作を実行してもよい。具体的実施例として、メディアガイドアプリケーションは(例えば、制御回路704(
図7)を介して)、特定のメディアアセットが記憶されるメモリのブロックを消去する(例えば、メディアアセットを削除する)ためのプログラムスクリプト、または
図1−4に関して上記で説明される動作のうちのいずれかを実行してもよい。
【0159】
メディアガイドアプリケーションが、第2の認可コードが動作を実行するために要求されることを決定する場合、プロセス1300は、メディアガイドアプリケーションが(例えば、制御回路704(
図7)を介して)、第2の認可コードの第2の入力を受信する、1318に続く。例えば、メディアガイドアプリケーションは(例えば、制御回路704(
図7)を介して)、ユーザ入力インターフェース(例えば、ユーザ入力インターフェース710)を介して、第2の認可コードを受信してもよい。例えば、メディアガイドアプリケーションは、ユーザ機器デバイス(例えば、
図7−8に関して上記で議論されるユーザ機器のうちのいずれか)の統合型カメラから、バイオメトリック署名の画像(例えば、虹彩スキャン、網膜スキャン等)を受信してもよい。
【0160】
プロセス1300は、メディアガイドアプリケーションが(例えば、制御回路704(
図7)を介して)、第2の認可コードを認可データベースに伝送する、1320に続く。例えば、メディアガイドアプリケーションは(例えば、制御回路704(
図7)を介して)、第2の認可コード(例えば、バイオメトリック署名)を(例えば、記憶装置708の中にローカルで、またはサーバ(例えば、通信ネットワーク814を介してアクセス可能なメディアガイドデータソース818)において遠隔で記憶される)データベースに伝送してもよい。いくつかの実施形態では、メディアガイドアプリケーションは(例えば、制御回路704(
図7)を介して)、第2の認可コードを前処理してもよい。例えば、メディアガイドアプリケーションは(例えば、制御回路704(
図7)を介して)、第2の認可コードおよびバイオメトリック署名の分析(例えば、受信された画像内のピクセルのパターン認識に基づく臨界点)を含むデータファイルを含むデータパケットを生成してもよく、これは、次いで、認可データベースに伝送される。
【0161】
プロセス1300は、メディアガイドアプリケーションが(例えば、制御回路704(
図7)を介して)、記憶されたバイオメトリック署名に合致する伝送された第2の認可コードに基づいて、メディアアセットと関連付けられる動作を実行する認可を許可する、インジケーションを受信する、1322に続く。例えば、メディアガイドアプリケーションは(例えば、制御回路704(
図7)を介して)、伝送された認可コードが第2の識別子に対応する場合は「真」、または対応しない場合は「偽」に設定されるブール値とともに、認可パッケージからデータパケットを受信してもよい。第2の識別子は、特定のバイオメトリック署名の臨界点を定義する、記憶されたテーブルまたは他のデータ構造であってもよい。例えば、第2の識別子は、ユーザの顔上の種々の点の間の距離を含むテーブルであってもよい。別の実施例として、第2の識別子は、ユーザの虹彩の1つまたは一連の数学的(例えばフラクタル次元)表現であってもよい。
【0162】
インジケーションを受信した後、プロセス1300は、メディアガイドアプリケーションが(例えば、制御回路704(
図7)を介して)、上記で説明されるように、メディアアセットに関連する動作を実行する、1324に続く。具体的実施例として、メディアガイドアプリケーションは(例えば、制御回路704(
図7)を介して)、特定のメディアアセットが記憶されるメモリのブロックを消去する(例えば、メディアアセットを削除する)ためのプログラムスクリプト、または
図1−4に関して上記で説明される動作のうちのいずれかを実行してもよい。
【0163】
図13のステップまたは説明は、本開示の任意の他の実施形態と併用され得ることが考慮される。加えて、
図13に関連して説明されるステップおよび説明は、本開示の目的を促すために、代替順序で、または並行して、行われてもよい。例えば、これらのステップはそれぞれ、システムまたは方法の遅延を低減させる、または速度を増加させるように、任意の順序で、または並行して、または実質的に同時に実施されてもよい。さらに、
図7−8に関連して議論されるデバイスまたは機器のうちのいずれかは、
図13のプロセスのうちの1つ以上のものを実装するために使用され得ることに留意されたい。
【0164】
本開示の上記で説明される実施形態は、限定ではなく、例証の目的のために提示され、本開示は、続く請求項のみによって限定される。さらに、いずれか1つの実施形態で説明される特徴および限定は、本明細書の任意の他の実施形態に適用され得、一実施形態に関するフローチャートまたは実施例は、好適な様式で任意の他の実施形態と組み合わせられる、異なる順序で行われる、または並行して行われ得ることに留意されたい。加えて、本明細書で説明されるシステムおよび方法は、リアルタイムで実施されてもよい。また、上記で説明されるシステムおよび/または方法は、他のシステムおよび/または方法に適用される、またはそれらに従って使用され得ることにも留意されたい。