(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023022050
(43)【公開日】2023-02-14
(54)【発明の名称】コンテンツ購読データを管理するための方法およびシステム
(51)【国際特許分類】
G06F 21/10 20130101AFI20230207BHJP
G06F 21/60 20130101ALI20230207BHJP
H04N 21/258 20110101ALI20230207BHJP
【FI】
G06F21/10
G06F21/60 340
H04N21/258
【審査請求】有
【請求項の数】18
【出願形態】OL
(21)【出願番号】P 2022178003
(22)【出願日】2022-11-07
(62)【分割の表示】P 2021000111の分割
【原出願日】2016-10-24
(31)【優先権主張番号】14/928,934
(32)【優先日】2015-10-30
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】14/928,930
(32)【優先日】2015-10-30
(33)【優先権主張国・地域又は機関】US
(71)【出願人】
【識別番号】518345664
【氏名又は名称】ロヴィ ガイズ, インコーポレイテッド
(74)【代理人】
【識別番号】100078282
【弁理士】
【氏名又は名称】山本 秀策
(74)【代理人】
【識別番号】100113413
【弁理士】
【氏名又は名称】森下 夏樹
(74)【代理人】
【識別番号】100181674
【弁理士】
【氏名又は名称】飯田 貴敏
(74)【代理人】
【識別番号】100181641
【弁理士】
【氏名又は名称】石川 大輔
(74)【代理人】
【識別番号】230113332
【弁護士】
【氏名又は名称】山本 健策
(72)【発明者】
【氏名】ウィリアム エル. トーマス
(72)【発明者】
【氏名】ウォルター アール. クラッパート
(57)【要約】 (修正有)
【課題】コンテンツ購読データの管理の好適な方法及びシステムを提供する。
【解決手段】方法は、同一のユーザアカウントと関連付けられた異なるデバイスによってメディアストリーミングサービスからメディアの同時ストリーミングが要求されたインスタンスの数のログをとることと、インスタンスの数が識別された閾値を超えることを判定したことに応答して、ユーザデバイスにメッセージを表示させることと、を含む。メッセージは、メディアストリーミングサービスからメディアを同時ストリーミングすることが許可されるデバイスの数を増加させるためのユーザ選択可能オプションを含む。方法はまた、オプションのユーザ選択を受信したことに応答して、認証情報を使用してメディアストリーミングサービスからメディアを同時ストリーミングすることが許可されるデバイスの数を増加させることを含む。
【選択図】
図9
【特許請求の範囲】
【請求項1】
特定の時間期間にわたって、同一のユーザアカウントと関連付けられた認証情報を使用して異なるデバイスによってメディアストリーミングサービスからメディアの同時ストリーミングが要求されたインスタンスの数のログをとることと、
ユーザアカウントデータに基づいてインスタンスの閾値数を識別することと、
同一のユーザアカウントと関連付けられた前記認証情報を使用して異なるデバイスによって前記メディアストリーミングサービスからメディアの同時ストリーミングが要求されているインスタンスの数が前記識別された閾値を超えることを判定したことに応答して、
前記ユーザアカウントと関連付けられたユーザデバイスのグラフィカルユーザインターフェースを介してメッセージを表示させることであって、前記メッセージは、前記認証情報を使用して前記メディアストリーミングサービスからメディアを同時ストリーミングすることが許可されるデバイスの数を増加させるためのユーザ選択可能オプションを含む、こと、および、
前記オプションのユーザ選択を受信したことに応答して、前記認証情報を使用して前記メディアストリーミングサービスからメディアを同時ストリーミングすることが許可されるデバイスの数を増加させること
を実行することと
を含む、方法。
【請求項2】
前記メディアストリーミングサービスからのメディアの同時ストリーミングを要求する前記異なるデバイスは、異なるユーザプロファイルと関連付けられている、請求項1に記載の方法。
【請求項3】
前記ユーザアカウントデータは、前記メディアストリーミングサービスからユーザに利用可能なストリームの数を含む、請求項1に記載の方法。
【請求項4】
前記特定の時間期間は、ユーザが前記メディアストリーミングサービスに対して購読した購読期間を含む、請求項1に記載の方法。
【請求項5】
前記特定の時間期間は、ユーザが前記メディアストリーミングサービスに対して購読した購読期間を含み、前記ユーザアカウントデータは、前記購読期間の時間の長さを含む、請求項1に記載の方法。
【請求項6】
前記特定の時間期間は、ユーザが前記メディアストリーミングサービスに対して購読した購読期間を含み、前記ユーザアカウントデータは、購読期間の一部に対応する日付を含む、請求項1に記載の方法。
【請求項7】
前記特定の時間期間は、ユーザが前記メディアストリーミングサービスに対して購読した購読期間を含み、前記ユーザアカウントデータは、購読期間の一部に対応する時刻を含む、請求項1に記載の方法。
【請求項8】
前記特定の時間期間は、ユーザが前記メディアストリーミングサービスに対して購読した購読期間を含み、前記ユーザアカウントデータは、購読期間の一部の間に購読サービスから利用可能になったメディアアセットの数を含む、請求項1に記載の方法。
【請求項9】
前記特定の時間期間は、ユーザが前記メディアストリーミングサービスに対して購読した購読期間を含み、前記メッセージはさらに、メディアアセットの名称、ユーザの名前、前記購読期間中に起こるストリーミング対立の数、購読の中のストリームの数を増加または減少させるための命令、および将来のストリーミング対立の数を最小限にさせる方法の推奨を含む、請求項1に記載の方法。
【請求項10】
メモリと、
入力回路と、
制御回路と
を備えるシステムであって、
前記制御回路は、
前記制御回路によって、前記メモリにおいて、特定の時間期間にわたって、同一のユーザアカウントと関連付けられた認証情報を使用して異なるデバイスによってメディアストリーミングサービスからメディアの同時ストリーミングが要求されたインスタンスの数のログをとることと、
前記制御回路によって、ユーザアカウントデータに基づいてインスタンスの閾値数を識別することと、
同一のユーザアカウントと関連付けられた前記認証情報を使用して異なるデバイスによって前記メディアストリーミングサービスからメディアの同時ストリーミングが要求されているインスタンスの数が前記識別された閾値を超えることを判定したことに応答して、
前記制御回路によって、前記ユーザアカウントと関連付けられたユーザデバイスのグラフィカルユーザインターフェースを介してメッセージを表示させることであって、前記メッセージは、前記認証情報を使用して前記メディアストリーミングサービスからメディアを同時ストリーミングすることが許可されるデバイスの数を増加させるためのユーザ選択可能オプションを含む、こと、および、
前記オプションのユーザ選択を受信したことに応答して、前記制御回路によって、前記認証情報を使用して前記メディアストリーミングサービスからメディアを同時ストリーミングすることが許可されるデバイスの数を増加させること
を実行することと
を行うように構成される、システム。
【請求項11】
前記メディアストリーミングサービスからのメディアの同時ストリーミングを要求する前記異なるデバイスは、異なるユーザプロファイルと関連付けられている、請求項10に記載のシステム。
【請求項12】
前記ユーザアカウントデータは、前記メディアストリーミングサービスからユーザに利用可能なストリームの数を含む、請求項10に記載のシステム。
【請求項13】
前記特定の時間期間は、ユーザが前記メディアストリーミングサービスに対して購読した購読期間を含む、請求項10に記載のシステム。
【請求項14】
前記特定の時間期間は、ユーザが前記メディアストリーミングサービスに対して購読した購読期間を含み、前記ユーザアカウントデータは、前記購読期間の時間の長さを含む、請求項10に記載のシステム。
【請求項15】
前記特定の時間期間は、ユーザが前記メディアストリーミングサービスに対して購読した購読期間を含み、前記ユーザアカウントデータは、購読期間の一部に対応する日付を含む、請求項10に記載のシステム。
【請求項16】
前記特定の時間期間は、ユーザが前記メディアストリーミングサービスに対して購読した購読期間を含み、前記ユーザアカウントデータは、購読期間の一部に対応する時刻を含む、請求項10に記載のシステム。
【請求項17】
前記特定の時間期間は、ユーザが前記メディアストリーミングサービスに対して購読した購読期間を含み、前記ユーザアカウントデータは、購読期間の一部の間に購読サービスから利用可能になったメディアアセットの数を含む、請求項10に記載のシステム。
【請求項18】
前記特定の時間期間は、ユーザが前記メディアストリーミングサービスに対して購読した購読期間を含み、前記メッセージはさらに、メディアアセットの名称、ユーザの名前、前記購読期間中に起こるストリーミング対立の数、購読の中のストリームの数を増加または減少させるための命令、および将来のストリーミング対立の数を最小限にさせる方法の推奨を含む、請求項10に記載の方法。
【発明の詳細な説明】
【背景技術】
【0001】
コンテンツ購読を提供するサービスは、多くの場合、ユーザが複数のコンテンツプロバイダによって提供されるコンテンツをストリーミングすることを可能にし、コンテンツ購読における各プロバイダは、コンテンツにアクセスするために有限数のストリームを提供する。しかしながら、コンテンツ購読のユーザは、ユーザが購読を申し込むとき、また、ユーザがコンテンツをストリーミングしているときの両方において、それらの購読と関連付けられるデータを管理するタスクが膨大であると見出し得る。すなわち、ユーザは、アカウントを作成し、次いで、各コンテンツプロバイダと関連付けられる各アカウントとともに機密情報を覚えて維持するプロセスを単調かつ面倒であると見出し得る。加えて、エピソードが利用可能になるとすぐに、コンテンツ購読の全てのユーザがテレビ番組の新しいエピソードを視聴することに関心があり、ユーザの数が利用可能なストリームの数を超えるとき等に、ユーザは、コンテンツプロバイダによって利用可能にされる不十分な数のストリームに不満を感じ得る。
【発明の概要】
【課題を解決するための手段】
【0002】
故に、複数の購読サービスのための複数のアカウントを管理しなければならないことからユーザを解放する、メディアガイドアプリケーションのための方法およびシステムが本明細書に説明される。例えば、ユーザの代わりにユーザアクティビティを監視し、ユーザアカウントを管理することによって、メディアガイドアプリケーションは、ユーザの個々の必要性に合わせられた購読サービスおよび/または購読サービスの規約を推奨してもよい。
【0003】
さらに、メディアガイドアプリケーションは、ユーザの必要性を最良に満たす購読サービスおよび/または特定の購読サービスからの特定のプランを判定するために、ユーザの代わりに作用し、多数のコンテンツプロバイダから大量のデータを読み出して処理してもよい。以下で綿密に議論されるように、メディアガイドアプリケーションは、ユーザの利益のための動向および統計的最適化を識別するために、別個かつ異種のデータセットを比較することによって、(多くの場合、コンピュータ可読コードのみでアクセス可能な)大量のデータを処理してもよい。
【0004】
例えば、制御回路上に実装されるメディアガイドアプリケーションは、所与の時間期間にわたってデータストリーム入力および出力メトリックを分析することによって、購読サービスから異なるデバイスにメディアを同時にストリーミングする要求の数が利用可能なストリームの数を超える、インスタンスの数を検出してもよい。例えば、制御回路は、メディアを同時にストリーミングする要求の数が利用可能なストリームの数を超えた、ユーザの購読期間中に、12のインスタンスを検出するようにデータストリーム入力および出力メトリックを分析してもよい。応答して、制御回路は、データストリーム入力および出力メトリックと比較したときに、他の変数(例えば、価格)を制御しながら、代替購読サービス/プランがユーザに利用可能なストリーム数を向上させ得るかどうかを判定してもよい。該当する場合、制御回路は、(例えば、付加的ストリームが購入するために利用可能であることを示す)代替購読サービス/プランを推奨するメッセージを伝送してもよい。
【0005】
いくつかの実施形態では、制御回路は、購読サービスから異なるデバイスにメディアを同時にストリーミングする要求の数が、購読サービスからユーザに利用可能なストリームの数を超える、複数のインスタンスを検出してもよい。例えば、制御回路は、12のインスタンスにおいて、購読サービスから異なるデバイスにメディアを同時にストリーミングする要求の数が、購読サービスからユーザに利用可能なストリームの数を超えることを検出してもよい。換言すると、12の機会に、少なくとも1人のユーザは、コンテンツ購読サービスからコンテンツをストリーミングすることができなかった。結果として、購読を使用してコンテンツをストリーミングするユーザは、自分が選定する時間にコンテンツを視聴できないことによって不満を感じ得る。さらに、ユーザは、付加的ストリームを購入する能力を認識していない場合があり、かつ購読を使用する他のユーザの視聴習慣を認識していない場合がある。したがって、不満を感じたユーザは、自分の視聴体験を向上させるオプションが殆どない場合があり、競合購読サービスを使用してメディアをストリーミングし始め得る、または自分の購読を完全にキャンセルし得る。
【0006】
制御回路は、複数のタイムスタンプがそれぞれ、複数のインスタンスのうちの1つに対応する、複数のタイムスタンプを生成してもよい。例えば、制御回路が、購読サービスから異なるデバイスにメディアを同時にストリーミングする要求の数が、購読サービスからユーザに利用可能なストリームの数を超える、12のインスタンスを検出する場合、制御回路は、各タイムスタンプが12のインスタンスのうちの1つに対応する、複数のタイムスタンプを生成してもよい。結果として、制御回路は、タイムスタンプを各インスタンスに相関させることによって、不十分な数の利用可能なストリームにより、ユーザがコンテンツをストリーミングすることができなかった、これらのインスタンスを効果的に記録するために、タイムスタンプを利用してもよい。
【0007】
次いで、制御回路は、購読期間中に起こった複数のインスタンスの数を判定するために、複数のタイムスタンプのそれぞれを、購読サービスのための購読期間に対応するタイムスタンプの範囲と比較してもよい。例えば、制御回路が12のタイムスタンプを生成する場合には、制御回路は、購読期間内に入るインスタンスの数を(それらの対応するタイムスタンプに基づいて)判定するように、12のタイムスタンプのそれぞれを購読サービスのための購読期間と比較してもよい。例えば、購読期間は、開始タイムスタンプおよび終了タイムスタンプによって定義されてもよい。次いで、制御回路は、各タイムスタンプが購読期間の開始および終了タイムスタンプ内に入るかどうかを判定するように、12のタイムスタンプのそれぞれを比較してもよい。購読期間の開始および終了タイムスタンプの範囲内に入るタイムスタンプの数に基づいて、制御回路は、購読期間中に起こった複数のインスタンスの数を判定してもよい。
【0008】
いくつかの実施形態では、制御回路は、サーバにおいて、購読期間中に起こった複数のインスタンスの数を購読期間の閾値数と比較してもよい。例えば、制御回路は、所与の購読期間にわたって、閾値数が8に設定されることを判定してもよく、かつ2つの数を比較してもよい。例えば、閾値数は、その後にユーザが利用可能なストリームの不足に不満を感じるようになり得る、インスタンスの数を示してもよい。閾値数を超えるかどうかを判定することによって、制御回路は、ユーザが付加的ストリームを取得したい可能性が高いどうかを判定してもよい。
【0009】
いくつかの実施形態では、制御回路は、購読期間中に起こった複数のインスタンスの数が購読期間の閾値数を超えることを判定するステップに応答して、サーバから異なるデバイスのうちの1つにメッセージを伝送してもよい。例えば、購読期間中に起こった複数のインスタンスの数(例えば、12)が閾値数(例えば、8)を超えることを判定するステップに応答して、制御回路は、デバイスと関連付けられるユーザが付加的ストリームを購入できることを示すメッセージをサーバからデバイスに伝送する。メッセージを伝送することによって、制御回路は、コンテンツをストリーミングできないことに対するユーザの不満に対処してもよく、かつユーザが利用可能なストリームの不十分な数量という問題に対処する機会を提供してもよい。
【0010】
いくつかの実施形態では、制御回路は、購読期間の時間の長さに基づいて、複数の潜在的閾値数から購読期間の閾値数を選択してもよい。例えば、制御回路は、購読サービスからメディアを同時にストリーミングする要求の数が、1ヶ月の期間等のより短い時間期間中に購読サービスからユーザに利用可能なストリームの数を超える、より少数のインスタンスがあるという事実を考慮するよう、1ヶ月の購読期間のために低い閾値数(例えば、10)を選択してもよい。したがって、単一の静的閾値に依拠する代わりに、制御回路は、個々のユーザが利用不可能なストリームを許容する様々な能力を有するため、ユーザの視聴習慣に関連する閾値を適用してもよい。
【0011】
加えて、または代替として、制御回路は、購読サービスからユーザに利用可能なストリームの数に基づいて、複数の潜在的閾値数から購読期間の閾値数を選択してもよい。例えば、制御回路は、購読と関連付けられるストリームの数を分析し、1つの時点において多数の利用可能なストリームを伴う購読と関連付けられるユーザが、少数のストリームを有し、不十分な数のストリームによって引き起こされるストリーミング問題を最小限にするためにストリームを追加したことを判定してもよい。したがって、制御回路は、少数の利用可能なストリームによって特徴付けられるコンテンツ購読のユーザが、メディアを同時にストリーミングする要求の数がどれだけ頻繁に購読サービスからユーザに利用可能なストリームの数を超えるかを理解しようとする可能性がより高くあり得ることを判定してもよい。その一方で、メディアを同時にストリーミングする要求の数が購読サービスからユーザに利用可能なストリームの数を超える状況を回避するよう、ユーザが利用可能なストリームの数をすでに増加させている場合があるため、購読サービスからユーザに利用可能な多数のストリームによって特徴付けられるコンテンツ購読のユーザは、メディアを同時にストリーミングする要求の数がどれだけ頻繁に購読サービスからユーザに利用可能なストリームの数を超えるかを理解しようとする可能性が低くあり得る。
【0012】
加えて、または代替として、制御回路は、複数のタイムスタンプのそれぞれを、購読サービスのための購読期間の一部に対応するタイムスタンプの範囲と比較し、購読期間の一部の間に起こった複数のインスタンスの数を判定してもよい。例えば、制御回路は、タイムスタンプのそれぞれを、人気の番組が放送される購読期間の一部(例えば、番組「The Simpsons」の新しいエピソードの放送に対応する、水曜日の午後7時から午後9時のタイムスロットに対応する購読期間の全ての部分)に対応するタイムスタンプの範囲と比較してもよく、購読期間の一部に対応するタイムスタンプの範囲内の10のタイムスタンプの発生を判定する。さらに、制御回路は、サーバにおいて、購読期間の一部の間に起こった複数のインスタンスの数を購読期間の一部の閾値数と比較してもよい。例えば、制御回路は、購読期間の一部の間に起こった複数のインスタンスの数(例えば、10)を閾値数(例えば、6)と比較する。最後に、制御回路は、購読期間の一部の間に起こった複数のインスタンスの数が購読期間の一部の閾値数を超えることを判定するステップに応答して、サーバから異なるデバイスのうちの1つへ伝送されたメッセージを修正してもよい。例えば、制御回路は、購読期間の一部の間に起こった複数のインスタンスの数(例えば、10)が閾値数(例えば、6)を超えることを判定する。応答して、制御回路は、例えば、メディアを同時にストリーミングする要求の数が、多くの場合、購読期間の対応する部分の間に(例えば、番組「The Simpsons」の新しいエピソードの放送に対応する、水曜日の午後7時~午後9時の間のタイムスロットの間に)購読サービスからユーザに利用可能なストリームの数を超えることを示すことによって、サーバから、購読からメディアをストリーミングするユーザによって使用されるデバイスのうちの1つに伝送される、メッセージを修正する。
【0013】
いくつかの実施形態では、制御回路は、購読期間の時間の長さに基づいて、複数の潜在的閾値数から購読期間の一部の閾値数を選択してもよい。例えば、制御回路は、その場合、制御回路がより少ない数(例えば、3)を選択する、より短い購読期間長(例えば、1ヶ月)と比較して、購読期間の長さがより長い(例えば、1年)である場合、購読期間の一部の閾値数のために、より大きい数(例えば、20)を選択する。したがって、制御回路は、メディアを同時にストリーミングする要求の数が購読サービスからユーザに利用可能なストリームの数を超える、インスタンスの確率が経時的に一定である一方で、より多くのインスタンスが、より短い時間期間よりも長い時間期間で起こるであろうという事実を考慮してもよい。
【0014】
いくつかの実施形態では、制御回路は、購読期間の一部に対応する日付に基づいて、複数の潜在的閾値数から購読期間の一部の閾値数を選択してもよい。例えば、人気のテレビ番組(例えば、「The Simpsons」)のシーズンプレミアの日付が購読期間の一部に入ることを判定するステップに応答して、制御回路は、購読のユーザの大多数が人気のテレビ番組(例えば、「The Simpsons」)のシーズンのエピソードを視聴することに関心があるという事実を考慮するよう、購読期間の一部のために低い閾値数を選択する。
【0015】
いくつかの実施形態では、制御回路は、購読期間の一部に対応する時刻に基づいて、複数の潜在的閾値数から購読期間の一部の閾値数を選択してもよい。例えば、購読期間の一部(例えば、所与の日の間の午後8時~午後10時の間のタイムスロット)が、購読のユーザがメディアをストリーミングする可能性が最も高い時間に対応することを判定するステップに応答して、制御回路は、低い閾値数を選択する。したがって、制御回路は、閾値数を選択するときに、ピーク需要の時間範囲がユーザの視聴習慣に基づいて存在し得る(例えば、購読サービスのユーザの大多数がストリーミングメディアを視聴することによって仕事の後にリラックスすることを所望し得る)という事実を考慮してもよい。
【0016】
加えて、または代替として、制御回路は、購読期間の一部の間に購読サービスから利用可能になったメディアアセットの数に基づいて、複数の潜在的閾値数から購読期間の一部の閾値数を選択してもよい。例えば、いくつかの購読サービスは、新しいメディアアセット(例えば、「The Simpsons」の3つの完全シーズン)をそれらのメディアラインナップに定期的に追加する。制御回路は、購読サービスメディア提供に追加されたメディアアセットの数に基づいて、購読期間の一部の間に購読サービスから利用可能になったメディアアセットの数を判定してもよい。例えば、購読期間の一部の間に購読サービスから利用可能になった、メディアアセットの数から利用可能になったメディアアセットの数が、購読期間の他の部分の間に購読サービスから利用可能になったメディアアセットの数を上回る場合、制御回路は、購読のユーザがメディアアセットをストリーミングする可能性がより高く、したがって、要求の数がどれだけ頻繁に購読サービスからユーザに利用可能なストリームの数を超えるかを理解しようとする可能性がより高くあり得るという事実を考慮するよう、低い閾値数を選択する。
【0017】
いくつかの実施形態では、制御回路は、複数のインスタンスの頻度を低減させるための推奨を含む、メッセージを伝送してもよい。例えば、購読期間中に起こった複数のインスタンスの数が購読期間の閾値数を超えることを判定するステップに応じて、制御回路は、サーバから購読のユーザによって使用される異なるデバイスのうちの1つにメッセージを伝送する。メッセージは、複数のインスタンスの頻度を低減させるための推奨を含んでもよい。例えば、制御回路は、ユーザがある時間外に(例えば、他のユーザが鑑賞することに関心がある、番組「The Simpsons」の新しいエピソードの放送に対応する、水曜日の午後7時から午後9時のタイムスロット外に)メディアを正常にストリーミングする可能性がより高いであろうことをユーザに知らせる。
【0018】
さらに、コンテンツアグリゲータサービスを購読することによって、ユーザは、複数の購読サービスによって提供されるメディアコンテンツにアクセスする権限を持つようになってもよい。各購読サービスによって提供されるメディアコンテンツは、常にコンテンツアグリゲータサービスにおいて直接利用可能にされるわけではなく、したがって、各コンテンツプロバイダのウェブサイトを介して、強制的にユーザにコンテンツにアクセスさせる。コンテンツにアクセスすることができる前に、ユーザは、各コンテンツプロバイダとアカウントを作成しなければならず、ユーザが単調かつ面倒であると見出し得るタスクである。加えて、複数の購読サービスアカウントと関連付けられる機密情報を覚えて維持するプロセスはさらに、ユーザを圧倒し得る。
【0019】
いくつかの実施形態では、制御回路は、コンテンツアグリゲータサービスから認証情報を自動的に受信してもよい。例えば、制御回路上に実装されるメディアガイドアプリケーションは、制御回路がユーザに購読サービスを購読させる要求を受信する前に、認証情報を受信し、認証情報をユーザアカウントと関連付けてもよい。次いで、制御回路は、ユーザに購読サービスを購読させる要求を受信し、したがって、アカウントの正当性を立証し、購読サービスの提供へのアクセスをユーザに許可してもよい。
【0020】
制御回路は、購読サービスと関連付けられるコンテンツプロバイダサーバ(例えば、Hulu)において、第2の購読サービスと関連付けられるコンテンツアグリゲータサーバ(例えば、Rovi Super Aggregator)から第1の認証キーを受信してもよく、第1の認証キーは、ユーザが第1の購読サービスを購読する前に受信される。例えば、ユーザは、コンテンツアグリゲータサービス(すなわち、第2の購読サービス)を購読してもよい。ユーザが第2の購読サービスへの自分の登録を完了するとすぐに、第2の購読サービスと関連付けられるコンテンツアグリゲータサーバ上に実装される制御回路は、ユーザを、コンテンツアグリゲータ購読の一部として利用可能である購読サービスのうちのいくつかまたは全てと関連付けるように認証キーを生成し、生成された認証キーを、各購読サービス(例えば、第1の購読サービス)と関連付けられるサーバに転送してもよい。各認証キーは、キーの中に記憶された情報が各購読サービスと関連付けられるサーバにセキュアに伝送されることを確実にするために、暗号化されてもよい。加えて、各認証キーは、ユーザおよび第2の購読サービスを識別する情報を含んでもよい。次いで、第1の購読サービスと関連付けられるコンテンツプロバイダサーバ上に実装される制御回路は、コンテンツアグリゲータサーバから生成された認証キーを受信してもよい。いくつかの事例では、コンテンツプロバイダサーバ上に実装される制御回路は、認証キーを解読し、キーの中に記憶された情報を抽出してもよい。制御回路は、加えて、コンテンツプロバイダサーバ上に認証キーを記憶してもよい。そのようにして、第1のユーザと関連付けられる認証情報は、ユーザにアカウントを手動で作成することを負担させることなく、第1の購読サービスに伝送されてもよい。
【0021】
コンテンツプロバイダサーバ上に実装される制御回路は、第1の認証キーを第1の複数の容認可能な認証キーと比較し、第1の認証キーに基づいて、第1の購読サービスのために第1のユーザアカウントを生成するかどうかを判定してもよい。例えば、コンテンツプロバイダサーバ上に実装される制御回路は、第1の認証キーの中に記憶された情報を抽出し、第2の購読サービスの識別子に関連するキーの一部に列挙される購読サービスの名称(例えば、Rovi Super Aggregator)を判定してもよい。次いで、制御回路は、制御回路が第1の購読サービス上でユーザアカウントを生成することを可能にされるように以前に識別された、購読サービスのリストを読み出し、購読サービスの名称を読み出されたリストの中の各購読サービスと比較してもよい。事実上、コンテンツプロバイダサーバ上に実装される制御回路は、作成されるアカウントに対する制御を維持しながら、コンテンツアグリゲータ(すなわち、第2の購読サービス)から新しいユーザについての情報をセキュアに受信することができる。例えば、第1の購読サービスは、割引価格で第1の購読サービス上の購読を提供するように、第2の購読サービスとの契約を結んでもよい。したがって、認証キーの中に第2のプロバイダについての情報をカプセル化することによって、第1の購読サービスは、信頼されるコンテンツアグリゲータと関連付けられるユーザのアカウントのみが作成されることを確実にする。
【0022】
コンテンツプロバイダサーバ上に実装される制御回路は、第1の認証キーが第1の複数の容認可能な認証キーのうちの1つに合致することを判定するステップに応答して、コンテンツプロバイダサーバにおいて第1のユーザアカウントを生成してもよい。例えば、制御回路は、コンテンツプロバイダサーバ上でアカウントを生成するために必要な情報を作成するために、ユーザ名、パスワード、および購読サービス名等の認証キーに含有される情報を使用してもよい。いくつかの事例では、制御回路は、アカウントの正当性が立証されていないことを規定する、第1のアカウントと関連付けられるインジケーションを記憶してもよい。換言すると、アカウントは、作成されるが、ユーザによってアクセス可能ではない。ユーザまたは第2の購読サービスが、将来、アカウントの正当性を立証することを決定するならば、コンテンツプロバイダサーバ上に実装される制御回路は、以下でさらに詳細に説明されるであろうように、ユーザからの要求された入力を殆どまたは全く伴わずに、アカウントの正当性を効率的に立証してもよい。
【0023】
コンテンツプロバイダサーバ上に実装される制御回路は、第1のユーザアカウントが第1の認証キーに対応することを示すデータベースエントリの中に第1のユーザアカウントを記憶してもよい。例えば、コンテンツプロバイダサーバ上に実装される制御回路は、生成されたユーザアカウントに関連する情報をデータベースの中に記憶されたデータベースエントリの中に記憶してもよい。制御回路はさらに、例えば、認証キーの場所へのポインタをユーザアカウントと関連付けられるデータベースエントリの中に記憶することによって、ユーザアカウントを認証キーと関連付けてもよい。記憶されたユーザアカウントを第1の認証キーと関連付けることによって、コンテンツアグリゲータサーバ上に実装される制御回路は、第2の購読またはユーザが第1の購読サービス上でアカウントの正当性を立証することを決定する場合に、アカウントの正当性が迅速に立証され得ることを確実にしてもよい。
【0024】
コンテンツプロバイダサーバ上に実装される制御回路は、第1のユーザアカウントを記憶するステップに続いて、コンテンツプロバイダサーバにおいて、ユーザに第1の購読サービスを購読させる要求をコンテンツアグリゲータサーバから受信してもよく、要求は、第2の認証キーを含む。制御回路は、第1の購読サービスを購読するユーザ要求に応答して、第2の認証キーを受信してもよい。例えば、コンテンツアグリゲータサーバ上に実装される制御回路は、第2の購読サービス(例えば、Rovi Super Aggregator)のユーザが第1の購読サービス(例えば、Hulu)を購読することを所望することを検出してもよい。異なる実施例では、第2のサービス上に実装される制御回路は、第1のサービスを購読するコストがコスト基準を満たすときに、要求を第1のサービスに自動的に送信してもよい。第1の購読サービス上の制御回路は、第2のキーの中に記憶された情報を解読し、第2のキーの中に記憶された情報を読み出し、コンテンツプロバイダサーバ上に認証キーを記憶してもよい。第2の認証キーを受信する枠組みを提供することによって、コンテンツプロバイダサーバ上に実装される制御回路は、ユーザのためのアカウントの正当性をセキュアに立証してもよい。
【0025】
コンテンツプロバイダサーバ上に実装される制御回路は、第1の認証キーを第2の認証キーと比較してもよい。例えば、コンテンツプロバイダサーバ上に実装される制御回路は、キーと関連付けられるユーザの名前と関連する第2のキーから情報を読み出してもよく、次いで、識別されたユーザと関連付けられるアカウントが以前に作成されているかどうかを判定するように、データベースにクエリを行ってもよい。異なる実施例では、コンテンツプロバイダサーバ上に実装される制御回路は、第2の認証キーを備える暗号化されていないデータを、コンテンツプロバイダサーバ上に記憶される以前に受信された認証キーの暗号化されていないデータと比較してもよい。
【0026】
コンテンツプロバイダサーバ上に実装される制御回路は、第1の認証キーが第2の認証キーに合致することを判定するステップに応答して、第1のユーザアカウントの正当性を立証してもよい。例えば、第2の認証キーとの第1の認証キーの比較に基づいて、次いで、コンテンツプロバイダサーバ上に実装される制御回路は、いずれかのキーと関連付けられるユーザアカウントを識別してもよい。次いで、制御回路は、アカウントを識別するようにデータベースにクエリを行い、アカウントの正当性が立証されていることを規定するインジケーションを記憶してもよい。アカウントの正当性を立証することによって、コンテンツプロバイダサーバ上に実装される制御回路は、コンテンツプロバイダサーバによって認証されるユーザが、第1の購読サービスによって提供されるメディアコンテンツにアクセスすることを可能にする。
【0027】
いくつかの実施形態では、第1のユーザアカウントの正当性を立証するステップに応答して、第1のサーバ上に実装される制御回路は、第1のユーザアカウントを通した第1の購読サービスへのアクセスを許可してもよい。例えば、コンテンツプロバイダサーバ上に実装される制御回路は、アカウントが使用のために利用可能であることを示すメッセージを生成し、コンテンツアグリゲータサーバに伝送してもよい。このようにして、コンテンツプロバイダサーバ上に実装される制御回路は、第2の購読サービスの提供がユーザによってアクセスされ得ることをユーザに通知することができる。
【0028】
いくつかの実施形態では、第1の認証キーは、第2の購読サービスによって割り当てられるユーザのためのユーザ名およびパスワードに基づく暗号化キーである。例えば、認証キーは、第1の購読サービスのパスワード要件に準拠する自動的に生成されたパスワードと、コンテンツプロバイダサーバと関連付けられるユーザ名に対応するユーザ名とを含んでもよい。
【0029】
いくつかの実施形態では、第1の複数の容認可能な認証キーは、コンテンツアグリゲータサーバからコンテンツプロバイダサーバにおいて受信される。例えば、コンテンツプロバイダサーバにおいて実装される制御回路は、規則的間隔で第2の購読サービスから認証キーのリストを受信してもよい。例えば、コンテンツアグリゲータサーバ上に実装される制御回路は、日常的に、第2の購読サービスとアカウントを作成した全ての新しいユーザと関連付けられる認証キーを伝送してもよい。
【0030】
いくつかの実施形態では、コンテンツプロバイダサーバに記憶されたデータベースエントリは、第1のユーザアカウントへのポインタを含む第1のデータベースフィールドと、第1の認証キーを含む第2のデータベースフィールドとを含む。例えば、コンテンツプロバイダサーバ上のデータベースエントリは、ユーザのユーザ名、パスワード、および購読レベル等のユーザのアカウントについての情報を含有する、第2のデータベースエントリを指す、第1のデータベースフィールドの中に記憶されたポインタを含んでもよい。
【0031】
いくつかの実施形態では、コンテンツプロバイダサーバに記憶されたデータベースエントリは、第1の購読サービスのための購読規約を含む、第3のデータベースフィールドを含む。購読の規約は、購読の価格を判定してもよく、ユーザが購読するために負担する価格もまた、第3のデータベースフィールドの中に記憶されてもよい。
【0032】
いくつかの実施形態では、ユーザに第1の購読サービスを購読させるコンテンツアグリゲータサーバからの要求は、ユーザがコンテンツアグリゲータサーバにおいて第2の購読サービスのための購読レベルを選択することに応答して、さらなるユーザ入力を伴わずにコンテンツアグリゲータサーバから伝送される。例えば、コンテンツアグリゲータサーバ上に実装される制御回路は、2つの購読レベル、すなわち、第1の購読サービスの購読を含み得る、「プレミアム」レベル、および第1の購読サービスの購読を含まない「基本」レベルを生成してもよい。コンテンツアグリゲータサーバ上に実装される制御回路は、ユーザが「プレミアム」レベル購読を選択したことを判定するステップのみに応答して、要求を第2の購読サービスに伝送してもよい。
【0033】
いくつかの実施形態では、コンテンツプロバイダサーバ上に実装される制御回路は、第1のユーザアカウントの正当性を立証するステップに応答して、コンテンツプロバイダサーバからコンテンツアグリゲータサーバに確認を伝送してもよい。例えば、いったん制御回路がユーザアカウントの正当性を立証すると、制御回路は、確認を備えるメッセージをコンテンツアグリゲータサーバに伝送してもよい。確認を伝送することによって、第2のサービスのユーザは、ユーザが第1の購読サービスと関連付けられるメディアにアクセスできることを知らされてもよい。
【0034】
いくつかの実施形態では、コンテンツプロバイダサーバ上に実装される制御回路は、コンテンツアグリゲータサーバから、第1のユーザアカウントを通して第1の購読サービスのメディアコンテンツにアクセスする要求を受信してもよい。例えば、コンテンツプロバイダサーバ上に実装される制御回路は、メディアコンテンツ(例えば、テレビ番組「The Simpsons」のエピソード)にアクセスするユーザ要求を受信してもよい。コンテンツアグリゲータサーバから、第1のユーザアカウントを通して第1の購読サービスのメディアコンテンツにアクセスする要求を受信するステップに応答して、コンテンツアグリゲータサーバ上に実装される制御回路は、コンテンツプロバイダサーバとユーザテレビ機器402との間の直接接続を作成してもよい。直接接続を作成することによって、メディアコンテンツは、ユーザテレビ機器402に転送する前に、メディアコンテンツがコンテンツプロバイダサーバからコンテンツアグリゲータサーバに伝送された場合よりも迅速かつ効率的に、コンテンツプロバイダサーバとユーザテレビ機器402との間で転送されてもよい。
【0035】
いくつかの実施形態では、コンテンツアグリゲータサーバ上に実装される制御回路は、コンテンツプロバイダサーバとユーザテレビ機器402との間の直接接続に応答して、第1の購読サービスと関連付けられるユーザインターフェーススキンを読み出してもよい。例えば、第1の購読サービスと関連付けられるユーザインターフェーススキンは、第1の購読サービスと関連付けられるユーザインターフェースの背景色、フォント、およびメニュー場所等のユーザインターフェース要素の外観を定義してもよい。加えて、インターフェーススキンは、画面上の定義された場所で表示され得る、第1の購読サービスと関連付けられるロゴ、および画面要素の背景色を定義し得る、第1の購読サービスと関連付けられるカラーパレット等の購読サービスによって定義されるブランド特性を含んでもよい。制御回路は、ユーザインターフェーススキンと関連付けられるパラメータを抽出し、パラメータを第2の購読サービスと関連付けられるユーザインターフェーススキンに適用してもよい。
【0036】
いくつかの実施形態では、コンテンツプロバイダサーバ上に実装される制御回路は、コンテンツアグリゲータサーバから、メディアコンテンツ一覧の第1のユーザアカウントを通したユーザ選択を受信してもよい。例えば、コンテンツアグリゲータサーバ上に実装される制御回路は、コンテンツプロバイダサーバ上で利用可能なコンテンツのメディアコンテンツ一覧を読み出すために、コンテンツプロバイダサーバとコンテンツアグリゲータサーバとの間に作成される接続を利用してもよい。次いで、コンテンツアグリゲータサーバ上に実装される制御回路は、ユーザによって作成されるメディアコンテンツ一覧の選択を検出してもよく、ユーザは、コンテンツアグリゲータサーバ上のアカウントと関連付けられる。いったんコンテンツアグリゲータサーバ上に実装される制御回路が選択を受信すると、制御回路は、ユーザによって選択されるメディアコンテンツ一覧に対応するメディアアセットを表示するために生成してもよい。例えば、コンテンツアグリゲータサーバ上に実装される制御回路は、コンテンツプロバイダとコンテンツアグリゲータサーバとの間に作成される接続を使用して、メディアアセットを読み出してもよい。メディアアセットは、ダウンロードを介して、またはストリーミングを介して、読み出されてもよい。
【0037】
上記で説明されるシステムおよび/または方法は、他のシステム、方法および/または装置に適用され得る、またはそれらに従って使用され得ることに留意されたい。本願明細書は、例えば、以下の項目も提供する。
(項目1)
複数の購読サービスにわたって機密情報を管理するための方法であって、
第1の購読サービスと関連付けられるコンテンツプロバイダサーバにおいて、第2の購読サービスと関連付けられるコンテンツアグリゲータサーバから第1の認証キーを受信することであって、前記第1の認証キーは、ユーザが前記第1の購読サービスを購読する前に受信される、ことと、
前記第1の認証キーを第1の複数の容認可能な認証キーと比較し、前記第1の認証キーに基づいて、前記第1の購読サービスのために第1のユーザアカウントを生成するかどうかを判定することと、
前記第1の認証キーが前記第1の複数の容認可能な認証キーのうちの1つに合致することを判定することに応答して、前記コンテンツプロバイダサーバにおいて前記第1のユーザアカウントを生成することと、
前記コンテンツプロバイダサーバにおいて、前記第1のユーザアカウントが前記第1の認証キーに対応することを示すデータベースエントリの中に前記第1のユーザアカウントを記憶することと、
前記第1のユーザアカウントを記憶することに続いて、前記コンテンツプロバイダサーバにおいて、前記ユーザに前記第1の購読サービスを購読させる要求を前記コンテンツアグリゲータサーバから受信することであって、前記要求は、第2の認証キーを含む、ことと、
前記第1の認証キーを前記第2の認証キーと比較することと、
前記第1の認証キーが前記第2の認証キーに合致することを判定することに応答して、前記第1のユーザアカウントの正当性を立証することと、
前記第1のユーザアカウントの正当性を立証することに応答して、前記第1のユーザアカウントを通した前記第1の購読サービスへのアクセスを許可することと
を含む、方法。
(項目2)
前記第1の認証キーは、前記第2の購読サービスによって割り当てられる前記ユーザのためのユーザ名およびパスワードに基づく暗号化キーである、項目1に記載の方法。
(項目3)
第1の複数の容認可能な認証キーは、前記コンテンツアグリゲータサーバから前記コンテンツプロバイダサーバにおいて受信される、項目1に記載の方法。
(項目4)
前記データベースエントリは、前記第1のユーザアカウントへのポインタを含む第1のデータベースフィールドと、前記第1の認証キーを含む第2のデータベースフィールドとを含む、項目1に記載の方法。
(項目5)
前記データベースエントリは、前記第1の購読サービスのための購読規約を含む、第3のデータベースフィールドを含む、項目1に記載の方法。
(項目6)
前記ユーザに前記第1の購読サービスを購読させる前記コンテンツアグリゲータサーバからの前記要求は、前記ユーザが前記コンテンツアグリゲータサーバにおいて前記第2の購読サービスのための購読レベルを選択することに応答して、さらなるユーザ入力を伴わずに前記コンテンツアグリゲータサーバから伝送される、項目1に記載の方法。
(項目7)
前記第1のユーザアカウントの正当性を立証することに応答して、前記コンテンツプロバイダサーバから前記コンテンツアグリゲータサーバに第2の購読サービス確認を伝送することをさらに含む、項目1に記載の方法。
(項目8)
前記コンテンツアグリゲータサーバから、前記第1のユーザアカウントを通して前記第1の購読サービスのメディアコンテンツにアクセスする第2の要求を受信することと、
前記コンテンツアグリゲータサーバから、前記第1のユーザアカウントを通して前記第1の購読サービスのメディアコンテンツにアクセスする前記第2の要求を受信することに応答して、前記コンテンツプロバイダサーバとユーザ機器デバイスとの間の直接接続を作成することと
をさらに含む、項目1に記載の方法。
(項目9)
前記コンテンツプロバイダサーバと前記ユーザ機器デバイスとの間の前記直接接続に応答して、前記第1の購読サービスと関連付けられるユーザインターフェーススキンを読み出すことと、
前記ユーザインターフェーススキンを使用して、メディアコンテンツ一覧を表示するために生成することと
をさらに含む、項目8に記載の方法。
(項目10)
前記コンテンツアグリゲータサーバから、メディアコンテンツ一覧の前記第1のユーザアカウントを通したユーザ選択を受信することと、
前記メディアコンテンツ一覧に対応するメディアアセットを表示するために生成することと
をさらに含む、項目9に記載の方法。
(項目11)
複数の購読サービスにわたって機密情報を管理するためのシステムであって、前記システムは、制御回路を備え、前記制御回路は、
第1の購読サービスと関連付けられるコンテンツプロバイダサーバにおいて、第2の購読サービスと関連付けられるコンテンツアグリゲータサーバから第1の認証キーを受信することであって、前記第1の認証キーは、ユーザが前記第1の購読サービスを購読する前に受信される、ことと、
前記第1の認証キーを第1の複数の容認可能な認証キーと比較し、前記第1の認証キーに基づいて、前記第1の購読サービスのために第1のユーザアカウントを生成するかどうかを判定することと、
前記第1の認証キーが前記第1の複数の容認可能な認証キーのうちの1つに合致することを判定することに応答して、前記コンテンツプロバイダサーバにおいて前記第1のユーザアカウントを生成することと、
前記コンテンツプロバイダサーバにおいて、前記第1のユーザアカウントが前記第1の認証キーに対応することを示すデータベースエントリの中に前記第1のユーザアカウントを記憶することと、
前記第1のユーザアカウントを記憶することに続いて、前記コンテンツプロバイダサーバにおいて、前記ユーザに前記第1の購読サービスを購読させる要求を前記コンテンツアグリゲータサーバから受信することであって、前記要求は、第2の認証キーを含む、ことと、
前記第1の認証キーを前記第2の認証キーと比較することと、
前記第1の認証キーが前記第2の認証キーに合致することを判定することに応答して、前記第1のユーザアカウントの正当性を立証することと、
前記第1のユーザアカウントの正当性を立証することに応答して、前記第1のユーザアカウントを通した前記第1の購読サービスへのアクセスを許可することと
を行うように構成される、システム。
(項目12)
前記第1の認証キーは、前記第2の購読サービスによって割り当てられる前記ユーザのためのユーザ名およびパスワードに基づく暗号化キーである、項目11に記載のシステム。
(項目13)
第1の複数の容認可能な認証キーは、前記コンテンツアグリゲータサーバから前記コンテンツプロバイダサーバにおいて受信される、項目11に記載のシステム。
(項目14)
前記データベースエントリは、前記第1のユーザアカウントへのポインタを含む第1のデータベースフィールドと、前記第1の認証キーを含む第2のデータベースフィールドとを含む、項目11に記載のシステム。
(項目15)
前記データベースエントリは、前記第1の購読サービスのための購読規約を含む、第3のデータベースフィールドを含む、項目11に記載のシステム。
(項目16)
前記ユーザに前記第1の購読サービスを購読させる前記コンテンツアグリゲータサーバからの前記要求は、前記ユーザが前記コンテンツアグリゲータサーバにおいて前記第2の購読サービスのための購読レベルを選択することに応答して、さらなるユーザ入力を伴わずに前記コンテンツアグリゲータサーバから伝送される、項目11に記載のシステム。
(項目17)
前記制御回路はさらに、前記第1のユーザアカウントの正当性を立証することに応答して、前記コンテンツプロバイダサーバから前記コンテンツアグリゲータサーバに第2の購読サービス確認を伝送するように構成される、項目11に記載のシステム。
(項目18)
前記制御回路はさらに、
前記コンテンツアグリゲータサーバから、前記第1のユーザアカウントを通して前記第1の購読サービスのメディアコンテンツにアクセスする第2の要求を受信することと、
前記コンテンツアグリゲータサーバから、前記第1のユーザアカウントを通して前記第1の購読サービスのメディアコンテンツにアクセスする前記第2の要求を受信することに応答して、前記コンテンツプロバイダサーバとユーザ機器デバイスとの間の直接接続を作成することと
を行うように構成される、項目11に記載のシステム。
(項目19)
前記制御回路はさらに、
前記コンテンツプロバイダサーバと前記ユーザ機器デバイスとの間の前記直接接続に応答して、前記第1の購読サービスと関連付けられるユーザインターフェーススキンを読み出すことと、
前記ユーザインターフェーススキンを使用して、メディアコンテンツ一覧を表示するために生成することと
を行うように構成される、項目18に記載のシステム。
(項目20)
前記制御回路はさらに、
前記コンテンツアグリゲータサーバから、メディアコンテンツ一覧の前記第1のユーザアカウントを通したユーザ選択を受信することと、
前記メディアコンテンツ一覧に対応するメディアアセットを表示するために生成することと
を行うように構成される、項目19に記載のシステム。
(項目21)
複数の購読サービスにわたって機密情報を管理するためのシステムであって、
第1の購読サービスと関連付けられるコンテンツプロバイダサーバにおいて、第2の購読サービスと関連付けられるコンテンツアグリゲータサーバから第1の認証キーを受信するための手段であって、前記第1の認証キーは、ユーザが前記第1の購読サービスを購読する前に受信される、手段と、
前記第1の認証キーを第1の複数の容認可能な認証キーと比較し、前記第1の認証キーに基づいて、前記第1の購読サービスのために第1のユーザアカウントを生成するかどうかを判定するための手段と、
前記第1の認証キーが前記第1の複数の容認可能な認証キーのうちの1つに合致することを判定することに応答して、前記コンテンツプロバイダサーバにおいて前記第1のユーザアカウントを生成するための手段と、
前記コンテンツプロバイダサーバにおいて、前記第1のユーザアカウントが前記第1の認証キーに対応することを示すデータベースエントリの中に前記第1のユーザアカウントを記憶するための手段と、
前記第1のユーザアカウントを記憶することに続いて、前記コンテンツプロバイダサーバにおいて、前記ユーザに前記第1の購読サービスを購読させる要求を前記コンテンツアグリゲータサーバから受信するための手段であって、前記要求は、第2の認証キーを含む、手段と、
前記第1の認証キーを前記第2の認証キーと比較するための手段と、
前記第1の認証キーが前記第2の認証キーに合致することを判定することに応答して、前記第1のユーザアカウントの正当性を立証するための手段と、
前記第1のユーザアカウントの正当性を立証することに応答して、前記第1のユーザアカウントを通した前記第1の購読サービスへのアクセスを許可するための手段と
を備える、システム。
(項目22)
前記第1の認証キーは、前記第2の購読サービスによって割り当てられる前記ユーザのためのユーザ名およびパスワードに基づく暗号化キーである、項目21に記載のシステム。
(項目23)
第1の複数の容認可能な認証キーは、前記コンテンツアグリゲータサーバから前記コンテンツプロバイダサーバにおいて受信される、項目21に記載のシステム。
(項目24)
前記データベースエントリは、前記第1のユーザアカウントへのポインタを含む第1のデータベースフィールドと、前記第1の認証キーを含む第2のデータベースフィールドとを含む、項目21に記載のシステム。
(項目25)
前記データベースエントリは、前記第1の購読サービスのための購読規約を含む、第3のデータベースフィールドを含む、項目21に記載のシステム。
(項目26)
前記ユーザに前記第1の購読サービスを購読させる前記コンテンツアグリゲータサーバからの前記要求は、前記ユーザが前記コンテンツアグリゲータサーバにおいて前記第2の購読サービスのための購読レベルを選択することに応答して、さらなるユーザ入力を伴わずに前記コンテンツアグリゲータサーバから伝送される、項目21に記載のシステム。
(項目27)
前記第1のユーザアカウントの正当性を立証することに応答して、前記コンテンツプロバイダサーバから前記コンテンツアグリゲータサーバに第2の購読サービス確認を伝送するための手段をさらに備える、項目21に記載のシステム。
(項目28)
前記コンテンツアグリゲータサーバから、前記第1のユーザアカウントを通して前記第1の購読サービスのメディアコンテンツにアクセスする第2の要求を受信するための手段と、
前記コンテンツアグリゲータサーバから、前記第1のユーザアカウントを通して前記第1の購読サービスのメディアコンテンツにアクセスする前記第2の要求を受信することに応答して、前記ユーザ機器デバイスとコンテンツアグリゲータサーバとの間の直接接続を作成するための手段と
をさらに備える、項目21に記載のシステム。
(項目29)
前記コンテンツプロバイダサーバと前記ユーザ機器デバイスとの間の前記直接接続に応答して、前記第1の購読サービスと関連付けられるユーザインターフェーススキンを読み出すための手段と、
前記ユーザインターフェーススキンを使用して、メディアコンテンツ一覧を表示するために生成するための手段と
をさらに備える、項目28に記載のシステム。
(項目30)
前記コンテンツアグリゲータサーバから、メディアコンテンツ一覧の前記第1のユーザアカウントを通したユーザ選択を受信するための手段と、
前記メディアコンテンツ一覧に対応するメディアアセットを表示するために生成するための手段と
をさらに備える、項目29に記載のシステム。
(項目31)
複数の購読サービスにわたって機密情報を管理するための方法であって、
第1の購読サービスと関連付けられるコンテンツプロバイダサーバにおいて、第2の購読サービスと関連付けられるコンテンツアグリゲータサーバから第1の認証キーを受信することであって、前記第1の認証キーは、ユーザが前記第1の購読サービスを購読する前に受信される、ことと、
第1の複数の容認可能な認証キーを読み出すことと、
前記第1の認証キーを前記第1の複数の容認可能な認証キーと比較し、前記第1の認証キーに基づいて、前記第1の購読サービスのために第1のユーザアカウントを生成するかどうかを判定することと、
前記第1の認証キーが前記第1の複数の容認可能な認証キーのうちの1つに合致することを判定することに応答して、前記コンテンツプロバイダサーバにおいて前記第1のユーザアカウントを生成することと、
前記コンテンツプロバイダサーバにおいて、前記第1のユーザアカウントが前記第1の認証キーに対応することを示すデータベースエントリの中に前記第1のユーザアカウントを記憶することと、
前記第1のユーザアカウントを記憶することに続いて、前記コンテンツプロバイダサーバにおいて、前記ユーザに前記第1の購読サービスを購読させる要求を前記コンテンツアグリゲータサーバから受信することであって、前記要求は、第2の認証キーを含む、ことと、
前記第1の認証キーを前記第2の認証キーと比較することと、
前記第1の認証キーが前記第2の認証キーに合致することを判定することに応答して、前記第1のユーザアカウントの正当性を立証することと、
前記第1のユーザアカウントの正当性を立証することに応答して、前記第1のユーザアカウントを通した前記第1の購読サービスへのアクセスを許可することと
を含む、方法。
(項目32)
前記第1の認証キーは、前記第2の購読サービスによって割り当てられる前記ユーザのためのユーザ名およびパスワードに基づく暗号化キーである、項目31に記載の方法。
(項目33)
第1の複数の容認可能な認証キーは、前記コンテンツアグリゲータサーバから前記コンテンツプロバイダサーバにおいて受信される、項目31-32のいずれかに記載の方法。
(項目34)
前記データベースエントリは、前記第1のユーザアカウントへのポインタを含む第1のデータベースフィールドと、前記第1の認証キーを含む第2のデータベースフィールドとを含む、項目31-33のいずれかに記載の方法。
(項目35)
前記データベースエントリは、前記第1の購読サービスのための購読規約を含む、第3のデータベースフィールドを含む、項目31-34のいずれかに記載の方法。
(項目36)
前記ユーザに前記第1の購読サービスを購読させる前記コンテンツアグリゲータサーバからの前記要求は、前記ユーザが前記コンテンツアグリゲータサーバにおいて前記第2の購読サービスのための購読レベルを選択することに応答して、さらなるユーザ入力を伴わずに前記コンテンツアグリゲータサーバから伝送される、項目31-35のいずれかに記載の方法。
(項目37)
前記第1のユーザアカウントの正当性を立証することに応答して、前記コンテンツプロバイダサーバから前記コンテンツアグリゲータサーバに第2の購読サービス確認を伝送することをさらに含む、項目31-36のいずれかに記載の方法。
(項目38)
前記コンテンツアグリゲータサーバから、前記第1のユーザアカウントを通して前記第1の購読サービスのメディアコンテンツにアクセスする第2の要求を受信することと、
前記コンテンツアグリゲータサーバから、前記第1のユーザアカウントを通して前記第1の購読サービスのメディアコンテンツにアクセスする前記第2の要求を受信することに応答して、前記コンテンツプロバイダサーバとユーザ機器デバイスとの間の直接接続を作成することと
をさらに含む、項目31-37のいずれかに記載の方法。
(項目39)
前記コンテンツプロバイダサーバと前記ユーザ機器デバイスとの間の前記直接接続に応答して、前記第1の購読サービスと関連付けられるユーザインターフェーススキンを読み出すことと、
前記ユーザインターフェーススキンを使用して、メディアコンテンツ一覧を表示するために生成することと
をさらに含む、項目31-38のいずれかに記載の方法。
(項目40)
前記コンテンツアグリゲータサーバから、メディアコンテンツ一覧の前記第1のユーザアカウントを通したユーザ選択を受信することと、
前記メディアコンテンツ一覧に対応するメディアアセットを表示するために生成することと
をさらに含む、項目31-39のいずれかに記載の方法。
(項目41)
複数の購読サービスにわたって機密情報を管理するためのその上に記録された命令を有する、非一過性のコンピュータ可読媒体であって、前記命令は、
第1の購読サービスと関連付けられるコンテンツプロバイダサーバにおいて、第2の購読サービスと関連付けられるコンテンツアグリゲータサーバから第1の認証キーを受信する命令であって、前記第1の認証キーは、ユーザが前記第1の購読サービスを購読する前に受信される、命令と、
前記第1の認証キーを第1の複数の容認可能な認証キーと比較し、前記第1の認証キーに基づいて、前記第1の購読サービスのために第1のユーザアカウントを生成するかどうかを判定する命令と、
前記第1の認証キーが前記第1の複数の容認可能な認証キーのうちの1つに合致することを判定することに応答して、前記コンテンツプロバイダサーバにおいて前記第1のユーザアカウントを生成する命令と、
前記コンテンツプロバイダサーバにおいて、前記第1のユーザアカウントが前記第1の認証キーに対応することを示すデータベースエントリの中に前記第1のユーザアカウントを記憶する命令と、
前記第1のユーザアカウントを記憶することに続いて、前記コンテンツプロバイダサーバにおいて、前記ユーザに前記第1の購読サービスを購読させる要求を前記コンテンツアグリゲータサーバから受信する命令であって、前記要求は、第2の認証キーを含む、命令と、
前記第1の認証キーを前記第2の認証キーと比較する命令と、
前記第1の認証キーが前記第2の認証キーに合致することを判定することに応答して、前記第1のユーザアカウントの正当性を立証する命令と、
前記第1のユーザアカウントの正当性を立証することに応答して、前記第1のユーザアカウントを通した前記第1の購読サービスへのアクセスを許可する命令と
を備える、非一過性のコンピュータ可読媒体。
(項目42)
前記第1の認証キーは、前記第2の購読サービスによって割り当てられる前記ユーザのためのユーザ名およびパスワードに基づく暗号化キーである、項目41に記載の非一過性のコンピュータ可読媒体。
(項目43)
第1の複数の容認可能な認証キーは、前記コンテンツアグリゲータサーバから前記コンテンツプロバイダサーバにおいて受信される、項目41に記載の非一過性のコンピュータ可読媒体。
(項目44)
前記データベースエントリは、前記第1のユーザアカウントへのポインタを含む第1のデータベースフィールドと、前記第1の認証キーを含む第2のデータベースフィールドとを含む、項目41に記載の非一過性のコンピュータ可読媒体。
(項目45)
前記データベースエントリは、前記第1の購読サービスのための購読規約を含む、第3のデータベースフィールドを含む、項目41に記載の非一過性のコンピュータ可読媒体。
(項目46)
前記ユーザに前記第1の購読サービスを購読させる前記コンテンツアグリゲータサーバからの前記要求は、前記ユーザが前記コンテンツアグリゲータサーバにおいて前記第2の購読サービスのための購読レベルを選択することに応答して、さらなるユーザ入力を伴わずに前記コンテンツアグリゲータサーバから伝送される、項目41に記載の非一過性のコンピュータ可読媒体。
(項目47)
前記第1のユーザアカウントの正当性を立証することに応答して、前記コンテンツプロバイダサーバから前記コンテンツアグリゲータサーバに第2の購読サービス確認を伝送する命令をさらに備える、項目41に記載の非一過性のコンピュータ可読媒体。
(項目48)
前記命令はさらに、
前記コンテンツアグリゲータサーバから、前記第1のユーザアカウントを通して前記第1の購読サービスのメディアコンテンツにアクセスする第2の要求を受信する命令と、
前記コンテンツアグリゲータサーバから、前記第1のユーザアカウントを通して前記第1の購読サービスのメディアコンテンツにアクセスする前記第2の要求を受信することに応答して、前記コンテンツプロバイダサーバとユーザ機器デバイスとの間の直接接続を作成する命令と
を備える、項目41に記載の非一過性のコンピュータ可読媒体。
(項目49)
前記命令はさらに、
前記コンテンツプロバイダサーバと前記ユーザ機器デバイスとの間の前記直接接続に応答して、前記第1の購読サービスと関連付けられるユーザインターフェーススキンを読み出す命令と、
前記ユーザインターフェーススキンを使用して、メディアコンテンツ一覧を表示するために生成する命令と
を備える、項目48に記載の非一過性のコンピュータ可読媒体。
(項目50)
前記命令はさらに、
前記コンテンツアグリゲータサーバから、メディアコンテンツ一覧の前記第1のユーザアカウントを通したユーザ選択を受信する命令と、
前記メディアコンテンツ一覧に対応するメディアアセットを表示するために生成する命令と
をさらに備える、項目49に記載の非一過性のコンピュータ可読媒体。
(項目51)
購読サービスからのコンテンツストリームの数を増加させるかどうかをユーザに推奨する方法であって、
前記購読サービスから異なるデバイスにメディアを同時にストリーミングする要求の数が、前記購読サービスから前記ユーザに利用可能なストリームの数を超える、複数のインスタンスを検出することと、
複数のタイムスタンプがそれぞれ、前記複数のインスタンスのうちの1つに対応する、前記複数のタイムスタンプを生成することと、
前記複数のタイムスタンプのそれぞれを、前記購読サービスのための購読期間に対応するタイムスタンプの範囲と比較し、前記購読期間中に起こった前記複数のインスタンスの数を判定することと、
サーバにおいて、前記購読期間中に起こった前記複数のインスタンスの前記数を前記購読期間の閾値数と比較することと、
前記購読期間中に起こった前記複数のインスタンスの前記数が前記購読期間の前記閾値数を超えることを判定することに応答して、前記サーバから前記異なるデバイスのうちの1つにメッセージを伝送することと
を含む、方法。
(項目52)
前記購読期間の時間の長さに基づいて、複数の潜在的閾値数から前記購読期間の前記閾値数を選択することをさらに含む、項目51に記載の方法。
(項目53)
前記購読サービスから前記ユーザに利用可能な前記ストリームの数に基づいて、複数の潜在的閾値数から前記購読期間の前記閾値数を選択することをさらに含む、項目51に記載の方法。
(項目54)
前記複数のタイムスタンプのそれぞれを、前記購読サービスのための購読期間の一部に対応するタイムスタンプの範囲と比較し、前記購読期間の前記一部の間に起こった前記複数のインスタンスの数を判定することと、
前記サーバにおいて、前記購読期間の前記一部の間に起こった前記複数のインスタンスの前記数を前記購読期間の前記一部の閾値数と比較することと、
前記購読期間の前記一部の間に起こった前記複数のインスタンスの前記数が前記購読期間の前記一部の前記閾値数を超えることを判定することに応答して、前記サーバから前記異なるデバイスのうちの1つへの前記メッセージを修正することと
をさらに含む、項目51に記載の方法。
(項目55)
前記購読期間の時間の長さに基づいて、複数の潜在的閾値数から前記購読期間の前記一部の前記閾値数を選択することをさらに含む、項目54に記載の方法。
(項目56)
前記購読サービスから前記ユーザに利用可能な前記ストリームの数に基づいて、複数の潜在的閾値数から前記購読期間の前記一部の前記閾値数を選択することをさらに含む、項目54に記載の方法。
(項目57)
前記購読期間の前記一部に対応する日付に基づいて、複数の潜在的閾値数から前記購読期間の前記一部の前記閾値数を選択することをさらに含む、項目54に記載の方法。
(項目58)
前記購読期間の前記一部に対応する時刻に基づいて、複数の潜在的閾値数から前記購読期間の前記一部の前記閾値数を選択することをさらに含む、項目54に記載の方法。
(項目59)
前記購読期間の前記一部の間に前記購読サービスから利用可能になったメディアアセットの数に基づいて、複数の潜在的閾値数から前記購読期間の前記一部の前記閾値数を選択することをさらに含む、項目54に記載の方法。
(項目60)
前記メッセージは、前記複数のインスタンスの頻度を低減させるための推奨を含む、項目51に記載の方法。
(項目61)
購読サービスからのコンテンツストリームの数を増加させるかどうかをユーザに推奨するシステムであって、前記システムは、制御回路を備え、前記制御回路は、
前記購読サービスから異なるデバイスにメディアを同時にストリーミングする要求の数が、前記購読サービスから前記ユーザに利用可能なストリームの数を超える、複数のインスタンスを検出することと、
複数のタイムスタンプがそれぞれ、前記複数のインスタンスのうちの1つに対応する、前記複数のタイムスタンプを生成することと、
前記複数のタイムスタンプのそれぞれを、前記購読サービスのための購読期間に対応するタイムスタンプの範囲と比較し、前記購読期間中に起こった前記複数のインスタンスの数を判定することと、
サーバにおいて、前記購読期間中に起こった前記複数のインスタンスの前記数を前記購読期間の閾値数と比較することと、
前記購読期間中に起こった前記複数のインスタンスの前記数が前記購読期間の前記閾値数を超えることを判定することに応答して、前記サーバから前記異なるデバイスのうちの1つにメッセージを伝送することと
を行うように構成される、システム。
(項目62)
前記制御回路はさらに、前記購読期間の時間の長さに基づいて、複数の潜在的閾値数から前記購読期間の前記閾値数を選択するように構成される、項目61に記載のシステム。
(項目63)
前記制御回路はさらに、前記購読サービスから前記ユーザに利用可能な前記ストリームの数に基づいて、複数の潜在的閾値数から前記購読期間の前記閾値数を選択するように構成される、項目61に記載のシステム。
(項目64)
前記制御回路はさらに、
前記複数のタイムスタンプのそれぞれを、前記購読サービスのための購読期間の一部に対応するタイムスタンプの範囲と比較し、前記購読期間の前記一部の間に起こった前記複数のインスタンスの数を判定することと、
前記サーバにおいて、前記購読期間の前記一部の間に起こった前記複数のインスタンスの前記数を前記購読期間の前記一部の閾値数と比較することと、
前記購読期間の前記一部の間に起こった前記複数のインスタンスの前記数が前記購読期間の前記一部の前記閾値数を超えることを判定することに応答して、前記サーバから前記異なるデバイスのうちの1つへの前記メッセージを修正することと
を行うように構成される、項目61に記載のシステム。
(項目65)
前記制御回路はさらに、前記購読期間の時間の長さに基づいて、複数の潜在的閾値数から前記購読期間の前記一部の前記閾値数を選択するように構成される、項目64に記載のシステム。
(項目66)
前記制御回路はさらに、前記購読サービスから前記ユーザに利用可能な前記ストリームの数に基づいて、複数の潜在的閾値数から前記購読期間の前記一部の前記閾値数を選択するように構成される、項目64に記載のシステム。
(項目67)
前記制御回路はさらに、前記購読期間の前記一部に対応する日付に基づいて、複数の潜在的閾値数から前記購読期間の前記一部の前記閾値数を選択するように構成される、項目64に記載のシステム。
(項目68)
前記制御回路はさらに、前記購読期間の前記一部に対応する時刻に基づいて、複数の潜在的閾値数から前記購読期間の前記一部の前記閾値数を選択するように構成される、項目64に記載のシステム。
(項目69)
前記制御回路はさらに、前記購読期間の前記一部の間に前記購読サービスから利用可能になったメディアアセットの数に基づいて、複数の潜在的閾値数から前記購読期間の前記一部の前記閾値数を選択するように構成される、項目64に記載のシステム。
(項目70)
前記メッセージは、前記複数のインスタンスの頻度を低減させるための推奨を含む、項目61に記載のシステム。
(項目71)
購読サービスからのコンテンツストリームの数を増加させるかどうかをユーザに推奨するシステムであって、
前記購読サービスから異なるデバイスにメディアを同時にストリーミングする要求の数が、前記購読サービスから前記ユーザに利用可能なストリームの数を超える、複数のインスタンスを検出するための手段と、
複数のタイムスタンプがそれぞれ、前記複数のインスタンスのうちの1つに対応する、前記複数のタイムスタンプを生成するための手段と、
前記複数のタイムスタンプのそれぞれを、前記購読サービスのための購読期間に対応するタイムスタンプの範囲と比較し、前記購読期間中に起こった前記複数のインスタンスの数を判定するための手段と、
サーバにおいて、前記購読期間中に起こった前記複数のインスタンスの前記数を前記購読期間の閾値数と比較するための手段と、
前記購読期間中に起こった前記複数のインスタンスの前記数が前記購読期間の前記閾値数を超えることを判定することに応答して、前記サーバから前記異なるデバイスのうちの1つにメッセージを伝送するための手段と
を備える、システム。
(項目72)
前記購読期間の時間の長さに基づいて、複数の潜在的閾値数から前記購読期間の前記閾値数を選択するための手段をさらに備える、項目71に記載のシステム。
(項目73)
前記購読サービスから前記ユーザに利用可能な前記ストリームの数に基づいて、複数の潜在的閾値数から前記購読期間の前記閾値数を選択するための手段をさらに備える、項目71に記載のシステム。
(項目74)
前記複数のタイムスタンプのそれぞれを、前記購読サービスのための購読期間の一部に対応するタイムスタンプの範囲と比較し、前記購読期間の前記一部の間に起こった前記複数のインスタンスの数を判定するための手段と、
前記サーバにおいて、前記購読期間の前記一部の間に起こった前記複数のインスタンスの前記数を前記購読期間の前記一部の閾値数と比較するための手段と、
前記購読期間の前記一部の間に起こった前記複数のインスタンスの前記数が前記購読期間の前記一部の前記閾値数を超えることを判定することに応答して、前記サーバから前記異なるデバイスのうちの1つへの前記メッセージを修正するための手段と
をさらに備える、項目71に記載のシステム。
(項目75)
前記購読期間の時間の長さに基づいて、複数の潜在的閾値数から前記購読期間の前記一部の前記閾値数を選択するための手段をさらに備える、項目74に記載のシステム。
(項目76)
前記購読サービスから前記ユーザに利用可能な前記ストリームの数に基づいて、複数の潜在的閾値数から前記購読期間の前記一部の前記閾値数を選択するための手段をさらに備える、項目74に記載のシステム。
(項目77)
前記購読期間の前記一部に対応する日付に基づいて、複数の潜在的閾値数から前記購読期間の前記一部の前記閾値数を選択するための手段をさらに備える、項目74に記載のシステム。
(項目78)
前記購読期間の前記一部に対応する時刻に基づいて、複数の潜在的閾値数から前記購読期間の前記一部の前記閾値数を選択するための手段をさらに備える、項目74に記載のシステム。
(項目79)
前記購読期間の前記一部の間に前記購読サービスから利用可能になったメディアアセットの数に基づいて、複数の潜在的閾値数から前記購読期間の前記一部の前記閾値数を選択するための手段をさらに備える、項目74に記載のシステム。
(項目80)
前記メッセージは、前記複数のインスタンスの頻度を低減させるための推奨を含む、項目71に記載のシステム。
(項目81)
購読サービスからのコンテンツストリームの数を増加させるかどうかをユーザに推奨する方法であって、
前記購読サービスから異なるデバイスにメディアを同時にストリーミングする要求の数が、前記購読サービスから前記ユーザに利用可能なストリームの数を超える、複数のインスタンスを検出することと、
複数のタイムスタンプがそれぞれ、前記複数のインスタンスのうちの1つに対応する、前記複数のタイムスタンプを生成することと、
前記複数のタイムスタンプのそれぞれを、前記購読サービスのための購読期間に対応するタイムスタンプの範囲と比較し、前記購読期間中に起こった前記複数のインスタンスの数を判定することと、
サーバにおいて、前記購読期間中に起こった前記複数のインスタンスの前記数を前記購読期間の閾値数と比較することと、
前記サーバにおいてメッセージを生成することと、
前記購読期間中に起こった前記複数のインスタンスの前記数が前記購読期間の前記閾値数を超えることを判定することに応答して、前記サーバから前記異なるデバイスのうちの1つに前記メッセージを伝送することと
を含む、方法。
(項目82)
前記購読期間の時間の長さに基づいて、複数の潜在的閾値数から前記購読期間の前記閾値数を選択することをさらに含む、項目81に記載の方法。
(項目83)
前記購読サービスから前記ユーザに利用可能な前記ストリームの数に基づいて、複数の潜在的閾値数から前記購読期間の前記閾値数を選択することをさらに含む、項目81-82のいずれかに記載の方法。
(項目84)
前記複数のタイムスタンプのそれぞれを、前記購読サービスのための購読期間の一部に対応するタイムスタンプの範囲と比較し、前記購読期間の前記一部の間に起こった前記複数のインスタンスの数を判定することと、
前記サーバにおいて、前記購読期間の前記一部の間に起こった前記複数のインスタンスの前記数を前記購読期間の前記一部の閾値数と比較することと、
前記購読期間の前記一部の間に起こった前記複数のインスタンスの前記数が前記購読期間の前記一部の前記閾値数を超えることを判定することに応答して、前記サーバから前記異なるデバイスのうちの1つへの前記メッセージを修正することと
をさらに含む、項目81-83のいずれかに記載の方法。
(項目85)
前記購読期間の時間の長さに基づいて、複数の潜在的閾値数から前記購読期間の前記一部の前記閾値数を選択することをさらに含む、項目81-84のいずれかに記載の方法。
(項目86)
前記購読サービスから前記ユーザに利用可能な前記ストリームの数に基づいて、複数の潜在的閾値数から前記購読期間の前記一部の前記閾値数を選択することをさらに含む、項目81-85のいずれかに記載の方法。
(項目87)
前記購読期間の前記一部に対応する日付に基づいて、複数の潜在的閾値数から前記購読期間の前記一部の前記閾値数を選択することをさらに含む、項目81-86のいずれかに記載の方法。
(項目88)
前記購読期間の前記一部に対応する時刻に基づいて、複数の潜在的閾値数から前記購読期間の前記一部の前記閾値数を選択することをさらに含む、項目81-87のいずれかに記載の方法。
(項目89)
前記購読期間の前記一部の間に前記購読サービスから利用可能になったメディアアセットの数に基づいて、複数の潜在的閾値数から前記購読期間の前記一部の前記閾値数を選択することをさらに含む、項目81-88のいずれかに記載の方法。
(項目90)
前記メッセージは、前記複数のインスタンスの頻度を低減させるための推奨を含む、項目81-89のいずれかに記載の方法。
(項目91)
購読サービスからのコンテンツストリームの数を増加させるかどうかをユーザに推奨するためのその上に記録された命令を有する、非一過性のコンピュータ可読媒体であって、前記命令は、
前記購読サービスから異なるデバイスにメディアを同時にストリーミングする要求の数が、前記購読サービスから前記ユーザに利用可能なストリームの数を超える、複数のインスタンスを検出する命令と、
複数のタイムスタンプがそれぞれ、前記複数のインスタンスのうちの1つに対応する、前記複数のタイムスタンプを生成する命令と、
前記複数のタイムスタンプのそれぞれを、前記購読サービスのための購読期間に対応するタイムスタンプの範囲と比較し、前記購読期間中に起こった前記複数のインスタンスの数を判定する命令と、
サーバにおいて、前記購読期間中に起こった前記複数のインスタンスの前記数を前記購読期間の閾値数と比較する命令と、
前記購読期間中に起こった前記複数のインスタンスの前記数が前記購読期間の前記閾値数を超えることを判定することに応答して、前記サーバから前記異なるデバイスのうちの1つにメッセージを伝送する命令と
を備える、非一過性のコンピュータ可読媒体。
(項目92)
前記購読期間の時間の長さに基づいて、複数の潜在的閾値数から前記購読期間の前記閾値数を選択する命令をさらに備える、項目91に記載の非一過性のコンピュータ可読媒体。
(項目93)
前記購読サービスから前記ユーザに利用可能な前記ストリームの数に基づいて、複数の潜在的閾値数から前記購読期間の前記閾値数を選択する命令をさらに備える、項目91に記載の非一過性のコンピュータ可読媒体。
(項目94)
前記命令はさらに、
前記複数のタイムスタンプのそれぞれを、前記購読サービスのための購読期間の一部に対応するタイムスタンプの範囲と比較し、前記購読期間の前記一部の間に起こった前記複数のインスタンスの数を判定する命令と、
前記サーバにおいて、前記購読期間の前記一部の間に起こった前記複数のインスタンスの前記数を前記購読期間の前記一部の閾値数と比較する命令と、
前記購読期間の前記一部の間に起こった前記複数のインスタンスの前記数が前記購読期間の前記一部の前記閾値数を超えることを判定することに応答して、前記サーバから前記異なるデバイスのうちの1つへの前記メッセージを修正する命令と
を備える、項目91に記載の非一過性のコンピュータ可読媒体。
(項目95)
前記購読期間の時間の長さに基づいて、複数の潜在的閾値数から前記購読期間の前記一部の前記閾値数を選択する命令をさらに備える、項目94に記載の非一過性のコンピュータ可読媒体。
(項目96)
前記購読サービスから前記ユーザに利用可能な前記ストリームの数に基づいて、複数の潜在的閾値数から前記購読期間の前記一部の前記閾値数を選択する命令をさらに備える、項目94に記載の非一過性のコンピュータ可読媒体。
(項目97)
前記購読期間の前記一部に対応する日付に基づいて、複数の潜在的閾値数から前記購読期間の前記一部の前記閾値数を選択する命令をさらに備える、項目94に記載の非一過性のコンピュータ可読媒体。
(項目98)
前記購読期間の前記一部に対応する時刻に基づいて、複数の潜在的閾値数から前記購読期間の前記一部の前記閾値数を選択する命令をさらに備える、項目94に記載の非一過性のコンピュータ可読媒体。
(項目99)
前記購読期間の前記一部の間に前記購読サービスから利用可能になったメディアアセットの数に基づいて、複数の潜在的閾値数から前記購読期間の前記一部の前記閾値数を選択する命令をさらに備える、項目94に記載の非一過性のコンピュータ可読媒体。
(項目100)
前記メッセージは、前記複数のインスタンスの頻度を低減させるための推奨を含む、項目91に記載の非一過性のコンピュータ可読媒体。
【図面の簡単な説明】
【0038】
本開示の上記および他の目的および利点は、類似参照文字が全体を通して類似部品を指す、添付図面と併せて解釈される、以下の詳細な説明を考慮することによって明白となるであろう。
【0039】
【
図1】
図1は、本開示のいくつかの実施形態による、メディアガイドアプリケーションによって生成される、表示画面の例証的実施例を示す。
【
図2】
図2は、本開示のいくつかの実施形態による、メディアガイドアプリケーションによって生成される、コンテンツアグリゲータ表示画面の別の例証的実施例を示す。
【
図3】
図3は、本開示のいくつかの実施形態による、例証的デバイスのブロック図である。
【
図4】
図4は、本開示のいくつかの実施形態による、例証的メディアシステムのブロック図である。
【
図5】
図5は、本開示のいくつかの実施形態による、購読期間内のインスタンスの数を判定するための例証的ステップのフローチャートである。
【
図6】
図6は、本開示のいくつかの実施形態による、購読期間内のインスタンスの数を判定するための例証的ステップの擬似コードである。
【
図7】
図7は、本開示のいくつかの実施形態による、購読期間の一部内のインスタンスの数を判定するための例証的ステップのフローチャートである。
【
図8】
図8は、本開示のいくつかの実施形態による、購読期間の一部内のインスタンスの数を判定するための例証的ステップの擬似コードである。
【
図9】
図9は、本開示のいくつかの実施形態による、インスタンスの数がある数を超えるときにメッセージをデバイスに伝送することに関与する例証的ステップのフローチャートである。
【
図10】
図10は、本開示のいくつかの実施形態による、コンテンツアグリゲータサーバから第1の認証キーを受信することに基づいて、コンテンツプロバイダサーバ上でアカウントを生成するための例証的ステップのフローチャートである。
【
図11】
図11は、本開示のいくつかの実施形態による、コンテンツアグリゲータサーバから第1の認証キーを受信することに基づいて、コンテンツプロバイダサーバ上でアカウントを生成するための例証的ステップの擬似コードである。
【
図12】
図12は、本開示のいくつかの実施形態による、コンテンツアグリゲータサーバからの要求に基づいて第1のユーザアカウントの正当性を立証するための例証的ステップのフローチャートである。
【
図13】
図13は、本開示のいくつかの実施形態による、コンテンツアグリゲータサーバからの要求に基づいて第1のユーザアカウントの正当性を立証するための例証的ステップの擬似コードである。
【
図14】
図14は、本開示のいくつかの実施形態による、第1の購読サービス上で第1のユーザアカウントを生成し、正当性を立証することに関与する例証的ステップのフローチャートである。
【発明を実施するための形態】
【0040】
購読サービスから異なるデバイスにメディアを同時にストリーミングする要求の数が利用可能なストリームの数を超える、インスタンスの数を検出するため、かつインスタンスの数がある数を超えるときにメッセージをデバイスのうちの1つに伝送するための方法およびシステムが、本明細書に開示される。例えば、制御回路は、購読期間中に、メディアを同時にストリーミングする要求の数が購読サービスからユーザに利用可能である利用可能なストリームの数を超える、12のインスタンスがあることを判定する。さらに、制御回路は、メディアを同時にストリーミングする要求の数が購読サービスからユーザに利用可能である利用可能なストリームの数を超える、インスタンスの数が、閾値数である8回を超えたことを判定してもよく、応答して、制御回路は、付加的ストリームが購入のために利用可能であることを示すメッセージをデバイスのうちの1つに伝送する。
【0041】
本明細書で使用されるように、用語「インスタンス」は、特定の瞬間に対応すると理解されたい。例えば、インスタンスは、日付および時間によって定義されるタイムスタンプ等の特定のタイムスタンプに対応する。
【0042】
本明細書で使用されるように、用語「購読サービス」は、ユーザがメディアコンテンツにアクセスするために購読する、任意の製品またはサービスを指すと理解されたい。例えば、ユーザは、テレビシリーズ(例えば、「The Simpsons」)にアクセスするように、オンライン購読サービス(例えば、Hulu)を購読する。ユーザは、コンテンツ購読を購入することによって、購読サービスによって提供されるメディアコンテンツにアクセスすることが可能であり得る。「購読サービス」を通してコンテンツへのアクセスを提供するエンティティは、本明細書では「コンテンツプロバイダ」と称される。用語「コンテンツプロバイダサーバ」は、メディアコンテンツへのアクセスをユーザ機器に提供するためにコンテンツプロバイダによって使用される、任意のネットワーク化デバイスを指す。
【0043】
他の購読サービスから利用可能なメディアコンテンツへのアクセスを提供する製品またはサービスは、本明細書では「コンテンツアグリゲータ購読」と称される。コンテンツアグリゲータ購読を提供するエンティティは、本明細書では「コンテンツアグリゲータ」と称される。用語「コンテンツアグリゲータサーバ」は、コンテンツプロバイダから利用可能なコンテンツに関するデータを収集して提供するため、およびユーザ機器へのそのようなコンテンツへのアクセスを促進するために、コンテンツアグリゲータによって使用される、任意のネットワーク化デバイスを指す。
【0044】
本明細書で使用されるように、用語「アカウント」は、ユーザと関連付けられ、購読サービスのデータベースの中に記憶されたデータを指すと理解されたい。購読サービスは、アカウントの中に記憶されたデータを通してユーザを認証することによって、ユーザがメディアコンテンツにアクセスすることを可能にする。加えて、アカウントは、ユーザの名前、パスワード、クレジットカード情報、視聴選好、および購読設定を列挙する情報を含んでもよい。有効ユーザアカウントが、メディアコンテンツにアクセスするためにユーザによって使用されてもよい一方で、まだ正当性を立証されていないアカウントは、メディアコンテンツにアクセスするためにユーザによって使用されない場合がある。
【0045】
本明細書で使用されるように、「認証キー」は、アルゴリズムによって解読され得るデータを指すと理解されたい。例えば、ユーザのユーザ名およびパスワードは、コンテンツアグリゲータサーバ上で暗号化されてもよい。結果として生じたデータは、次いで、コンテンツプロバイダサーバに転送され得る、認証キーを構成してもよい。コンテンツプロバイダサーバは、第1のキーを解読するために必要な情報を含有してもよい。
【0046】
本明細書で使用されるように、用語「購読期間」は、その間に購読サービスのユーザが購読サービスによって提供されるメディアコンテンツにアクセスできる、連続時間期間を指すと理解されたい。例えば、購読期間は、購読サービスの課金サイクルに対応してもよい(例えば、購読期間は、3月に対応する)。さらに、購読期間は、開始タイムスタンプ(すなわち、購読を通して提供されるメディアがユーザに利用可能になった日付および時間)および終了タイムスタンプ(すなわち、購読を通して提供されるメディアがユーザに利用可能ではなくなる日付および時間)と関連付けられてもよい。購読期間の「一部」は、購読期間の1つまたは複数の任意の連続または非連続時間範囲を指し得る。例えば、購読期間の一部は、購読期間中の水曜日の午後7時~午後9時の間に起こる、タイムスロットに対応する。異なる実施例では、購読期間の一部は、その間にテレビ番組(例えば、「The Simpsons」)のシーズンが放送される購読期間の日付の範囲、例えば、8月から11月に対応する。
【0047】
用語「ストリーム」は、ある時間期間にわたって送信側から受信側に伝送される、メディアコンテンツデータを指す。例えば、メディアコンテンツ(例えば、「The Simpsons」のエピソード)に対応するデジタルデータは、メディアコンテンツの再生のために要求される時間に対応する時間にわたって、サーバ(すなわち、送信側)からユーザデバイス(すなわち、受信側)にネットワークを経由して配信される。購読サービスは、同時使用のための有限数のストリームを購読のユーザに提供してもよい(例えば、購読サービスは、メディアコンテンツの4つの同時ストリームを可能にする)。ストリーミングプロセス(すなわち、ストリームを配信するプロセス)を実装する実施形態は、デジタル媒体配信方法に適用されてもよいが、他のコンテンツ配信方法(例えば、ケーブル)にも適用されてもよい。ストリーミング対立は、メディアをストリーミングする要求の数が利用可能なストリームの数を超える状況を指す。ストリーミング対立が起こるとき、受信される要求のうちの少なくとも1つ(例えば、典型的には、最新の要求)は、果たされない。
【0048】
用語「直接接続」は、いったんコンテンツプロバイダサーバとコンテンツアグリゲータサーバとの間で確立されると、認証を伴わずに、コンテンツアグリゲータサーバがコンテンツプロバイダサーバ上に記憶されたデータにアクセスすることを可能にする、ネットワーク接続を指す。
【0049】
用語「インターフェーススキン」は、ユーザインターフェースの外観を定義するために使用されるデータの集合を指す。例えば、ユーザインターフェース内のウィンドウの背景色、ユーザインターフェースで使用されるフォント、およびユーザインターフェース内のメニューの位置は、インターフェーススキンと関連付けられるデータの中で定義されてもよい。制御回路が表示するためにユーザインターフェースの視覚コンポーネントを生成するとき、制御回路は、どのようにしてユーザインターフェース内の各要素または要素群がレンダリングされるかを判定するように、インターフェーススキンファイルのデータを読み出してもよい。加えて、ユーザインターフェースの外観を定義するために使用されるデータの集合は、コンテンツプロバイダサーバと関連付けられるサービスによって定義されるグラフィックおよびテキストを含んでもよい。例えば、購読サービス(例えば、Hulu)と関連付けられるインターフェーススキンは、画面上の定義された場所で表示され得る、Huluロゴと、画面要素の背景色を定義し得る、Huluカラーパレットとを含む、データの集合を含んでもよい。
【0050】
本明細書で参照されるように、用語「~に応答して」は、「~の結果として開始される」ことを指す。例えば、別のアクションに応答して行われている第1のアクションは、第1のアクションと第2のアクションとの間に介在ステップを含んでもよい。本明細書で参照されるように、用語「~に直接応答して」は、「~によって引き起こされる」ことを指す。例えば、別のアクションに直接応答して行われている第1のアクションは、第1のアクションと第2のアクションとの間に介在ステップを含まなくてもよい。
【0051】
任意の所与のコンテンツ配信システムでユーザに利用可能なコンテンツの量は、膨大であり得る。その結果、多くのユーザは、ユーザがコンテンツの選択を効率的にナビゲートし、所望し得るコンテンツを容易に識別することを可能にする、インターフェースを通したメディアガイドの形態を所望している。そのようなガイドを提供するアプリケーションは、本明細書では、双方向メディアガイドアプリケーションと称されるが、メディアガイドアプリケーションまたはガイドアプリケーションと称されることもある。
【0052】
双方向メディアガイドアプリケーションは、ガイドを提供するコンテンツに応じて、種々の形態をとってもよい。1つの典型的なタイプのメディアガイドアプリケーションは、双方向テレビ番組ガイドである。双方向テレビ番組ガイド(電子番組ガイドと称される場合もある)は、とりわけ、ユーザが、多くのタイプのコンテンツまたはメディアアセット間をナビゲートし、それを特定することを可能にする、周知のガイドアプリケーションである。双方向メディアガイドアプリケーションは、ユーザが、コンテンツ間をナビゲートし、それを特定および選択することを可能にする、グラフィカルユーザインターフェース画面を生成してもよい。
【0053】
本明細書で参照されるように、用語「メディアアセット」および「コンテンツ」は、テレビ番組、および有料番組、オンデマンド番組(ビデオオンデマンド(VOD)システムにおけるような)、インターネットコンテンツ(例えば、ストリーミングコンテンツ、ダウンロード可能コンテンツ、ウェブキャスト等)、ビデオクリップ、オーディオ、コンテンツ情報、写真、回転画像、ドキュメント、再生一覧、ウェブサイト、記事、書籍、電子書籍、ブログ、広告、チャットセッション、ソーシャルメディア、アプリケーション、ゲーム、および/または任意の他のメディアまたはマルチメディア、および/またはそれらの組み合わせ等の電子的に消費可能なユーザアセットを意味すると理解されたい。ガイドアプリケーションはまた、ユーザが、コンテンツ間をナビゲートし、それを特定することを可能にする。本明細書で参照されるように、用語「マルチメディア」は、上記で説明される少なくとも2つの異なるコンテンツ形態、例えば、テキスト、オーディオ、画像、ビデオ、または双方向コンテンツ形態を利用する、コンテンツを意味すると理解されたい。コンテンツは、ユーザ機器デバイスによって、録画、再生、表示、またはアクセスされてもよいが、また、ライブパーフォーマンスの一部であることもできる。
【0054】
本明細書で議論される実施形態のいずれかを行うためのメディアガイドアプリケーションおよび/または任意の命令は、コンピュータ可読媒体上に符号化されてもよい。コンピュータ可読媒体は、データを記憶することが可能な任意のメディアを含む。コンピュータ可読媒体は、限定ではないが、電気または電磁信号の伝搬を含む、一過性であり得る、または限定ではないが、ハードディスク、フロッピー(登録商標)ディスク、USBドライブ、DVD、CD、メディアカード、レジスタメモリ、プロセッサキャッシュ、ランダムアクセスメモリ(「RAM」)等の揮発性および不揮発性コンピュータメモリまたは記憶デバイスを含む、非一過性であり得る。
【0055】
インターネット、モバイルコンピューティング、および高速無線ネットワークの出現に伴って、ユーザは、従来は使用しなかったユーザ機器デバイス上でメディアにアクセスするようになっている。本明細書で参照されるように、語句「ユーザ機器デバイス」、「ユーザ機器」、「ユーザデバイス」、「電子デバイス」、「電子機器」、「メディア機器デバイス」、または「メディアデバイス」は、テレビ、スマートTV、セットトップボックス、衛星テレビに対応するための統合型受信機デコーダ(IRD)、デジタル記憶デバイス、デジタルメディア受信機(DMR)、デジタルメディアアダプタ(DMA)、ストリーミングメディアデバイス、DVDプレーヤ、DVDレコーダ、接続型DVD、ローカルメディアサーバ、BLU-RAY(登録商標)プレーヤ、BLU-RAY(登録商標)レコーダ、パーソナルコンピュータ(PC)、ラップトップコンピュータ、タブレットコンピュータ、ウェブTVボックス、パーソナルコンピュータテレビ(PC/TV)、PCメディアサーバ、PCメディアセンター、ハンドヘルドコンピュータ、固定電話、携帯情報端末(PDA)、携帯電話、携帯用ビデオプレーヤ、携帯用音楽プレーヤ、携帯用ゲーム機、スマートフォン、または任意の他のテレビ機器、コンピューティング機器、または無線デバイス、および/またはそれらの組み合わせ等の上記で説明されるコンテンツにアクセスするための任意のデバイスを意味すると理解されたい。いくつかの実施形態では、ユーザ機器デバイスは、正面画面および裏面画面、複数の正面画面、または複数の角度付き画面を有してもよい。いくつかの実施形態では、ユーザ機器デバイスは、正面カメラおよび/または背面カメラを有してもよい。これらのユーザ機器デバイス上で、ユーザは、テレビを通して利用可能な同一のコンテンツ間をナビゲートし、それを特定することが可能であり得る。その結果として、メディアガイドは、これらのデバイス上でも利用可能であり得る。提供されるガイドは、テレビのみを通して利用可能なコンテンツ、他のタイプのユーザ機器デバイスのうちの1つまたはそれを上回るもののみを通して利用可能なコンテンツ、またはテレビおよび他のタイプのユーザ機器デバイスのうちの1つまたはそれを上回るものの両方を通して利用可能なコンテンツのためのものであってもよい。メディアガイドアプリケーションは、オンラインアプリケーションとして(すなわち、ウェブサイト上で提供される)、またはユーザ機器デバイス上の独立型アプリケーションまたはクライアントとして提供されてもよい。メディアガイドアプリケーションを実装し得る、種々のデバイスおよびプラットフォームは、以下でさらに詳細に説明される。
【0056】
メディアガイドアプリケーションの機能のうちの1つは、メディアガイドデータをユーザに提供することである。本明細書で参照されるように、語句「メディアガイドデータ」または「ガイドデータ」は、コンテンツに関連する任意のデータまたはガイドアプリケーションを動作させる際に使用されるデータを意味すると理解されたい。例えば、ガイドデータは、番組情報、ガイドアプリケーション設定、ユーザ選好、ユーザプロファイル情報、メディア一覧、メディア関連情報(例えば、放送時間、放送チャンネル、タイトル、内容、評価情報(例えば、ペアレンタルコントロール評価、批評家の評価等)、ジャンルまたはカテゴリ情報、俳優情報、放送会社またはプロバイダのロゴのロゴデータ等、メディア形式(例えば、標準解像度、高解像度、3D等)、広告情報(例えば、テキスト、画像、メディアクリップ等)、オンデマンド情報、ブログ、ウェブサイト、およびユーザが所望のコンテンツ選択間をナビゲートし、それを特定するために役立つ、任意の他のタイプのガイドデータを含んでもよい。
【0057】
図1-2は、メディアガイドデータを提供するために使用され得る、例証的表示画面を示す。
図1-2に示される表示画面は、任意の好適なユーザ機器デバイスまたはプラットフォーム上に実装されてもよい。
図1-2の表示は、フル画面表示として図示されているが、それらはまた、表示されているコンテンツ上に完全または部分的にオーバーレイされてもよい。ユーザは、表示画面に提供された選択可能なオプション(例えば、メニューオプション、一覧オプション、アイコン、ハイパーリンク等)を選択することによって、またはリモートコントロールまたは他のユーザ入力インターフェースまたはデバイス上の専用ボタン(例えば、「ガイド」ボタン)を押下することによって、コンテンツ情報にアクセスする所望を示してもよい。ユーザのインジケーションに応答して、メディアガイドアプリケーションは、グリッド内の時間およびチャンネル別、時間別、チャンネル別、ソース別、コンテンツタイプ別、カテゴリ別(例えば、映画、スポーツ、ニュース、子供向け、または他の番組カテゴリ)、または他の所定、ユーザ定義、または他の編成基準等のいくつかの方法のうちの1つにおいて編成されたメディアガイドデータを伴う表示画面を提供してもよい。
【0058】
図1は、単一表示内の異なるタイプのコンテンツへのアクセスも可能にする、時間およびチャンネル別に配列された番組一覧表示100の例証的グリッドを示す。表示100は、(1)各チャンネル/コンテンツタイプ識別子(列内のセル)が利用可能な異なるチャンネルまたはコンテンツのタイプを識別する、チャンネル/コンテンツタイプ識別子104の列、および(2)各時間識別子(行内のセル)が番組の時間帯を識別する、時間識別子106の行を伴う、グリッド102を含んでもよい。グリッド102はまた、番組一覧108等の番組一覧のセルも含み、各一覧は、一覧の関連チャンネルおよび時間の上に提供される、番組のタイトルを提供する。ユーザ入力デバイスを用いて、ユーザは、ハイライト領域110を移動させることによって番組一覧を選択することができる。ハイライト領域110によって選択される番組一覧に関する情報が、番組情報領域112内に提供されてもよい。領域112は、例えば、番組タイトル、番組内容、番組が提供される時間(該当する場合)、番組が放送されるチャンネル(該当する場合)、番組の評価、および他の所望の情報を含んでもよい。
【0059】
線形番組(例えば、所定の時間に複数のユーザ機器デバイスに伝送されるようにスケジュールされ、スケジュールに従って提供される、コンテンツ)へのアクセスの提供に加え、メディアガイドアプリケーションはまた、非線形番組(例えば、任意の時間においてユーザ機器デバイスにアクセス可能であって、スケジュールに従って提供されない、コンテンツ)へのアクセスも提供する。非線形番組は、オンデマンドコンテンツ(例えば、VOD)、インターネットコンテンツ(例えば、ストリーミングメディア、ダウンロード可能メディア等)、ローカルに記憶したコンテンツ(例えば、上記で説明される任意のユーザ機器デバイスまたは他の記憶デバイス上に記憶されたコンテンツ)、または時間的制約のない他のコンテンツを含む、異なるコンテンツソースからのコンテンツを含んでもよい。オンデマンドコンテンツは、映画または特定のコンテンツプロバイダ(例えば、HBO GOサービスを介して「The Sopranos」および「Curb Your Enthusiasm」を提供するHBO)によって提供される任意の他のコンテンツを含んでもよい。THE SOPRANOSおよびCURB YOURE ENTHUSIASMは、Home Box Office, Inc.によって所有される商標である。インターネットコンテンツは、チャットセッションまたはウェブキャスト等のウェブイベント、またはインターネットウェブサイトまたは他のインターネットアクセス(例えば、FTP)を通して、ストリーミングコンテンツまたはダウンロード可能なコンテンツとしてオンデマンドで利用可能なコンテンツを含んでもよい。
【0060】
グリッド102は、オンデマンド一覧114、録画コンテンツ一覧116、およびインターネットコンテンツ一覧118を含む、非線形番組のメディアガイドデータを提供してもよい。異なるタイプのコンテンツソースからのコンテンツのためのメディアガイドデータを組み合わせる表示は、「混合メディア」表示と称されることもある。表示100とは異なる、表示され得るメディアガイドデータのタイプの種々の順列は、ユーザ選択またはガイドアプリケーション定義に基づいてもよい(例えば、録画および放送一覧のみの表示、オンデマンドおよび放送一覧のみの表示等)。例証されるように、一覧114、116、および118は、これらの一覧の選択が、それぞれ、オンデマンド一覧、録画一覧、またはインターネット一覧専用の表示へのアクセスを提供し得ることを示すように、グリッド102内に表示される時間帯全体に及ぶものとして示されている。いくつかの実施形態では、これらのコンテンツタイプの一覧は、グリッド102に直接含まれてもよい。ユーザがナビゲーションアイコン120のうちの1つを選択することに応答して、付加的メディアガイドデータが表示されてもよい(ユーザ入力デバイス上の矢印キーを押下することによって、ナビゲーションアイコン120を選択することと同様に表示に影響を及ぼしてもよい)。
【0061】
表示100はまた、ビデオ領域122、広告124、およびオプション領域126を含んでもよい。ビデオ領域122は、ユーザが、現在利用可能である、今後利用可能となる、またはユーザに利用可能であった番組を視聴および/またはプレビューすることを可能にしてもよい。ビデオ領域122のコンテンツは、グリッド102に表示される一覧のうちの1つに対応するか、またはそれから独立してもよい。ビデオ領域を含むグリッド表示は、ピクチャインガイド(PIG)表示と称されることもある。PIG表示およびそれらの機能は、全体として参照することによって本明細書に組み込まれる、2003年5月13日発行のSatterfieldらの米国特許第6,564,378号、および2001年5月29日発行のYuenらの米国特許第6,239,794号でさらに詳細に説明されている。PIG表示は、本明細書に説明される実施形態の他のメディアガイドアプリケーション表示画面に含まれてもよい。
【0062】
広告124は、(例えば、購読番組に対する)視聴者のアクセス権に応じて、現在視聴が利用可能である、将来視聴が利用可能となる、または決して視聴利用可能とはなり得ない、コンテンツの広告を提供してもよく、グリッド102内のコンテンツ一覧のうちの1つまたはそれを上回るものに対応してもよい、または無関係であり得る。広告124はまた、グリッド102内で表示されるコンテンツに関係する、または無関係である製品またはサービスに対するものであってもよい。広告124は、選択可能であり、コンテンツに関するさらなる情報を提供する、製品またはサービスに関する情報を提供する、コンテンツ、製品、またはサービスの購入を可能にする、広告に関するコンテンツを提供する等を行ってもよい。広告124は、ユーザのプロファイル/選好、監視されたユーザアクティビティ、提供される表示のタイプ、または他の好適な標的化された広告基盤に基づいて標的化されてもよい。
【0063】
広告124は、長方形またはバナー形状として示されているが、広告は、ガイドアプリケーション表示内の任意の好適なサイズ、形状、および場所で提供されてもよい。例えば、広告124は、グリッド102に水平方向に隣接する長方形として提供されてもよい。これは、パネル広告と称されることもある。加えて、広告は、コンテンツまたはガイドアプリケーション表示上にオーバーレイされてもよい、または表示内に埋め込まれてもよい。広告はまた、テキスト、画像、回転画像、ビデオクリップ、または上記で説明される他のタイプのコンテンツを含んでもよい。広告は、ガイドアプリケーションを有するユーザ機器デバイス内、ユーザ機器に接続されたデータベース内、遠隔場所(ストリーミングメディアサーバを含む)内、または他の記憶手段またはこれらの場所の組み合わせ上に記憶されてもよい。メディアガイドアプリケーションに広告を提供するステップは、例えば、それらの全体で参照することにより本明細書に組み込まれる、2003年1月17日出願のKnudsonらの米国特許出願第2003/0110499号、2004年6月29日発行のWard, IIIらの米国特許第6,756,997号、および2002年5月14日発行のScheinらの米国特許第6,388,714号で、さらに詳細に議論されている。広告は、本明細書に説明される実施形態の他のメディアガイドアプリケーション表示画面に含まれてもよいことが理解されるであろう。
【0064】
オプション領域126は、ユーザが、異なるタイプのコンテンツ、メディアガイドアプリケーション表示、および/またはメディアガイドアプリケーション特徴にアクセスすることを可能にしてもよい。オプション領域126は、表示100(および本明細書に説明される他の表示画面)の一部であってもよい、または画面上のオプションを選択すること、またはユーザ入力デバイス上の専用または割当可能ボタンを押下することによって、ユーザによって呼び出されてもよい。オプション領域126内の選択可能オプションは、グリッド102内の番組一覧に関連する特徴に関してもよい、またはメインメニュー表示から利用可能なオプションを含んでもよい。番組一覧に関連する特徴は、他の放送時間または番組の受信方法の検索、番組の録画、番組の連続録画の有効化、番組および/またはチャンネルをお気に入りとして設定、番組の購入、または他の特徴を含んでもよい。メインメニュー表示から利用可能なオプションは、検索オプション、VODオプション、ペアレンタルコントロールオプション、インターネットオプション、クラウドベースのオプション、デバイス同期オプション、第2の画面デバイスオプション、種々のタイプのメディアガイドデータ表示にアクセスするためのオプション、プレミアムサービスを購読するためのオプション、ユーザのプロファイルを編集するためのオプション、ブラウザオーバーレイにアクセスするためのオプション、または他のオプションを含んでもよい。
【0065】
メディアガイドアプリケーションは、ユーザの選好に基づいて個人化されてもよい。個人化されたメディアガイドアプリケーションは、ユーザが、メディアガイドアプリケーションによって個人化された「体験」を生成するように、表示および特徴をカスタマイズすることを可能にする。この個人化された体験は、ユーザがこれらのカスタマイズを入力できるようにすることによって、および/または種々のユーザ選好を判定するようにメディアガイドアプリケーションがユーザアクティビティを監視することによって、生成されてもよい。ユーザは、ログインすることによって、または別様にガイドアプリケーションに対して自らを識別することによって、その個人化されたガイドアプリケーションにアクセスしてもよい。メディアガイドアプリケーションのカスタマイズは、ユーザプロファイルに従って行われてもよい。カスタマイズは、提示方式(例えば、表示の色方式、テキストのフォントサイズ等)、表示されるコンテンツ一覧の側面(例えば、HDTV番組のみまたは3D番組のみ、お気に入りチャンネル選択に基づいたユーザ指定の放送チャンネル、チャンネルの表示の並び替え、推奨コンテンツ等)、所望の録画特徴(例えば、特定のユーザに対する録画または連続録画、録画品質等)、ペアレンタルコントロール設定、インターネットコンテンツのカスタマイズされた提示(例えば、ソーシャルメディアコンテンツ、電子メール、電子的に配信された記事等の提示)、および他の所望のカスタマイズを変更させるステップを含んでもよい。
【0066】
メディアガイドアプリケーションは、ユーザが、ユーザプロファイル情報を提供することを可能にしてもよい、またはユーザプロファイル情報を自動的にコンパイルしてもよい。メディアガイドアプリケーションは、例えば、ユーザがアクセスするコンテンツ、および/またはユーザがガイドアプリケーションと行い得る他の相互作用を監視してもよい。加えて、メディアガイドアプリケーションは、特定のユーザに関連する他のユーザプロファイルの全体または一部を取得し(例えば、www.allrovi.com等のユーザがアクセスするインターネット上の他のウェブサイトから、ユーザがアクセスする他のメディアガイドアプリケーションから、ユーザがアクセスする他の双方向アプリケーションから、ユーザの別のユーザ機器デバイスから等)、および/またはメディアガイドアプリケーションがアクセスし得る他のソースから、ユーザに関する情報を取得してもよい。結果として、ユーザは、ユーザの異なるユーザ機器デバイスにわたって、統一されたガイドアプリケーション体験を提供されることができる。本タイプのユーザ体験は、
図4に関連して以下でさらに詳細に説明される。付加的な個人化されたメディアガイドアプリケーション特徴は、全体として参照することにより本明細書に組み込まれる、2005年7月11日出願のEllisらの米国特許出願公開第2005/0251827号、2007年1月16日発行のBoyerらの米国特許第7,165,098号、および2002年2月21日出願のEllisらの米国特許出願公開第2002/0174430号でさらに詳細に説明されている。
【0067】
メディアガイドを提供するための別の表示配列が、
図2に示されている。ビデオモザイク表示200は、推奨、ウォッチリスト内の含有、および/またはコンテンツのタイプ等の種々の編成基準に基づいて編成されたコンテンツ情報のための選択可能オプション202を含む。表示200では、映画一覧オプション204が、選択され、したがって、一覧206、208、210、および212を映画として提供する。表示200では、一覧は、カバーアート、コンテンツからの静止画像、ビデオクリップのプレビュー、コンテンツからのライブビデオ、または一覧中のメディアガイドデータによって記述されているコンテンツをユーザに示す他のタイプのコンテンツを含む、グラフィック画像を提供してもよい。グラフィック一覧のそれぞれはまた、一覧と関連付けられたコンテンツに関するさらなる情報を提供するように、テキストを伴ってもよい。例えば、一覧208は、メディア部分214およびテキスト部分216を含む、1つを上回る部分を含んでもよい。メディア部分214および/またはテキスト部分216は、コンテンツをフル画面で視聴するように、またはメディア部分214に表示されるコンテンツに関連する情報を閲覧するように(例えば、具体的コンテンツプロバイダの一覧を閲覧するように)、選択可能であり得る。
【0068】
表示200中の一覧は、異なるサイズである(すなわち、一覧206は、一覧208、210、および212より大きい)が、所望の場合、全一覧が同一のサイズであってもよい。一覧は、コンテンツプロバイダの所望に応じて、またはユーザ選好に基づいて、ユーザの関心の程度を示すように、またはあるコンテンツを強調するように、異なるサイズであるか、またはグラフィックが強調されてもよい。コンテンツ一覧をグラフィック的に強調するための種々のシステムおよび方法は、例えば、全体として参照することにより本明細書に組み込まれる、2009年11月12日出願のYatesの米国特許出願公開第2010/0153885号で議論されている。
【0069】
ユーザは、そのユーザ機器デバイスのうちの1つまたはそれを上回るものから、コンテンツおよびメディアガイドアプリケーション(および上記および下記で説明されるその表示画面)にアクセスしてもよい。
図3は、例証的機器デバイス300の汎用実施形態を示す。デバイスのより具体的な実装は、
図4に関連して以下で議論されている。機器デバイス300は、ユーザテレビ機器402、ユーザコンピュータ機器404、および無線ユーザ通信デバイス406上に実装されてもよい。加えて、デバイス300は、コンテンツプロバイダ416および418と関連付けられるサーバの一部として、およびコンテンツアグリゲータ430と関連付けられるサーバの一部として、実装されてもよい。デバイス300は、入出力(以下「I/O」)パス302を介して、コンテンツおよびデータを受信してもよい。I/Oパス302は、処理回路306および記憶装置308を含む制御回路304に、コンテンツ(例えば、放送番組、オンデマンド番組、インターネットコンテンツ、ローカルエリアネットワーク(LAN)または広域ネットワーク(WAN)を経由して利用可能なコンテンツ、および/または他のコンテンツ)およびデータを提供してもよい。制御回路304は、I/Oパス302を使用して、コマンド、要求、および他の好適なデータを送受信するために使用されてもよい。I/Oパス302は、制御回路304(具体的には、処理回路306)を1つまたはそれを上回る通信パス(以下で説明される)に接続してもよい。I/O機能は、これらの通信パスのうちの1つまたはそれを上回るものによって提供されてもよいが、図面が複雑になり過ぎることを回避するため、
図3では単一パスとして示されている。
【0070】
制御回路304は、処理回路306等の任意の好適な処理回路に基づいてもよい。本明細書で参照されるように、処理回路とは、1つまたはそれを上回るマイクロプロセッサ、マイクロコントローラ、デジタル信号プロセッサ、プログラマブル論理デバイス、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)等に基づく回路を意味すると理解され、マルチコアプロセッサ(例えば、デュアルコア、クアドコア、ヘクサコア、または任意の好適な数のコア)またはスーパーコンピュータを含んでもよい。いくつかの実施形態では、処理回路は、複数の別個のプロセッサまたは処理ユニット、例えば、複数の同一のタイプの処理ユニット(例えば、2つのIntel Core i7プロセッサ)または複数の異なるプロセッサ(例えば、Intel Core i5プロセッサおよびIntel Core i7プロセッサ)にわたって分散されてもよい。いくつかの実施形態では、制御回路304は、メモリ(すなわち、記憶装置308)に記憶されたメディアガイドアプリケーションに対する命令を実行する。具体的には、制御回路304は、メディアガイドアプリケーションによって、上記および下記で議論される機能を果たすように命令されてもよい。例えば、メディアガイドアプリケーションは、制御回路304に、メディアガイド表示を生成するための命令を提供してもよい。いくつかの実装では、制御回路304によって行われるいかなるアクションも、メディアガイドアプリケーションから受信した命令に基づいてもよい。
【0071】
クライアントサーバベースの実施形態では、制御回路304は、ガイドアプリケーションサーバまたは他のネットワークまたはサーバと通信するための好適な通信回路を含んでもよい。前述の機能性を実施するための命令は、ガイドアプリケーションサーバ上に記憶されてもよい。通信回路は、ケーブルモデム、総合デジタル通信網(ISDN)モデム、デジタル加入者回線(DSL)モデム、電話モデム、イーサネット(登録商標)カード、または他の機器との通信用の無線モデム、または任意の他の好適な通信回路を含んでもよい。そのような通信は、インターネットまたは任意の他の好適な通信ネットワークまたはパスを伴ってもよい(
図4に関連してさらに詳細に説明される)。加えて、通信回路は、機器デバイスのピアツーピア通信、または相互から遠隔の場所にある機器デバイスの通信を可能にする回路を含んでもよい(以下でさらに詳細に説明される)。
【0072】
メモリは、制御回路304の一部である、記憶装置308として提供される、電子記憶デバイスであってもよい。本明細書で参照されるように、語句「電子記憶デバイス」または「記憶デバイス」とは、ランダムアクセスメモリ、読取専用メモリ、ハードドライブ、光学ドライブ、デジタルビデオディスク(DVD)レコーダ、コンパクトディスク(CD)レコーダ、BLU-RAY(登録商標)ディスク(BD)レコーダ、BLU-RAY(登録商標) 3Dディスクレコーダ、デジタルビデオレコーダ(DVR(パーソナルビデオレコーダと呼ばれる場合もある)、またはPVR)、固体デバイス、量子記憶デバイス、ゲームコンソール、ゲームメディア、または任意の他の好適な固定またはリムーバブル記憶デバイス、および/または任意のそれらの組み合わせ等の電子データ、コンピュータソフトウェア、またはファームウェアを記憶するための任意のデバイスを意味すると理解されたい。記憶装置308は、本明細書に説明される種々のタイプのコンテンツ、および上記で説明されるメディアガイドデータを記憶するために使用されてもよい。不揮発性メモリもまた、(例えば、ブートアップルーチンおよび他の命令を起動するために)使用されてもよい。
図4に関連して説明される、クラウドベースの記憶装置が、記憶装置308を補完するために、または記憶装置308の代わりに使用されてもよい。
【0073】
制御回路304は、1つまたはそれを上回るアナログチューナ、1つまたはそれを上回るMPEG-2デコーダ、または他のデジタル復号回路、高解像度チューナ、または任意の他の好適な同調またはビデオ回路、またはそのような回路の組み合わせ等のビデオ生成回路および同調回路を含んでもよい。(例えば、記憶のために、無線、アナログ、またはデジタル信号をMPEG信号に変換するための)符号化回路もまた、提供されてもよい。制御回路304はまた、コンテンツを機器デバイス300の好ましい出力形式に上方変換および下方変換するためのスケーラ回路を含んでもよい。回路304はまた、デジタルおよびアナログ信号間で変換するためのデジタルからアナログへの変換回路およびアナログからデジタルへの変換回路を含んでもよい。同調および符号化回路は、コンテンツを受信して表示する、再生する、または録画するために、機器デバイスによって使用されてもよい。同調および符号化回路はまた、ガイドデータを受信するために使用されてもよい。例えば、同調、ビデオ生成、符号化、復号、暗号化、解読、スケーラ、およびアナログ/デジタル回路を含む、本明細書に説明される回路は、1つまたはそれを上回る汎用または特殊プロセッサ上で起動するソフトウェアを使用して実装されてもよい。複数のチューナが、同時同調機能(例えば、鑑賞および録画機能、ピクチャインピクチャ(PIP)機能、多重チューナ録画等)に対処するように提供されてもよい。記憶装置308が、機器デバイス300とは別個のデバイスとして提供される場合、同調および符号化回路(複数のチューナを含む)は、記憶装置308と関連付けられてもよい。
【0074】
機器デバイス300がユーザテレビ機器402、ユーザコンピュータ機器404、または無線ユーザ通信デバイス406上に実装されるとき、ユーザは、ユーザ入力インターフェース310を使用して、命令を制御回路304に送信してもよい。ユーザ入力インターフェース310は、リモートコントロール、マウス、トラックボール、キーパッド、キーボード、タッチスクリーン、タッチパッド、スタイラス入力、ジョイスティック、音声認識インターフェース、または他のユーザ入力インターフェース等、任意の好適なユーザインターフェースであってもよい。ディスプレイ312は、独立型デバイスとして提供されてもよい、またはユーザ機器デバイス300の他の要素と統合されてもよい。例えば、ディスプレイ312は、タッチスクリーンまたはタッチセンサ式ディスプレイであってもよい。そのような状況では、ユーザ入力インターフェース310は、ディスプレイ312と統合されてもよい、または組み合わせられてもよい。ディスプレイ312は、モニタ、テレビ、モバイルデバイスのための液晶ディスプレイ(LCD)、非晶質シリコンディスプレイ、低温ポリシリコンディスプレイ、電子インクディスプレイ、電気泳動ディスプレイ、アクティブマトリクスディスプレイ、エレクトロウェッティングディスプレイ、電気流体ディスプレイ、ブラウン管ディスプレイ、発光ダイオードディスプレイ、エレクトロルミネセントディスプレイ、プラズマディスプレイパネル、高性能アドレッシングディスプレイ、薄膜トランジスタディスプレイ、有機発光ダイオードディスプレイ、表面伝導型電子放出素子ディスプレイ(SED)、レーザテレビ、カーボンナノチューブ、量子ドットディスプレイ、干渉変調器ディスプレイ、または視覚的画像を表示するための任意の他の好適な機器のうちの1つまたはそれを上回るものであってもよい。いくつかの実施形態では、ディスプレイ312は、HDTV対応型であり得る。いくつかの実施形態では、ディスプレイ312は、3Dディスプレイであってもよく、双方向メディアガイドアプリケーションおよび任意の好適なコンテンツは、3Dで表示されてもよい。ビデオカードまたはグラフィックカードは、出力をディスプレイ312に生成してもよい。ビデオカードは、3Dシーンおよび2Dグラフィックのレンダリング加速、MPEG-2/MPEG-4復号、TV出力、または複数のモニタを接続する能力等の種々の機能をもたらしてもよい。ビデオカードは、制御回路304に関連する上記で説明される任意の処理回路であってもよい。ビデオカードは、制御回路304と統合されてもよい。スピーカ314は、機器デバイス300の他の要素との統合として提供されてもよい、または独立型ユニットであってもよい。ディスプレイ312上に表示されるビデオおよび他のコンテンツのオーディオ構成要素は、スピーカ314を通して再生されてもよい。いくつかの実施形態では、オーディオは、スピーカ314を介してオーディオを処理および出力する、受信機(図示せず)に配布されてもよい。
【0075】
ガイドアプリケーションは、任意の好適なアーキテクチャを使用して実装されてもよい。例えば、それは、機器デバイス300上で完全に実装される、独立型アプリケーションであってもよい。そのようなアプローチでは、アプリケーションの命令は、ローカルに記憶され(例えば、記憶装置308内に)、アプリケーションによって使用するためのデータは、(例えば、帯域外フィードから、インターネットリソースから、または別の好適なアプローチを使用して)周期的にダウンロードされる。制御回路304は、記憶装置308からアプリケーションの命令を読み出し、本明細書で議論される表示のうちのいずれかを生成するための命令を処理してもよい。処理された命令に基づいて、制御回路304は、入力が入力インターフェース310から受信されるときにどのようなアクションを行うかを判定してもよい。例えば、表示上のカーソルの上/下への移動は、入力インターフェース310が上/下ボタンが選択されたことを示すとき、処理された命令によって示されてもよい。
【0076】
いくつかの実施形態では、メディアガイドアプリケーションは、クライアントサーバベースのアプリケーションである。機器デバイス300上に実装される、シックまたはシンクライアントによって使用するためのデータは、機器デバイス300の遠隔にあるサーバに要求を発行することによって、オンデマンドで読み出される。クライアントサーバベースのガイドアプリケーションの一実施例では、制御回路304は、遠隔サーバによって提供されるウェブページを解釈する、ウェブブラウザを実行する。例えば、遠隔サーバは、記憶デバイス内にアプリケーションのための命令を記憶してもよい。遠隔サーバは、回路(例えば、制御回路304)を使用して、記憶された命令を処理し、上記および下記で議論される表示を生成してもよい。クライアントデバイスは、遠隔サーバによって生成される表示を受信してもよく、表示のコンテンツを機器デバイス300上でローカルに表示してもよい。このように、命令の処理は、サーバによって遠隔で行われる一方、結果として生じる表示は、機器デバイス300上にローカルに提供される。機器デバイス300は、入力インターフェース310を介して、ユーザからの入力を受信し、対応する表示を処理および生成するために、それらの入力を遠隔サーバに伝送してもよい。例えば、機器デバイス300は、上/下ボタンが入力インターフェース310を介して選択されたことを示す、通信を遠隔サーバに伝送してもよい。遠隔サーバは、その入力に従って命令を処理し、入力に対応するアプリケーションの表示を生成してもよい(例えば、カーソルを上/下に移動させる表示)。生成された表示は、次いで、ユーザへの提示のために、機器デバイス300に伝送される。
【0077】
いくつかの実施形態では、メディアガイドアプリケーションは、インタープリタまたは仮想マシン(制御回路304によって起動される)によって、ダウンロードされ、解釈または別様に起動される。いくつかの実施形態では、ガイドアプリケーションは、ETVバイナリ交換形式(ETV Binary Interchange Format/EBIF)で符号化され、好適なフィードの一部として制御回路304によって受信され、制御回路304上で起動するユーザエージェントによって解釈されてもよい。例えば、ガイドアプリケーションは、EBIFアプリケーションであってもよい。いくつかの実施形態では、ガイドアプリケーションは、制御回路304によって実行されるローカル仮想マシンまたは他の好適なミドルウェアによって受信および起動される、一連のJAVA(登録商標)ベースのファイルによって定義されてもよい。そのような実施形態のうちのいくつか(例えば、MPEG-2または他のデジタルメディア符号化スキームを採用するもの)では、ガイドアプリケーションは、例えば、番組のMPEGオーディオおよびビデオパケットを用いたMPEG-2オブジェクトカルーセルにおいて符号化および伝送されてもよい。
【0078】
図3の機器デバイス300は、ユーザテレビ機器402、ユーザコンピュータ機器404、無線ユーザ通信デバイス406、または非携帯用ゲーム機等のコンテンツにアクセスするために好適な任意の他のタイプのユーザ機器として、
図4のシステム400に実装することができる。簡単にするために、これらのデバイスは、本明細書では総称して、ユーザ機器またはユーザ機器デバイスと称されてもよく、上記で説明されるユーザ機器デバイスに実質的に類似し得る。メディアガイドアプリケーションが実装され得る、ユーザ機器デバイスは、独立型デバイスとして機能してもよい、またはデバイスのネットワークの一部であってもよい。デバイスの種々のネットワーク構成が実装されてもよく、以下でさらに詳細に議論される。加えて、機器デバイス300は、コンテンツプロバイダ416および418と関連付けられるサーバの一部として、およびコンテンツアグリゲータ430と関連付けられるサーバの一部として、実装されてもよい。
【0079】
図3に関連して上記で説明されるシステム特徴のうちの少なくともいくつかを利用する、ユーザ機器デバイスは、単に、ユーザテレビ機器402、ユーザコンピュータ機器404、または無線ユーザ通信デバイス406として分類されなくてもよい。例えば、ユーザテレビ機器402は、いくつかのユーザコンピュータ機器404のように、インターネットコンテンツへのアクセスを可能にするインターネット対応型であり得る一方で、ユーザコンピュータ機器404は、いくつかのテレビ機器402のように、テレビ番組へのアクセスを可能にするチューナを含んでもよい。メディアガイドアプリケーションは、種々の異なるタイプのユーザ機器上で同一レイアウトを有してもよい、またはユーザ機器の表示能力に合わせられてもよい。例えば、ユーザコンピュータ機器404上では、ガイドアプリケーションは、ウェブブラウザによってアクセスされるウェブサイトとして提供されてもよい。別の実施例では、ガイドアプリケーションは、無線ユーザ通信デバイス406用に縮小されてもよい。
【0080】
システム400では、典型的には、各タイプのユーザ機器デバイスが1つを上回って存在するが、図面が複雑になり過ぎることを回避するように、それぞれ1つだけが
図4に示されている。加えて、各ユーザは、1つを上回るタイプのユーザ機器デバイスと、また、各タイプのユーザ機器デバイスのうちの1つを上回るものとを利用してもよい。
【0081】
いくつかの実施形態では、ユーザ機器デバイス(例えば、ユーザテレビ機器402、ユーザコンピュータ機器404、無線ユーザ通信デバイス406)は、「第2の画面デバイス」と称されてもよい。例えば、第2の画面デバイスは、第1のユーザ機器デバイス上に提示されるコンテンツを補完してもよい。第2の画面デバイス上に提示されるコンテンツは、第1のデバイス上に提示されるコンテンツを補完する、任意の好適なコンテンツであってもよい。いくつかの実施形態では、第2の画面デバイスは、第1のデバイスの設定および表示選好を調節するためのインターフェースを提供する。いくつかの実施形態では、第2の画面デバイスは、他の第2の画面デバイスと相互作用するため、またはソーシャルネットワークと相互作用するために構成される。第2の画面デバイスは、第1のデバイスと同一の部屋内に、第1のデバイスと異なる部屋であるが、同一の家または建物内、または第1のデバイスと異なる建物内に位置することができる。
【0082】
ユーザはまた、家庭内デバイスおよび遠隔デバイスにわたって一貫したメディアガイドアプリケーション設定を維持するように、種々の設定を設定してもよい。設定は、本明細書に説明される設定、およびお気に入りのチャンネルおよび番組、番組を推奨するためにガイドアプリケーションが利用する番組選好、表示選好、および他の望ましいガイド設定を含む。例えば、ユーザが、そのオフィスのパーソナルコンピュータで、例えば、ウェブサイトwww.allrovi.comの上で、チャンネルをお気に入りとして設定した場合、所望に応じて、同一のチャンネルが、ユーザの家庭内デバイス(例えば、ユーザテレビ機器およびユーザコンピュータ機器)、およびユーザのモバイルデバイス上でお気に入りとして表示される。したがって、同一のまたは異なるタイプのユーザ機器デバイスであるかどうかにかかわらず、1つのユーザ機器デバイス上で行われる変更は、別のユーザ機器デバイス上のガイド体験を変更することができる。加えて、行われる変更は、ユーザによる設定入力、およびガイドアプリケーションによって監視されるユーザアクティビティに基づいてもよい。
【0083】
ユーザ機器デバイスは、通信ネットワーク414に結合されてもよい。すなわち、ユーザテレビ機器402、ユーザコンピュータ機器404、および無線ユーザ通信デバイス406は、それぞれ、通信パス408、410、および412を介して、通信ネットワーク414に結合される。通信ネットワーク414は、インターネット、携帯電話ネットワーク、モバイルボイスまたはデータネットワーク(例えば、4GまたはLTEネットワーク)、ケーブルネットワーク、公衆交換電話ネットワーク、または他のタイプの通信ネットワーク、または通信ネットワークの組み合わせを含む、1つまたはそれを上回るネットワークであってもよい。パス408、410、および412は、別個または一緒に、衛星パス、光ファイバパス、ケーブルパス、インターネット通信をサポートするパス(例えば、IPTV)、フリースペース接続(例えば、放送または他の無線信号用)、または任意の他の好適な有線または無線通信パス、またはそのようなパスの組み合わせ等、1つまたはそれを上回る通信パスを含んでもよい。パス412は、
図4に示された例示的実施形態において、無線パスであることを示すように破線で描かれ、パス408および410は、有線パスであることを示すように実線で描かれている(しかし、これらのパスは、所望に応じて、無線パスであってもよい)。ユーザ機器デバイスとの通信は、これらの通信パスのうちの1つまたはそれを上回るものによって提供されてもよいが、
図4では、図面が複雑になり過ぎることを回避するように、単一パスとして示されている。
【0084】
通信パスは、ユーザ機器デバイスの間には描かれていないが、これらのデバイスは、パス408、410、および412に関連して上記で説明されるもの、およびUSBケーブル、IEEE1394ケーブル、無線パス(例えば、Bluetooth(登録商標)、赤外線、IEEE802-11x等)等の他の短距離ポイントツーポイント通信パス、または有線または無線パスを介した他の短距離通信等の通信パス等の通信パスを介して、相互と直接通信してもよい。BLUETOOTH(登録商標)は、Bluetooth(登録商標) SIG, INC.によって所有される認証マークである。ユーザ機器デバイスはまた、通信ネットワーク414を介した間接的パスを通して、直接相互と通信してもよい。
【0085】
システム400は、それぞれ、通信パス420、422、424、426、および428を介して、通信ネットワーク414に結合される、コンテンツプロバイダ416および418およびコンテンツアグリゲータ430を含む。パス420、422、424、426、および428は、パス408、410、および412に関して上記で説明される通信パスのうちのいずれかを含んでもよい。コンテンツプロバイダ416およびコンテンツアグリゲータ430との通信は、1つまたはそれを上回る通信パスを経由して交信されてもよいが、
図4では、図面が複雑になり過ぎることを回避するように、単一パスとして示されている。加えて、コンテンツプロバイダ416およびコンテンツアグリゲータ430のそれぞれが1つを上回ってあってもよいが、
図4では、図面が複雑になり過ぎることを回避するように、コンテンツプロバイダの2つおよび1つのコンテンツアグリゲータのみが示されている。(これらのソースのそれぞれの異なるタイプを以下で議論する)。コンテンツプロバイダ416および418と、ユーザ機器デバイス402、404、および406との間の通信は、通信ネットワーク414を通したものとして示されているが、いくつかの実施形態では、コンテンツプロバイダ416および418は、パス408、410、および412に関連して上記で説明されるもの等の通信パス(図示せず)を介して、ユーザ機器デバイス402、404、および406と直接通信してもよい。ある場合には、コンテンツプロバイダ416および418とユーザ機器デバイス402、404、および406との間の通信は、コンテンツアグリゲータ430を通して起こる。例えば、ユーザテレビ機器402およびコンテンツプロバイダ416との間の通信は、パス426、428、および408を経由して起こってもよい。
【0086】
コンテンツプロバイダ416および418は、テレビ配信施設、ケーブルシステムヘッドエンド、衛星配信施設、番組ソース(例えば、NBC、ABC、HBO等のテレビ放送会社)、中間配信施設および/またはサーバ、インターネットプロバイダ、オンデマンドメディアサーバ(例えば、Netflix、Hulu、Amazon等)、および他のコンテンツプロバイダを含む、1つまたはそれを上回るタイプのコンテンツ配信機器を含んでもよい。NBCは、National Broadcasting Company, Inc.によって所有される商標であり、ABCは、American Broadcasting Company, INC.によって所有される商標であり、HBOは、Home Box Office, Inc.によって所有される商標である。コンテンツプロバイダ416は、コンテンツの発信元であってもよく(例えば、テレビ放送会社、ウェブキャストプロバイダ等)、またはコンテンツの発信元でなくてもよい(例えば、オンデマンドコンテンツプロバイダ、ダウンロード用放送番組のコンテンツのインターネットプロバイダ等)。コンテンツプロバイダ416は、ケーブルソース、衛星プロバイダ、オンデマンドプロバイダ、インターネットプロバイダ、オーバーザトップコンテンツプロバイダ、または他のコンテンツのプロバイダを含んでもよい。コンテンツプロバイダ416はまた、ユーザ機器デバイスのうちのいずれかから遠隔の場所にある、異なるタイプのコンテンツ(ユーザによって選択されるビデオコンテンツを含む)を記憶するために使用される、遠隔メディアサーバを含んでもよい。コンテンツの遠隔記憶のため、および遠隔に記憶されたコンテンツをユーザ機器に提供するためのシステムおよび方法は、全体として参照することにより本明細書に組み込まれる、2010年7月20日発行のEllisらの米国特許第7,761,892号に関連して、さらに詳細に議論されている。
【0087】
コンテンツアグリゲータ430は、上記で説明されるように、メディアガイドデータをコンテンツプロバイダ416および418から収集し、そのようなデータを提供してもよい。メディアガイドデータは、任意の好適なアプローチを使用して、ユーザ機器デバイスに提供されてもよい。いくつかの実施形態では、ガイドアプリケーションは、データフィード(例えば、継続フィードまたはトリクルフィード)を介して、番組ガイドデータを受信する、独立型双方向テレビ番組ガイドであってもよい。番組スケジュールデータおよび他のガイドデータは、テレビチャンネルのサイドバンド上で、帯域内デジタル信号を使用して、帯域外デジタル信号を使用して、または任意の他の好適なデータ伝送技術によって、ユーザ機器に提供されてもよい。番組スケジュールデータおよび他のメディアガイドデータは、複数のアナログまたはデジタルテレビチャンネル上でユーザ機器に提供されてもよい。いくつかの実施形態では、コンテンツアグリゲータ430上に実装される制御回路304は、パス426および424を経由してコンテンツプロバイダ416および418からメディアガイドデータの要求を伝送してもよい。
【0088】
コンテンツアグリゲータ430は、機器デバイスのそれぞれの上にインストールされたクライアントを介して、機器デバイス402、404、および406と通信してもよい。例えば、ユーザが最初にコンテンツアグリゲータ購読を購読するとき、コンテンツアグリゲータ430上に実装される制御回路304は、機器デバイスへのクライアントアプリケーションの転送を促進してもよい。次いで、機器デバイス402、404、および406のそれぞれの上に実装される制御回路304は、コンテンツアグリゲータ430からクライアントアプリケーションをダウンロード、インストール、および再構成してもよい。次いで、クライアントアプリケーションは、コンテンツアグリゲータ430から機器デバイスへのメディアおよびメディアガイドデータの配信を促進してもよい。クライアントアプリケーションはさらに、ユーザが、ユーザ入力インターフェース310、デジタル著作権管理(DRM)データをハンドリングするためのコード、およびディスプレイ312上で表示するためのメディアを生成するために必要とされるコーデックおよびプレーヤを使用して、メディア一覧と相互作用することを可能にするために、機器デバイス300上に実装される制御回路304がディスプレイ312上で表示するために生成する、ユーザインターフェースを含んでもよい。いくつかの実施形態では、クライアントは、コンテンツプロバイダ416および418と直接通信するように構成されてもよい。コンテンツアグリゲータ430は、コンテンツアグリゲータ上に実装される制御回路304が、各機器デバイス上に実装されるクライアントから入力を受信し得るように、対応する通信インターフェースを含んでもよい。次いで、コンテンツアグリゲータ430上に実装される制御回路304は、通信インターフェースを使用して、各クライアントから、および各コンテンツプロバイダ416および418から、データを送受信してもよい。コンテンツアグリゲータ430は、加えて、コンテンツプロバイダ416および418からの購読者情報およびメディアコンテンツ一覧を記憶する1つまたはそれを上回るデータベースを含んでもよい。
【0089】
いくつかの実施形態では、コンテンツアグリゲータ430は、機器デバイス402、404、および406上で利用可能なインターネットブラウザを介して、機器デバイスと通信してもよい。例えば、ユーザコンピュータ機器404は、Internet Explorerの実装を含んでもよい。ユーザがコンテンツアグリゲータ購読のメディア提供にアクセスすることを希望する(例えば、ユーザが、ユーザが購読するコンテンツアグリゲータ購読の一部として利用可能なNetftix一覧にアクセスすることを所望し得る)とき、機器デバイス404上に実装される制御回路304は、ディスプレイ312上でビデオモザイク表示200を含有するブラウザウィンドウを出力してもよい。次いで、機器デバイス404上に実装される制御回路304は、ユーザがコンテンツアグリゲータ購読の一部である購読サービスからのコンテンツにアクセスすることを所望することを示す、選択をユーザ入力インターフェース310から受信してもよい。例えば、ユーザは、テキスト部分216(例えば、Netflix)を強調表示して選択するようにマウスポインタに指図してもよい。次いで、機器デバイス404上に実装される制御回路304は、テキスト部分216に対応する入力を、インターネットブラウザを起動するプロセスに伝送してもよく、ブラウザが選択された購読サービスと関連付けられるインターネットウェブサイト(例えば、www.netflix.com)を読み出して表示することを可能にする。
【0090】
いくつかの実施形態では、コンテンツアグリゲータ430からのガイドデータは、クライアントサーバアプローチを使用して、ユーザの機器に提供されてもよい。例えば、ユーザ機器デバイスは、メディアガイドデータをサーバからプル配信してもよい、またはサーバは、メディアガイドデータをユーザ機器デバイスにプッシュ配信してもよい。いくつかの実施形態では、ユーザの機器上に常駐するガイドアプリケーションクライアントは、必要に応じて、例えば、ガイドデータが、古くなっているとき、またはユーザ機器デバイスが、データを受信するための要求をユーザから受信するとき、コンテンツアグリゲータ430とセッションを開始し、ガイドデータを取得してもよい。メディアガイドは、任意の好適な頻度で(例えば、継続的に、毎日、ユーザ指定期間で、システム指定期間で、ユーザ機器からの要求に応じて等)ユーザ機器に提供されてもよい。コンテンツアグリゲータ430は、ユーザ機器デバイス402、404、および406に、メディアガイドアプリケーション自体、またはメディアガイドアプリケーションのソフトウェア更新を提供してもよい。
【0091】
いくつかの実施形態では、メディアガイドデータは、視聴者データを含んでもよい。例えば、視聴者データは、現在のおよび/または履歴ユーザアクティビティ情報(例えば、どのようなコンテンツをユーザが典型的に鑑賞するか、どの時刻にユーザがコンテンツを鑑賞するか、ユーザがソーシャルネットワークと相互作用するかどうか、どの時間にユーザがソーシャルネットワークと相互作用して情報をポストするか、どのようなタイプのコンテンツをユーザが典型的に鑑賞するか(例えば、有料TVまたは無料TV)、気分、脳の活動情報等)を含んでもよい。メディアガイドデータはまた、購読データを含んでもよい。例えば、購読データは、所与のユーザが購読するソースまたはサービスおよび/または所与のユーザが以前に購読していたが、後にアクセスを打ち切ったソースまたはサービス(例えば、ユーザが有料チャンネルを購読するかどうか、ユーザが有料レベルのサービスを追加したかどうか、ユーザがインターネット速度を増加させたかどうか)を識別してもよい。いくつかの実施形態では、視聴者データおよび/または購読データは、1年を上回る期間の間の所与のユーザのパターンを識別してもよい。メディアガイドデータは、所与のユーザがサービス/ソースへのアクセスを打ち切るであろう可能性を示すスコアを生成するために使用される、モデル(例えば、残存者モデル)を含んでもよい。例えば、メディアガイドアプリケーションは、所与のユーザが特定のサービスまたはソースへのアクセスを打ち切るであろうかどうかの可能性を示す、値またはスコアを生成するためのモデルを使用して、購読データとともに視聴者データを処理してもよい。特に、より高いスコアは、ユーザが特定のサービスまたはソースへのアクセスを打ち切るであろう、より高いレベルの信頼性を示し得る。スコアに基づいて、メディアガイドアプリケーションは、ユーザがアクセスを打ち切る可能性が高いであろうものとしてスコアによって示される特定のサービスまたはソースをユーザが維持するように勧誘する宣伝および広告を生成してもよい。
【0092】
メディアガイドアプリケーションは、例えば、ユーザ機器デバイス上に実装される独立型アプリケーションであってもよい。例えば、メディアガイドアプリケーションは、記憶装置308内に記憶され、機器デバイス300の制御回路304によって実行され得る、ソフトウェアまたは一式の実行可能命令として実装されてもよい。いくつかの実施形態では、メディアガイドアプリケーションは、クライアント-サーバアプリケーションであってもよく、その場合、クライアントアプリケーションのみが、ユーザ機器デバイス上に常駐し、サーバアプリケーションは、遠隔サーバ上に常駐する。例えば、メディアガイドアプリケーションは、部分的に、機器デバイス300の制御回路304上のクライアントアプリケーションとして、および部分的に遠隔サーバ上で、遠隔サーバの制御回路上で起動するサーバアプリケーションとして(例えば、コンテンツアグリゲータ430)、実装されてもよい。遠隔サーバの制御回路(コンテンツアグリゲータ430等)によって実行されると、メディアガイドアプリケーションは、制御回路に、ガイドアプリケーション表示を生成し、生成された表示をユーザ機器デバイスに伝送するように命令してもよい。サーバアプリケーションは、コンテンツアグリゲータ430の制御回路に、ユーザ機器上での記憶のためのデータを伝送するように命令してもよい。クライアントアプリケーションは、受信用ユーザ機器の制御回路に、ガイドアプリケーション表示を生成するように命令してもよい。
【0093】
ユーザ機器デバイス402、404、および406に配信されるコンテンツおよび/またはメディアガイドデータは、オーバーザトップ(OTT)コンテンツであってもよい。OTTコンテンツ配信は、上記で説明される任意のユーザ機器デバイスを含む、インターネット対応型ユーザデバイスが、ケーブルまたは衛星接続を経由して受信されるコンテンツに加え、上記で説明される任意のコンテンツを含む、インターネットを経由して転送されるコンテンツを受信することを可能にする。OTTコンテンツは、インターネットサービスプロバイダ(ISP)によって提供されるインターネット接続を介して配信されるが、第三者も、コンテンツを配布する。ISPは、視聴能力、著作権、またはコンテンツの再配布に関与していなくてもよく、OTTコンテンツプロバイダによって提供されるIPパケットのみ転送してもよい。OTTコンテンツプロバイダの実施例は、IPパケットを介して、オーディオおよびビデオを提供する、YOUTUBE(登録商標)、NETFLIX、およびHULUを含む。Youtubeは、Google Inc.によって所有される商標であり、Netflixは、Netflix, Inc.によって所有される商標であり、Huluは、Hulu, LLC.によって所有される商標である。OTTコンテンツプロバイダは、加えて、または代替として、上記で説明されるメディアガイドデータを提供してもよい。コンテンツおよび/またはメディアガイドデータに加え、OTTコンテンツのプロバイダは、メディアガイドアプリケーション(例えば、ウェブベースのアプリケーションまたはクラウドベースのアプリケーション)を配布することができる、またはコンテンツは、ユーザ機器デバイス上に記憶されるメディアガイドアプリケーションによって表示されることができる。
【0094】
メディアガイドシステム400は、いくつかのアプローチまたはネットワーク構成を例証することを意図しており、これによって、ユーザ機器デバイスおよびコンテンツおよびガイドデータのソースは、コンテンツにアクセスし、メディアガイドを提供する目的で、相互と通信してもよい。本明細書に説明される実施形態は、これらのアプローチのうちのいずれか1つまたはサブセットにおいて、またはコンテンツを配信し、メディアガイドを提供するための他のアプローチを採用するシステムにおいて、適用されてもよい。以下の4つのアプローチは、
図4の汎用実施例の具体的例証を提供する。
【0095】
あるアプローチでは、ユーザ機器デバイスは、ホームネットワーク内で相互と通信してもよい。ユーザ機器デバイスは、上記で説明される短距離ポイントツーポイント通信方式を介して、ホームネットワーク上に提供されるハブまたは他の類似デバイスを通した間接パスを介して、または通信ネットワーク414を介して、直接相互と通信することができる。1つの家庭内の複数の個人のそれぞれが、ホームネットワーク上の異なるユーザ機器デバイスを動作させてもよい。結果として、種々のメディアガイド情報または設定が、異なるユーザ機器デバイス間で通信されることが望ましくあり得る。例えば、2005年7月11日出願のEllisらの米国特許公開第2005/0251827号でさらに詳細に説明されているように、ホームネットワーク内の異なるユーザ機器デバイス上で、ユーザが一貫したメディアガイドアプリケーション設定を維持することが望ましくあり得る。ホームネットワーク内の異なるタイプのユーザ機器デバイスがまた、相互と通信し、コンテンツを伝送してもよい。例えば、ユーザは、ユーザコンピュータ機器から携帯用ビデオプレーヤまたは携帯用音楽プレーヤにコンテンツを伝送してもよい。
【0096】
第2のアプローチでは、ユーザは、複数のタイプのユーザ機器を有してもよく、これによって、コンテンツにアクセスし、メディアガイドを取得する。例えば、一部のユーザは、家庭内およびモバイルデバイスによってアクセスされる、ホームネットワークを有してもよい。ユーザは、遠隔デバイス上に実装されるメディアガイドアプリケーションを介して、家庭内デバイスを制御してもよい。例えば、ユーザは、そのオフィスのパーソナルコンピュータ、またはPDAまたはウェブ対応携帯電話等のモバイルデバイスを介して、ウェブサイト上のオンラインメディアガイドアプリケーションにアクセスしてもよい。ユーザは、オンラインガイドアプリケーション上で種々の設定(例えば、録画、リマインダ、または他の設定)を設定して、ユーザの家庭内機器を制御してもよい。オンラインガイドは、直接、またはユーザの家庭内機器上のメディアガイドアプリケーションと通信することによって、ユーザの機器を制御してもよい。ユーザ機器デバイスが相互から遠隔の場所にある、ユーザ機器デバイスの通信のための種々のシステムおよび方法は、例えば、その全体を参照することにより本明細書に組み込まれる、Ellisらの2011年10月25日発行の米国特許第8,046,801号で議論されている。
【0097】
第3のアプローチでは、家庭内外のユーザ機器デバイスのユーザは、コンテンツプロバイダ416と直接通信し、コンテンツにアクセスするために、そのメディアガイドアプリケーションを使用することができる。具体的には、家庭内では、ユーザテレビ機器402およびユーザコンピュータ機器404のユーザは、メディアガイドアプリケーションにアクセスし、所望のコンテンツ間をナビゲートし、それを特定してもよい。ユーザはまた、無線ユーザ通信デバイス406を使用して、家庭外のメディアガイドアプリケーションにアクセスし、所望のコンテンツ間をナビゲートし、それを特定してもよい。
【0098】
第4のアプローチでは、ユーザ機器デバイスは、クラウドコンピューティング環境内で動作し、クラウドサービスにアクセスしてもよい。クラウドコンピューティング環境では、コンテンツ共有、記憶、または配布のための種々のタイプのコンピューティングサービス(例えば、ビデオ共有サイトまたはソーシャルネットワーキングサイト)が、「クラウド」と称される、ネットワーク-アクセス可能コンピューティングおよび記憶リソースの集合によって提供される。例えば、クラウドは、ネットワークを介して接続される、種々のタイプのユーザおよびデバイスにクラウドベースのサービス、例えば、通信ネットワーク414を介したインターネットを提供する、中央または分散場所に位置し得る、サーバコンピューティングデバイスの集合を含むことができる。これらのクラウドリソースは、1つまたはそれを上回るコンテンツプロバイダ416と、1つまたはそれを上回るコンテンツアグリゲータ430とを含んでもよい。加えて、または代替として、遠隔コンピューティングサイトは、ユーザテレビ機器402、ユーザコンピュータ機器404、および無線ユーザ通信デバイス406等の他のユーザ機器デバイスを含んでもよい。例えば、他のユーザ機器デバイスは、ビデオの記憶されたコピーまたはストリーミングされたビデオへのアクセスを提供してもよい。そのような実施形態では、ユーザ機器デバイスは、中央サーバと通信せずに、ピアツーピア様式で動作してもよい。
【0099】
クラウドは、ユーザ機器デバイスのために、他の実施例の中でもとりわけ、コンテンツ記憶、コンテンツ共有、またはソーシャルネットワーキングサービス等のサービスへのアクセス、および上記で説明される任意のコンテンツへのアクセスを提供する。サービスは、クラウドコンピューティングサービスプロバイダを通して、またはオンラインサービスの他のプロバイダを通して、クラウド内で提供されることができる。例えば、クラウドベースのサービスは、コンテンツ記憶サービス、コンテンツ共有サイト、ソーシャルネットワーキングサイト、または他のサービスを含むことができ、それを介して、ユーザ供給コンテンツは、接続されたデバイス上の他者によって視聴するために配布される。これらのクラウドベースのサービスは、ユーザ機器デバイスが、コンテンツをローカルに記憶し、ローカルに記憶されたコンテンツにアクセスするのではなく、コンテンツをクラウドに記憶し、コンテンツをクラウドから受信することを可能にしてもよい。
【0100】
ユーザは、カムコーダ、ビデオモード付きデジタルカメラ、オーディオレコーダ、携帯電話、およびハンドヘルドコンピューティングデバイス等の種々のコンテンツ捕捉デバイスを使用して、コンテンツを録画してもよい。ユーザは、直接、例えば、ユーザコンピュータ機器404から、またはコンテンツ捕捉特徴を有する、無線ユーザ通信デバイス406からのいずれかにおいて、クラウド上のコンテンツ記憶サービスにコンテンツをアップロードすることができる。代替として、ユーザは、最初に、コンテンツをユーザコンピュータ機器404等のユーザ機器デバイスに転送することができる。コンテンツを記憶するユーザ機器デバイスは、通信ネットワーク414上のデータ伝送サービスを使用して、コンテンツをクラウドにアップロードする。いくつかの実施形態では、ユーザ機器デバイス自体が、クラウドリソースであって、他のユーザ機器デバイスが、直接、ユーザがコンテンツを記憶したユーザ機器デバイスから、コンテンツにアクセスすることができる。
【0101】
クラウドリソースは、例えば、ウェブブラウザ、メディアガイドアプリケーション、デスクトップアプリケーション、モバイルアプリケーション、および/またはそれらのアクセスアプリケーションの任意の組み合わせを使用して、ユーザ機器デバイスによってアクセスされてもよい。ユーザ機器デバイスは、アプリケーション配信のためにクラウドコンピューティングに依拠する、クラウドクライアントであってもよい、またはユーザ機器デバイスは、クラウドリソースにアクセスせずに、いくつかの機能性を有してもよい。例えば、ユーザ機器デバイス上で起動するいくつかのアプリケーションは、クラウドアプリケーション、すなわち、インターネットを経由して、サービスとして配信されるアプリケーションであってもよい一方、他のアプリケーションは、ユーザ機器デバイス上に記憶され、起動されてもよい。いくつかの実施形態では、ユーザデバイスは、コンテンツを複数のクラウドリソースから同時に受信してもよい。例えば、ユーザデバイスは、オーディオを1つのクラウドリソースからストリーミングする一方、コンテンツを第2のクラウドリソースからダウンロードすることができる。または、ユーザデバイスは、より効率的なダウンロードのために、コンテンツを複数のクラウドリソースからダウンロードすることができる。いくつかの実施形態では、ユーザ機器デバイスは、
図3に関連して説明される処理回路によって行われる処理動作等の処理動作のために、クラウドリソースを使用することができる。
【0102】
コンテンツ購読を提供するサービスは、多くの場合、ユーザがメディアを同時にストリーミングすることを可能にするために、有限数のストリームを各購読に配分する。しかしながら、各購読に配分されるストリームの数は、購読のタイプに基づいて限定される。事実上、購読の全ての利用可能なストリームが使用中であるとき、メディアをストリーミングすることを所望するコンテンツ購読のユーザは、ストリームが利用可能になるまで待機すること、または別のユーザによって使用されるストリームを制御することを選択することのいずれかを余儀なくされ得る。これは、例えば、エピソードが利用可能になるとすぐに、コンテンツ購読の全てのユーザがテレビ番組の新しいエピソードを視聴することに関心を持ち、ユーザの数が利用可能なストリームの数を超えるときに、ユーザにとって特に不満になる。さらに、ユーザは、付加的ストリームを購入するオプションを認識していない場合があり、また、ストリームが利用不可能であることに起因して、コンテンツ購読の他のユーザ自身がコンテンツを視聴できないことを知る頻度を認識していない場合がある。
【0103】
故に、複数の購読サービスのための複数のアカウントを管理しなければならないことからユーザを解放する、メディアガイドアプリケーションのための方法およびシステムが本明細書に説明される。例えば、ユーザの代わりにユーザアクティビティを監視し、ユーザアカウントを管理することによって、制御回路304は、ユーザの個々の必要性に合わせられた購読サービスおよび/または購読サービスの規約を推奨してもよい。
【0104】
さらに、制御回路304は、ユーザの必要性を最良に満たす購読サービスおよび/または特定の購読サービスからの特定のプランを判定するために、ユーザの代わりに作用し、多数のコンテンツプロバイダから大量のデータを読み出して処理してもよい。以下で綿密に議論されるように、メディアガイドアプリケーションは、ユーザの利益のための動向および統計的最適化を識別するために、別個かつ異種のデータセットを比較することによって、(多くの場合、コンピュータ可読コードのみでアクセス可能な)大量のデータを処理してもよい。
【0105】
いくつかの実施形態では、制御回路304は、購読サービスからユーザに利用可能である、利用可能なストリームの数を、ユーザと関連付けられる購読と関連付けるように構成されてもよい。制御回路304は、メディアコンテンツプロバイダ416内またはコンテンツアグリゲータ430内等のサーバにおいて実装されてもよい。コンテンツアグリゲータ430上に実装される制御回路304は、通信ネットワーク414を使用して、購読にアクセスするユーザによって使用される種々のデバイスと通信してもよい。これらのデバイスは、ユーザテレビ機器402、ユーザコンピュータ機器404、および無線ユーザ通信デバイス406を含んでもよい。例えば、制御回路304は、メディアコンテンツプロバイダ416からコンピュータ機器404にメディアコンテンツ(例えば、テレビ番組「The Simpsons」のエピソード)をストリーミングする要求を受信する。次いで、コンテンツアグリゲータ430上に実装される制御回路304が、要求の数が利用可能なストリームの数を超えないことを判定するならば、コンテンツアグリゲータ430上に実装される制御回路304は、通信ネットワーク414を使用して、メディアコンテンツをユーザコンピュータ機器404にストリーミングする。
【0106】
いくつかの実施形態では、制御回路304は、記憶装置308の中に記憶されたログの中に各要求と関連付けられるデータを記録してもよい。例えば、メディアコンテンツをストリーミングする要求に応答して、制御回路304は、要求と関連付けられるタイムスタンプ、要求されたメディアコンテンツの参照(例えば、テレビ番組「The Simpsons」のエピソードの参照)、コンテンツを要求するユーザの識別子、ユーザがコンテンツを要求するために使用しているデバイスの識別子、および要求の時間に利用可能なストリームの数を記録する。加えて、制御回路304は、要求が果たされたかどうかというインジケーションを記憶してもよい。本インジケーションを提供するために、制御回路304は、要求時に、利用可能なストリームの数を、メディアをストリーミングする要求の総数と比較してもよい。次いで、制御回路304は、要求が果たされたかどうかというインジケーションを記憶してもよい。
【0107】
いくつかの実施形態では、制御回路304は、記憶装置308の中に記憶されたログの中に、メディアデータをストリーミングする各要求と関連付けられる開始タイムスタンプおよび終了タイムスタンプを記録してもよい。制御回路304は、タイムスタンプを各インスタンスに相関させることによって、不十分な数の利用可能なストリームにより、ユーザがコンテンツをストリーミングすることができなかった、これらのインスタンスを効果的に記録するために、タイムスタンプを利用してもよい。例えば、開始タイムスタンプは、制御回路304がメディアをユーザデバイスにストリーミングする要求を受信した時間または時間の近くに対応する。終了タイムスタンプは、制御回路304がストリームをユーザデバイスに送信しなくなった時間または時間の近く(例えば、メディアの再生が完了したとき、またはユーザがメディアの再生を終了させることを要求したとき)を示してもよい。制御回路304がメディアをデバイスにストリーミングする要求を受信し、要求が受信される時間における全要求の数がユーザに利用可能なストリームの数を超えるときに、制御回路304は、メディアをストリーミングする要求が満たされなかったことを示すよう、終了タイムスタンプを記録することなく、開始タイムスタンプのみを記録してもよい。
【0108】
いくつかの実施形態では、制御回路304は、有限数のストリームを購読と関連付けてもよい。例えば、制御回路304は、9つのストリームをユーザRobertの購読と関連付ける。換言すると、9つのストリームが、Robertがコンテンツをストリーミングするのに使用するために利用可能である。故に、任意の他のユーザがRobertの購読を使用してメディアをストリーミングすることを要求するならば、要求が行われる時間に、要求の数が利用可能なストリームの数を超えない限り、それらの要求が果たされるであろう。
【0109】
いくつかの実施形態では、制御回路304は、購読サービスから異なるデバイスにメディアを同時にストリーミングする要求の数が、購読サービスからユーザに利用可能なストリームの数を超える、複数のインスタンスを検出してもよい。例えば、制御回路304は、記録と関連付けられる所与の要求が果たされなかったことを示す識別子を含む記録を識別するために、記憶装置308内のログの中に記憶された記録を読み出す。別の実施例では、制御回路304は、記憶装置308の中に記憶されたログから、要求と関連付けられる開始タイムスタンプを読み出す。読み出された開始タイムスタンプ毎に、制御回路304は、一対の開始タイムスタンプおよび終了タイムスタンプによって定義されるタイムスタンプ範囲との重複の数を判定してもよい。例えば、タイムスタンプ範囲は、開始タイムスタンプ(すなわち、制御回路304がメディアをユーザデバイスにストリーミングする要求を受信した時間または時間の近くと関連付けられる時間に対応する)と終了タイムスタンプ(すなわち、制御回路304がストリームをユーザデバイスに送信しなくなった時間または時間の近くに対応する)との間の持続時間に対応する。次いで、制御回路304は、重複の数が購読サービスからユーザに利用可能なストリームの数を上回るかどうかを判定してもよい。重複の数が利用可能なストリームの数を上回る場合において、制御回路304は、重複をインスタンスと関連付けてもよい。制御回路304はさらに、購読サービスから異なるデバイスにメディアを同時にストリーミングする要求の数が、購読サービスからユーザに利用可能なストリームの数を超える、インスタンスの数を判定するように、ログの中に記憶された全てのタイムスタンプまたはタイムスタンプのサブセットを分析してもよい。例えば、制御回路304は、購読サービスから異なるデバイスにメディアを同時にストリーミングする要求の数が、購読サービスからユーザに利用可能なストリームの数を超える、12のインスタンスを検出する。換言すると、12の機会に、少なくとも1人のユーザは、購読サービスからのストリームにアクセスすることができなかった。
【0110】
いくつかの実施形態では、制御回路304は、複数のタイムスタンプがそれぞれ、複数のインスタンスのうちの1つに対応する、複数のタイムスタンプを生成してもよい。例えば、購読サービスから異なるデバイスにメディアを同時にストリーミングする要求の数が、購読サービスからユーザに利用可能なストリームの数を超える、インスタンスの数を検出することに基づいて、制御回路304は、記憶装置308内のリストの中に各インスタンスと関連付けられるタイムスタンプを記憶する。開始タイムスタンプおよび終了タイムスタンプを分析する上記の実施例を続けると、制御回路304は、購読サービスから異なるデバイスにメディアを同時にストリーミングする要求の数が、購読サービスからユーザに利用可能なストリームの数を超える、複数のインスタンスを検出した後、各インスタンスを対応する開始タイムスタンプと関連付ける。例えば、制御回路304が、購読サービスから異なるデバイスにメディアを同時にストリーミングする要求の数が購読サービスからユーザに利用可能なストリームの数を超える、12のインスタンスを検出する場合、制御回路304は、各タイムスタンプが12のインスタンスのうちの1つに対応する、タイムスタンプのリストを生成し、記憶装置308の中に記憶する。
【0111】
いくつかの実施形態では、制御回路304は、複数のタイムスタンプのそれぞれを、購読サービスのための購読期間に対応するタイムスタンプの範囲と比較し、購読期間中に起こった複数のインスタンスの数を判定してもよい。例えば、制御回路304が12のタイムスタンプを生成する場合には、制御回路304は、12のタイムスタンプのそれぞれを購読サービスのための購読期間と比較し、購読期間に入るインスタンスの数を(それらの対応するタイムスタンプに基づいて)判定する。以前に議論されたように、購読期間は、開始タイムスタンプおよび終了タイムスタンプによって定義されてもよい。次いで、制御回路304は、12のタイムスタンプのそれぞれを比較し、各タイムスタンプが購読期間の開始および終了タイムスタンプによって定義される時間の範囲内に入るかどうかを判定する。範囲内に入るタイムスタンプの数に基づいて、制御回路304は、購読期間中に起こった複数のインスタンスの数を判定してもよい。例えば、制御回路304は、12の生成されたタイムスタンプのうち、9つが購読期間の開始および終了タイムスタンプによって定義される時間の範囲内に入ることを判定する。
【0112】
いくつかの実施形態では、制御回路304は、サーバにおいて、購読期間中に起こった複数のインスタンスの数を購読期間の閾値数と比較してもよい。例えば、閾値数は、その後にユーザが利用可能なストリームの不足に不満を感じ得る、インスタンスの数を示してもよい。閾値数を超えたかどうかを判定することによって、制御回路は、ユーザが付加的ストリームを取得することを所望する可能性が高いかどうかを判定してもよい。以下でより明白となるように、制御回路304は、購読期間の閾値数を判定するために、異なるアプローチを利用してもよい。したがって、単一の静的閾値に依拠する代わりに、制御回路は、個々のユーザが利用不可能なストリームを許容する様々な能力を有するため、ユーザの視聴習慣から導出される閾値を適用してもよい。例えば、制御回路304は、購読サービスからユーザに利用可能なストリームの数を閾値数の基礎とする。例えば、制御回路304は、利用不可能なストリームに常に直面しているユーザを標的にする。その目的で、制御回路304が、購読サービスからユーザに利用可能なストリームの数(例えば、9つのストリーム)が購読サービスの平均的ユーザに利用可能なストリームの平均数よりも大きい(例えば、平均的ユーザが2つだけのストリームと関連付けられ得る)ことを判定する場合、制御回路304は、閾値数をより小さい数(例えば、4)に設定する。複数のストリームと関連付けられる購読におけるユーザが、ストリーミング対立を最小限にするように、余分なストリームを前もって追加している場合があるため、そのようなユーザは、さらなるストリーミング対立を体験することにすでに敏感であり得る。したがって、制御回路304は、ストリーミング対立の数がより低い閾値を超えるときに、そのようなシステムにおけるユーザを標的にしてもよい。
【0113】
いくつかの実施形態では、制御回路304は、購読期間中に起こった複数のインスタンスの数が購読期間の閾値数を超えることを判定するステップに応答して、通信ネットワーク414を介して、サーバから異なるデバイスのうちの1つにメッセージを伝送してもよい。メッセージを伝送することによって、制御回路304は、コンテンツをストリーミングできないことに対するユーザの不満に対処してもよく、かつユーザが利用可能なストリームの不十分な数量という問題に対処する機会を提供してもよい。制御回路304は、データストリーム入力および出力メトリックと比較したときに、他の変数(例えば、価格)を制御しながら、代替購読サービス/プランがユーザに利用可能なストリーム数を向上させ得るかどうかを判定してもよい。該当する場合、制御回路は、(例えば、付加的ストリームが購入するために利用可能であることを示す)代替購読サービス/プランを推奨するメッセージを伝送してもよい。例えば、購読期間中に起こった複数のインスタンスの数(例えば、12)が閾値数(例えば、8)を超えることを判定するステップに応答して、制御回路304は、デバイスと関連付けられるユーザが付加的ストリームを購入できることを示す、メッセージをサーバからデバイスに伝送する。制御回路304は、頻繁なストリーミング対立に起因して、ユーザが付加的ストリームを購入できることを示すようにメッセージを生成してもよい。制御回路304は、ユーザテレビ機器402、ユーザコンピュータ機器404、または無線通信デバイス406のディスプレイ312上に表示するためにメッセージを伝送してもよい。例えば、制御回路304は、ユーザテレビ機器402のディスプレイ312上に表示される、番組一覧表示100内で表示するためにメッセージを生成する。
【0114】
いくつかの実施形態では、制御回路304は、購読期間の時間の長さに基づいて、複数の潜在的閾値数から購読期間の閾値数を選択してもよい。制御回路304は、記憶装置308の中に記憶された購読と関連付けられるデータにアクセスすることによって、購読期間と関連付けられる時間の長さを判定してもよい。例えば、制御回路304は、購読期間の開始タイムスタンプおよび終了タイムスタンプに基づいて、購読期間の長さを判定する。例えば、制御回路304は、1ヶ月の購読期間を判定する。本実施例では、購読サービスからメディアを同時にストリーミングする要求の数が購読サービスからユーザに利用可能なストリームの数を超える、インスタンスの数が多くなりそうにないため、ユーザがストリームの数を増加させる、または自分の視聴習慣を改変する必要性を知覚しない場合に、ユーザがメッセージに従って行動することに関心がない場合があるため、低い閾値を設定することは望ましくない場合がある。その目的で、制御回路304は、平均して、購読サービスからメディアを同時にストリーミングする要求の数が、例えば、6ヶ月の期間と比較して、1ヶ月の期間中に、購読サービスからユーザに利用可能なストリームの数を超える、少数のインスタンスがあり得るという事実を考慮するよう、低い閾値数(例えば、10)を選択する。故に、制御回路304は、時間の長さがより長い(例えば、1年)と判定される場合、より大きい閾値を設定する。
【0115】
いくつかの実施形態では、制御回路304は、記憶装置308の中に購読期間と関連する複数の閾値を記憶してもよい。例えば、制御回路304は、ストリーミング対立(例えば、購読サービスからメディアを同時にストリーミングする要求の数が、購読サービスからユーザに利用可能なストリームの数を超える、インスタンスの数)が、どれだけ頻繁に所与の長さの購読期間中に起こるかを分析する。制御回路304はさらに、対立が購読期間中に起こったインスタンスを、ユーザが自分の購読に関連するアクションを行ったインスタンスと相関させる。例えば、制御回路304は、いくつかの対立が起こった時間の前後に、ユーザが新しいストリームを自分の購読に追加したこと(例えば、ユーザがストリーミング対立に不満を感じ、利用可能なストリームの数を増加させることによって、将来のストリーミング対立を回避するように作用した状況)を判定する。別の実施例では、制御回路304は、ある数の対立が起こった時間の前後に、ユーザが自分の購読をキャンセルしたこと(例えば、ユーザがストリーミング対立に不満を感じ、故に、自分の購読をキャンセルするように作用した状況)を判定する。制御回路304は、購読期間長と関連付ける有効閾値数を判定するために、購読に行われるアクションがある数のストリーミング対立と相関させられる、これらのインスタンスに統計分析を行ってもよい。このようにして、制御回路304は、有用なメッセージを伝送する一方で、同時に、ストリーミング対立に対する不満を体験する可能性が低くあり得る他のユーザの妨害を回避することによって、ストリーミング対立によって不満を感じたユーザを効果的に標的にすることを可能にするであろう、閾値数を判定する。制御回路304は、記憶装置308内の所与の購読期間と関連付けられる記録の中に閾値数を保存してもよい。
【0116】
いくつかの実施形態では、制御回路304は、購読サービスからユーザに利用可能なストリームの数に基づいて、複数の潜在的閾値数から購読期間の閾値数を選択してもよい。例えば、1つまたは2つだけのストリームが利用可能であるときに、ストリーミング対立が起こる可能性がより高いため、購読サービスからユーザに利用可能な少数のストリームによって特徴付けられる購読のユーザは、メディアを同時にストリーミングする要求の数が、どれだけ頻繁に購読サービスからユーザに利用可能なストリームの数を超えるかを理解しようとする可能性がより高い。その一方で、殆どのストリーミング対立を回避するために、ユーザの購読の中にすでに十分なストリームがある可能性がより高いため、購読サービスからユーザに利用可能な多数のストリームによって特徴付けられる購読のユーザは、メディアを同時にストリーミングする要求の数が、どれだけ頻繁に購読サービスからユーザに利用可能なストリームの数を超えるかを理解することに関心がある可能性が低い。
【0117】
いくつかの実施形態では、制御回路304は、記憶装置308の中に購読サービスからユーザに利用可能なストリームの数と関連する複数の閾値を記憶してもよい。例えば、制御回路304は、対立(例えば、購読サービスからメディアを同時にストリーミングする要求の数が、購読サービスからユーザに利用可能なストリームの数を超える、インスタンスの数)が、どれだけ頻繁にユーザに潜在的に利用可能にされ得るストリームの数毎に起こるかを分析する。例えば、制御回路304は、1つだけのストリームがユーザに利用可能であるとき、2つのストリームが利用可能であるとき等に起こる、対立の平均数を判定する。制御回路304はさらに、利用可能なストリームの数毎に起こる対立の平均数を、ユーザが自分の購読に関連するアクションを行ったインスタンスと相関させてもよい。例えば、制御回路304は、1つだけの利用可能なストリームがあるときに、ユーザが頻繁に新しいストリームを自分の購読に追加すること(例えば、ユーザがメディアを1つだけのデバイスにストリーミングすることができ、したがってユーザが、利用可能なストリームの数を増加させることによって、将来のストリーミング対立を回避するように作用した状況)を判定する。別の実施例では、制御回路304は、ある数の対立が起こった時間の前後に、ユーザが自分の購読をキャンセルしたこと(例えば、ユーザがストリーミング対立に不満を感じ、したがって、自分の購読をキャンセルするように作用した状況)を判定する。制御回路304は、購読期間長と関連付ける閾値数を判定するために、購読に行われるアクションが利用可能なストリームの数と相関させられる、これらのインスタンスに統計分析を行ってもよい。次いで、制御回路304は、記憶装置308内の購読と関連付けられる記録の中に閾値数を保存してもよい。
【0118】
いくつかの実施形態では、制御回路304は、複数のタイムスタンプのそれぞれを、購読サービスのための購読期間の一部に対応するタイムスタンプの範囲と比較し、購読期間の一部の間に起こった複数のインスタンスの数を判定してもよい。例えば、制御回路304は、タイムスタンプのそれぞれを、人気の番組が放送される購読期間の一部(例えば、番組「The Simpsons」の新しいエピソードの放送に対応する、水曜日の午後7時から午後9時のタイムスロットに対応し得る購読期間の全ての部分)に対応するタイムスタンプの範囲と比較し、購読期間の一部に対応するタイムスタンプの範囲内の10のタイムスタンプの発生を判定する。
【0119】
いくつかの実施形態では、制御回路304は、その間にユーザが頻繁にメディアをストリーミングする、1日、1週間、または1ヶ月の間の時間を識別することによって、購読期間の一部を判定してもよい。例えば、制御回路304は、記憶装置308内のログの中に記憶されたデータを分析することによって、全ストリーム消費のある割合(例えば、75%)に対応する1週間の時間を識別することに基づいて、購読期間の部分を識別する。例えば、制御回路304は、購読期間中の全てのメディアストリーミングの75%が午後6時~午後12時の間に(例えば、ユーザが仕事または学校から帰った後に)起こったことを判定する。次いで、制御回路304は、毎日午後6時~午後12時によって定義される時間範囲のみを含むように購読期間の一部を定義する。
【0120】
さらに、制御回路304は、サーバにおいて、購読期間の一部の間に起こった複数のインスタンスの数を購読期間の一部の閾値数と比較してもよい。例えば、制御回路304は、購読期間の一部の間に起こった複数のインスタンスの数(例えば、8)を閾値数(例えば、6)と比較する。
【0121】
いくつかの実施形態では、制御回路304は、購読期間の一部の間に起こった複数のインスタンスの数が購読期間の一部の閾値数を超えることを判定するステップに応答して、サーバから異なるデバイスのうちの1つへ伝送されるメッセージを修正してもよい。例えば、制御回路304は、購読期間の一部の間に起こった複数のインスタンスの数(例えば、8)が閾値数(例えば、6)を超えることを判定する。応答して、制御回路304は、例えば、メディアを同時にストリーミングする要求の数が、多くの場合、購読期間の対応する部分の間に(例えば、番組「The Simpsons」の新しいエピソードの放送に対応し得る、水曜日の午後7時~午後9時の間のタイムスロットの間に)購読サービスからユーザに利用可能なストリームの数を超えることを示すことによって、サーバからデバイスのうちの1つに伝送される、メッセージを修正する。例えば、制御回路304は、「あなたの購読と関連付けられる他のユーザが、おそらく新しいThe Simpsonsエピソードを鑑賞する予定のため、本日、午後7時前に番組を視聴することを検討して下さい」等のメッセージを生成する。代替として、制御回路304は、購読期間の一部の間に起こった複数のインスタンスの数(例えば、8)が閾値数(例えば、6)を超えることを判定するステップに応答して、付加的ストリームが購入され得ることを示す、メッセージを生成してもよい。例えば、制御回路304は「あなたの購読はあなたの視聴習慣をサポートしていないようです。あなたの購読の中のストリームの数を増加させる方法を知りたいですか?」等のメッセージを生成する。
【0122】
いくつかの実施形態では、制御回路304は、購読期間の時間の長さに基づいて、複数の潜在的閾値数から購読期間の一部の閾値数を選択してもよい。例えば、購読期間の時間の長さに基づいて、複数の潜在的閾値数から購読期間の閾値数を選択することに関連して上記で説明されるように、制御回路304は、購読期間の一部の閾値数を選択するように、類似原理を適用してもよい。
【0123】
いくつかの実施形態では、制御回路304は、購読期間の一部に対応する日付に基づいて、複数の潜在的閾値数から購読期間の一部の閾値数を選択してもよい。例えば、制御回路304は、通信ネットワーク414を介してクエリをコンテンツアグリゲータ430に送信することによって、人気のテレビ番組(例えば、「The Simpsons」)のシーズンプレミアが購読期間の一部に入ることを判定する。制御回路304は、応答して、購読のユーザの大多数が人気のテレビ番組(例えば、「The Simpsons」)のシーズンのエピソードを視聴することに関心があるという事実を考慮するよう、購読期間の一部のために低い閾値数を選択してもよい。このようにして、ユーザは、ユーザがストリーミング対立を気に掛ける可能性がより高い時間に、ストリーミング対立について知らされる可能性がより高くあり得る。別の実施例では、制御回路304は、夏の月(例えば、6月、7月、および8月)に対応する日付が購読期間の一部内で起こることを判定する。夏の月は、通常、より少ない新しいテレビ番組が放送されていることと関連付けられる。加えて、子供のいるユーザは、メディアをストリーミングすることに少ない時間を費やす可能性がより高く、したがって、ユーザは、代わりに、他の季節の月と比較して、より多くの時間を休暇および屋外で過ごし得る。したがって、夏の月の間に、ユーザは、ストリーミング対立によって不満をあまり感じない場合があり、ストリーミング対立はまた、起こる可能性が低くあり得る。故に、制御回路304は、6月、7月、または8月の月に入る購読期間の一部に対応する日付に基づいて、複数の潜在的閾値数から購読期間の一部のために高い閾値を設定してもよい。このようにして、ユーザは、ユーザがメディアを低頻度でストリーミングし得る月の間に、存在する場合、より少ないメッセージを受信してもよい。
【0124】
いくつかの実施形態では、制御回路304は、購読期間の一部に対応する時刻に基づいて、複数の潜在的閾値数から購読期間の一部の閾値数を選択してもよい。例えば、制御回路304は、購読と関連付けられるプロファイルにアクセスすることによって、ユーザの視聴履歴を監視する。一実施例では、制御回路304は、ユーザテレビ機器402、ユーザコンピュータ機器404、または無線ユーザ通信デバイス406上の購読データの中に記憶されたユーザ履歴にクエリを行う。異なる実施例では、制御回路304は、メディアガイドデータソースの記憶装置308上のユーザ履歴にクエリを行う。制御回路304は、ユーザ履歴を分析することによって、その間にユーザがメディアをストリーミングする可能性が最も高い時間を判定する。一実施例では、制御回路304は、殆どのユーザが夜間に(例えば、仕事または学校から帰った後に)メディアをストリーミングすることを判定する。制御回路304は、ユーザが自分の視聴習慣およびストリーミングの必要性を理解することに役立つために、その間にユーザがメディアをストリーミングする可能性が最も高い時間のために低い閾値数を選択してもよい。例えば、購読期間の一部(例えば、所与の日の間の午後8時~午後10時の間のタイムスロット)が、購読のユーザがメディアをストリーミングする可能性が最も高い時間に対応することを判定するステップに応答して、制御回路304は、(例えば、ユーザが仕事および学校から帰った後に、ストリーミング対立が起こる可能性がより高いという事実を考慮するように)低い閾値数を選択する。
【0125】
いくつかの実施形態では、制御回路304は、購読期間の一部の間に購読サービスから利用可能になったメディアアセットの数に基づいて、複数の潜在的閾値数から購読期間の一部の閾値数を選択してもよい。例えば、いくつかの購読サービスは、新しいメディアアセットを定期的に追加することによって、それらのコンテンツ提供を改良する。これが起こるならば、ユーザは、新しいメディアアセットが利用可能になる前にユーザが有したよりも多くのメディアをストリーミングすることに関心を持ち得る。したがって、より多くのストリーミング対立が起こる可能性が高い。制御回路304は、購読期間の一部の間に購読サービスメディア提供に追加されたメディアアセットの数に基づいて、購読期間の一部の間に購読サービスから利用可能になったメディアアセットの数を判定してもよい。制御回路304は、通信ネットワーク404を経由してクエリをコンテンツアグリゲータ430に送信することによって、購読期間の一部の間に購読サービスから利用可能になったメディアアセットの数を判定してもよい。そのようなクエリは、購読期間の一部に対応する時間期間中に購読サービスの提供に追加されたメディアアセットの数を要求してもよい。例えば、購読期間の一部の間に購読サービスから利用可能になったメディアアセットの数が、購読期間の他の部分の間に購読サービスから利用可能になったメディアアセットの数と比較して大きい場合、制御回路304は、購読のユーザが、(例えば、最近追加されたため)以前にストリーミングされていないメディアアセットをストリーミングする可能性がより高く、したがって、どれだけ頻繁に要求の数が購読サービスからユーザに利用可能なストリームの数を超えるかを理解することを所望する可能性がより高くあり得るという事実を考慮するよう、低い閾値数を設定する。
【0126】
いくつかの実施形態では、制御回路304は、複数のインスタンスの頻度を低減させるための推奨を含む、メッセージを伝送してもよい。例えば、購読期間中に起こった複数のインスタンスの数が購読期間の閾値数を超えることを判定するステップに応じて、制御回路304は、サーバから異なるデバイスのうちの1つにメッセージを伝送する。メッセージは、複数のインスタンスの頻度を低減させるための推奨を含んでもよい。例えば、制御回路304は、ユーザがある時間外に(例えば、ユーザがストリーミングすることに関心がある、番組「The Simpsons」の新しいエピソードの放送に対応し得る、水曜日の午後7時から午後9時のタイムスロット外に)メディアを正常にストリーミングする可能性がより高いであろうことをユーザに知らせる。メッセージは、ストリーミング対立についてユーザに知らせるときに有用であり得る、情報を含んでもよい。例えば、そのような情報は、メディアアセットの名称、ユーザの名前、購読期間中に起こるストリーミング対立の数、購読の中のストリームの数を増加または減少させるための命令、および将来のストリーミング対立の数を最小限にさせる方法の推奨を含む。
【0127】
図5および6は、本開示のいくつかの実施形態による、制御回路(例えば、制御回路304)が、購読サービスから異なるデバイスにメディアを同時にストリーミングするインスタンスの数が、購読期間中の利用可能なストリームの数を超える、インスタンスの数を検出するため、かつインスタンスの数がある数を超えるときにメッセージをデバイスのうちの1つに伝送するためのアルゴリズムを提示する。いくつかの実施形態では、本アルゴリズムは、処理回路(例えば、処理回路306)によって復号および実行される命令のセットとして、非一過性記憶媒体(例えば、記憶デバイス308)上に符号化されてもよい。処理回路は、ひいては、同調、ビデオ生成、符号化、復号、暗号化、解読、スケーリング、アナログ/デジタル変換回路、および同等物等の制御回路304内に含有される他のサブ回路に命令を提供してもよい。
【0128】
図5のフローチャートは、本開示のいくつかの実施形態による、制御回路(例えば、制御回路304)が購読期間内に起こったインスタンスの数を判定するためのアルゴリズムを説明する。
【0129】
ステップ502では、メディアをストリーミングする要求に基づいて、購読サービスから異なるデバイスにメディアを同時にストリーミングする要求の数が、利用可能なストリームの数を超える、購読期間内に起こったインスタンスの数を検出するアルゴリズムが、始まるであろう。いくつかの実施形態では、これは、直接または間接的のいずれかで、(例えば、制御回路304またはユーザ入力インターフェース310によって受信される信号からの)ユーザアクションまたは入力に応答して行われてもよい。例えば、アルゴリズムは、制御回路304がユーザ入力インターフェース310から信号を受信することに直接応答して開始してもよい、または制御回路304は、アルゴリズムを起動することに先立って、(例えば、ディスプレイ312上に表示されるプロンプトを生成することによって)表示を使用して自分の入力を確認するようにユーザを促してもよい。
【0130】
ステップ504では、制御回路304は続いて、記憶されたメモリからタイムスタンプの次のインスタンスを読み出す。いくつかの実施形態では、制御回路304は、タイムスタンプの値を表す単一の基本データ構造を受信してもよい。いくつかの実施形態では、値は、より大きいデータ構造の一部として記憶されてもよく、制御回路304は、より大きいデータ構造から値を読み出すように適切なアクセサ方法を実行することによって、値を読み出してもよい。
【0131】
ステップ506では、制御回路304は続けて、読み出されたタイムスタンプの値を、購読期間と関連付けられる開始タイムスタンプの記憶された値および終了タイムスタンプの記憶された値と比較する。いくつかの実施形態では、購読期間と関連付けられる開始タイムスタンプの値および終了タイムスタンプの記憶された値は、アルゴリズムを開始することに先立って、(例えば、記憶デバイス308上に)記憶されてもよい。いくつかの実施形態では、購読と関連付けられる開始タイムスタンプの値および終了タイムスタンプの値はまた、読み出されたタイムスタンプのありとあらゆるインスタンスについて読み出されてもよく、購読と関連付けられる開始タイムスタンプおよび終了タイムスタンプの値は、反復によって変化し得る。いくつかの実施形態では、制御回路304は、それぞれ、メモリから値にアクセスし、値の比較を行うことによって、購読と関連付けられる開始タイムスタンプの値および終了タイムスタンプの記憶された値を、読み出されたタイムスタンプの値と直接比較してもよい。いくつかの事例では、制御回路304は、読み出されたタイムスタンプおよび購読と関連付けられる開始タイムスタンプおよび終了タイムスタンプの記憶された値を比較するように、(例えば、物体間比較のための)比較関数を呼び出してもよい。
【0132】
ステップ508では、制御回路304は、読み出されたタイムスタンプの値および購読と関連付けられる終了タイムスタンプの記憶された値を比較し、読み出されたタイムスタンプの値が、購読と関連付けられる終了タイムスタンプの値を上回るかどうかを判定する。条件が満たされる場合、アルゴリズムは、ステップ510に進んでもよい。条件が満たされない場合、アルゴリズムは、代わりにステップ512に進んでもよい。
【0133】
ステップ510では、制御回路304は、ステップ508における条件が満たされていることに基づいて、読み出されたタイムスタンプと関連付けられるインスタンスを無視するようにサブルーチンを実行するであろう。サブルーチンが実行された後、アルゴリズムは、ステップ516に進んでもよく、読み出されたタイムスタンプの全てのインスタンスが考慮され、さらなる反復が必要とされるかどうかが判定される。
【0134】
ステップ512では、制御回路304は、読み出されたタイムスタンプおよび開始タイムスタンプの値を比較し、読み出されたタイムスタンプの値が開始タイムスタンプの値を上回るかどうかを判定する。条件が満たされた場合、アルゴリズムは、ステップ514に進んでもよい。条件が満たされない場合、アルゴリズムは、代わりにステップ516に進んでもよい。
【0135】
ステップ514では、制御回路304は、ステップ512の条件が満たされていることに基づいて、識別されたタイムスタンプと関連付けられるインスタンスを、購読期間内にあるインスタンスのカウントに追加するようにサブルーチンを実行するであろう。サブルーチンが実行された後、アルゴリズムは、ステップ516に進んでもよく、タイムスタンプの全てのインスタンスが考慮され、さらなる反復が必要とされるかどうかが判定される。
【0136】
ステップ516では、制御回路304は、タイムスタンプの全てのインスタンスが考慮されるかどうかをチェックするであろう。インスタンスの全てが評価された場合、制御回路304は、ステップ518に進んでもよい。例えば、制御回路304は、タイムスタンプの次の要素があるかどうかを確認する関数を呼び出してもよい。関数が真(すなわち、依然として処理される必要があるインスタンスがある)を返す場合、制御回路304は、ステップ504に進んでもよい。
【0137】
ステップ518では、制御回路304は、識別されたインスタンスの総数を閾値数と比較するようにサブルーチンを実行するであろう。
【0138】
図5の説明は、本開示の任意の他の実施形態とともに使用され得ることが考慮される。加えて、
図5のアルゴリズムに関して説明される説明は、本開示の目的を促進するように、代替的な順序で、または並行して行われてもよい。例えば、508および512におけるもの等の条件文および論理評価は、システムまたは方法の遅延を低減させる、または速度を増加させるように、任意の順序で、または並行して、または同時に行われてもよい。さらなる実施例として、いくつかの実施形態では、いくつかのタイムスタンプのインスタンスは、複数の論理プロセッサスレッドを使用して、並行して評価されてもよい、またはアルゴリズムは、分岐予測を組み込むことによって拡張されてもよい。さらに、
図5のアルゴリズムは、適切に構成されたソフトウェアおよびハードウェアの組み合わせ上に実装されてもよく、アルゴリズムの1つまたはそれを上回る部分を実装するために、
図3-4に関して議論されるデバイスまたは機器のいずれかが使用され得ることに留意されたい。
【0139】
図6の擬似コードは、本開示のいくつかの実施形態による、メディアをストリーミングする要求に基づいて始まるであろう、購読サービスから異なるデバイスにメディアを同時にストリーミングする要求の数が、利用可能なストリームの数を超える、購読期間内に起こったインスタンスの数を検出するアルゴリズムを説明する。
図6の擬似コードによって説明されるプロセスは、任意の数のプログラミング言語および種々の異なるハードウェアで実装され得、スタイルおよび形式は、限定的として解釈されるべきではなく、本開示のいくつかの実施形態を実装するために使用されるコードと一致するであろうステップおよびプロシージャの一般的テンプレートとして解釈されるべきであることが、当業者に明白となるであろう。
【0140】
ライン601では、アルゴリズムは、ライン605上で始まる、変数を初期化し、購読期間内に起こったインスタンスの数を判定することを準備するようにサブルーチンを起動してもよい。例えば、いくつかの実施形態では、制御回路304は、初期化段階中に、非一過性の記憶媒体(例えば、記憶デバイス308)からRAMの中へ、または処理回路306用のキャッシュの中へ命令をコピーしてもよい。加えて、いくつかの実施形態では、比較に使用されている、記憶された購読期間開始タイムスタンプの値および記憶された購読期間終了時間の値が、601において読み出され、設定され、および記憶されてもよい。
【0141】
ライン605では、制御回路304は、タイムスタンプのインスタンスを受信してもよい。いくつかの実施形態では、これらのインスタンスは、記憶されたメモリから読み出されてもよい。制御回路304は、例えば、タイムスタンプの値のアレイへのポインタを受信することによって、タイムスタンプのインスタンスを受信する。別の実施例では、制御回路304は、タイムスタンプの要素を含有するイテレータオブジェクト等のクラスのオブジェクトを受信する。
【0142】
ライン606では、制御回路304は、タイムスタンプの種々のインスタンスを通して反復してもよく、単一のインスタンスのみが利用可能である場合、ループは、一度だけ実行するであろう。本ループは、
図6のアルゴリズムを実装するために使用されるハードウェアおよびソフトウェア言語の選択肢に応じて、複数の様式で実装されてもよく、例えば、これは、「for」または「while」ループの一部として実装されてもよい。
【0143】
ライン607では、制御回路304は、タイムスタンプの値を一時変数「A」の中に記憶するであろう。いくつかの実施形態では、タイムスタンプの値は、より大きいデータ構造またはクラスの一部として記憶され、タイムスタンプの値は、適切なアクセサ方法を通して取得されてもよい。いくつかの実施形態では、タイムスタンプは、適切なハッシングアルゴリズムを用いて、文字列または他の非数値データタイプから数値データタイプに変換されてもよい。いくつかの実施形態では、制御回路304は、購読期間開始時間への読み出されたタイムスタンプの比較を行う関数を呼び出してもよい。いくつかの実施形態では、タイムスタンプは、基本データ構造として符号化されてもよく、一時変数を使用するのではなく、読み出されたタイムスタンプは、ライン610および612における比較で直接使用されてもよい。
【0144】
ライン608では、制御回路304は、購読期間開始タイムスタンプの値を一時変数「B」の中に記憶するであろう。タイムスタンプと同様に、いくつかの実施形態では、購読期間開始タイムスタンプの値は、より大きいデータ構造またはクラスの一部として記憶され、購読期間開始タイムスタンプの値は、アクセサ方法を通して取得されてもよい。いくつかの実施形態では、購読期間開始タイムスタンプは、適切なハッシングアルゴリズムを用いて、文字列または他の非数値データタイプから数値データタイプに変換されてもよい、または購読期間開始タイムスタンプは、基本データ構造であってもよく、ライン612における比較で直接使用されてもよい。
【0145】
ライン609では、制御回路304は、購読期間終了時間の値を一時変数「C」の中に記憶するであろう。開始タイムスタンプと同様に、いくつかの実施形態では、購読期間終了タイムスタンプの値は、より大きいデータ構造またはクラスの一部として記憶され、購読期間終了タイムスタンプの値は、アクセサ方法を通して取得されてもよい。いくつかの実施形態では、購読期間終了タイムスタンプは、適切なハッシングアルゴリズムを用いて、文字列または他の非数値データタイプから数値データタイプに変換されてもよい、または購読期間終了タイムスタンプは、基本データ構造であってもよく、ライン610における比較で直接使用されてもよい。
【0146】
ライン610では、制御回路304は、AおよびCの値を比較して、AがCを上回るかどうかを判定するであろう。
【0147】
ライン611では、制御回路304は、ライン610における条件が満たされている場合に、読み出されたタイムスタンプ制御回路と関連付けられるインスタンスを無視するようにサブルーチンを実行するであろう。
【0148】
ライン612では、制御回路304は、AおよびBの値を比較し、AがBを上回るかどうかを判定するであろう。
【0149】
ライン613では、制御回路304は、ライン612における条件が満たされている場合に、識別されたタイムスタンプと関連付けられるインスタンスを、購読期間内にあるインスタンスのカウントに追加するようにサブルーチンを実行するであろう。
【0150】
ライン615では、制御回路304は、ライン610または612における条件のいずれも満たされていない場合に、タイムスタンプと関連付けられる全てのインスタンスが制御回路304を使用して考慮されるかどうかを判定するように、サブルーチンを実行するであろう。
【0151】
ライン617では、制御回路304は、アルゴリズムがその機能を果たした後に終了サブルーチンを起動してもよい。例えば、いくつかの実施形態では、制御回路304は、変数を破壊する、ガベージコレクションを行う、メモリを解放する、または処理回路306のキャッシュを消去してもよい。
【0152】
図6の擬似コードによって説明されるアルゴリズムは、任意の数のプログラミング言語および種々の異なるハードウェアで実装され得、原始関数、論理評価、および機能評価の特定の選択肢および場所は、限定的であることを意図していないことが、当業者に明白となるであろう。また、コードは、種々の論理評価の順序を操作する、単一の反復ループではなくていくつかの反復を並行して行う、または入力または最終出力を根本的に変更することなく、実行時間および性能メトリックを別様に操作して最適化するように、リファクタリングされ得る、または書き換えられ得ることも明白となるであろう。例えば、いくつかの実施形態では、ブレイク条件が、動作を加速するためにライン610および612後に課されてもよい、または条件文が、ケーススイッチと置換されてもよい。いくつかの実施形態では、ステップ606においてタイムスタンプの全てのインスタンスにわたって反復するのではなく、いくつかの実施形態では、制御回路304が複数のプロセッサまたはプロセッサスレッド上で同時にタイムスタンプの複数のインスタンスを評価するように命令され、必要とされる反復の数を削減し、潜在的に計算時間を加速するように、コードが書き換えられてもよい。
【0153】
図7および8は、本開示のいくつかの実施形態による、制御回路(例えば、制御回路304)が、購読サービスから異なるデバイスにメディアを同時にストリーミングするインスタンスの数が、購読期間の一部の間に利用可能なストリームの数を超える、インスタンスの数を検出するため、かつインスタンスの数がある数を超えるときにメッセージをデバイスのうちの1つに伝送するためのアルゴリズムを提示する。いくつかの実施形態では、本アルゴリズムは、処理回路(例えば、処理回路306)によって復号および実行される命令のセットとして、非一過性の記憶媒体(例えば、記憶デバイス308)上に符号化されてもよい。処理回路は、ひいては、同調、ビデオ生成、符号化、復号、暗号化、解読、スケーリング、アナログ/デジタル変換回路、および同等物等の制御回路304内に含有される他のサブ回路に命令を提供してもよい。
【0154】
図7のフローチャートは、本開示のいくつかの実施形態による、制御回路(例えば、制御回路304)が購読期間の一部の間に起こったインスタンスの数を判定するためのアルゴリズムを説明する。
【0155】
ステップ702では、メディアをストリーミングする要求に基づいて、購読サービスから異なるデバイスにメディアを同時にストリーミングする要求の数が、利用可能なストリームの数を超える、購読期間の一部内に起こったインスタンスの数を検出するアルゴリズムが、始まるであろう。いくつかの実施形態では、これは、直接または間接的のいずれかで、(例えば、制御回路304またはユーザ入力インターフェース310によって受信される信号からの)ユーザアクションまたは入力に応答して行われてもよい。例えば、アルゴリズムは、制御回路304がユーザ入力インターフェース310から信号を受信することに直接応答して始まってもよい、または制御回路304は、アルゴリズムを起動することに先立って、(例えば、ディスプレイ312上に表示されるプロンプトを生成することによって)表示を使用して自分の入力を確認するようにユーザを促してもよい。
【0156】
ステップ704では、制御回路304は続いて、記憶されたメモリからタイムスタンプの次のインスタンスを読み出す。いくつかの実施形態では、制御回路304は、タイムスタンプの値を表す単一の基本データ構造を受信してもよい。いくつかの実施形態では、値は、より大きいデータ構造の一部として記憶されてもよく、制御回路304は、より大きいデータ構造から値を読み出すように適切なアクセサ方法を実行することによって、値を読み出してもよい。
【0157】
ステップ706では、制御回路304は続けて、読み出されたタイムスタンプの値を、購読期間の一部と関連付けられる開始タイムスタンプの記憶された値および終了タイムスタンプの記憶された値と比較する。いくつかの実施形態では、購読期間の一部と関連付けられる開始タイムスタンプの値および終了タイムスタンプの記憶された値は、アルゴリズムを開始することに先立って、(例えば、記憶デバイス308上に)記憶されてもよい。いくつかの実施形態では、購読の一部と関連付けられる開始タイムスタンプの値および終了タイムスタンプの値はまた、読み出されたタイムスタンプのありとあらゆるインスタンスについて読み出されてもよく、購読期間の一部と関連付けられる開始タイムスタンプおよび終了タイムスタンプの値は、反復によって変化し得る。いくつかの実施形態では、制御回路304は、それぞれ、メモリから値にアクセスし、値の比較を行うことによって、購読の一部と関連付けられる開始タイムスタンプの値および終了タイムスタンプの記憶された値を、読み出されたタイムスタンプの値と直接比較してもよい。いくつかの事例では、制御回路304は、読み出されたタイムスタンプおよび購読期間の一部と関連付けられる開始タイムスタンプおよび終了タイムスタンプの記憶された値を比較するように、(例えば、オブジェクト間比較のための)比較関数を呼び出してもよい。
【0158】
ステップ708では、制御回路304は、読み出されたタイムスタンプおよび購読期間の一部と関連付けられる終了タイムスタンプの値を比較し、読み出されたタイムスタンプの値が、購読の一部と関連付けられる終了タイムスタンプの値を上回るかどうかを判定する。条件が満たされた場合、アルゴリズムは、ステップ710に進んでもよい。条件が満たされない場合、アルゴリズムは、代わりにステップ712に進んでもよい。
【0159】
ステップ710では、制御回路304は、ステップ708における条件が満たされていることに基づいて、読み出されたタイムスタンプと関連付けられるインスタンスを無視するようにサブルーチンを実行するであろう。サブルーチンが実行された後、アルゴリズムは、ステップ716に進んでもよく、読み出されたタイムスタンプの全てのインスタンスが考慮され、さらなる反復が必要とされるかどうかが判定される。
【0160】
ステップ712では、制御回路304は、読み出されたタイムスタンプおよび開始タイムスタンプの値を比較し、読み出されたタイムスタンプの値が開始タイムスタンプの値を上回るかどうかを判定する。条件が満たされた場合、アルゴリズムは、ステップ714に進んでもよい。条件が満たされない場合、アルゴリズムは、代わりにステップ716に進んでもよい。
【0161】
ステップ714では、制御回路304は、ステップ712の条件が満たされていることに基づいて、識別されたタイムスタンプと関連付けられるインスタンスを、購読期間の一部内にあるインスタンスのカウントに追加するようにサブルーチンを実行するであろう。サブルーチンが実行された後、アルゴリズムは、ステップ716に進んでもよく、タイムスタンプの全てのインスタンスが考慮され、さらなる反復が必要とされるかどうかが判定される。
【0162】
ステップ716では、制御回路304は、タイムスタンプの全てのインスタンスが考慮されるかどうかをチェックするであろう。インスタンスの全てが評価された場合、制御回路304は、ステップ718に進んでもよい。例えば、制御回路304は、タイムスタンプの次の要素があるかどうかを確認する関数を呼び出してもよい。関数が真(すなわち、依然として処理される必要があるインスタンスがある)を返す場合、制御回路304は、ステップ704に進んでもよい。
【0163】
ステップ718では、制御回路304は、識別されたインスタンスの総数を閾値数と比較するようにサブルーチンを実行するであろう。
【0164】
図7の説明は、本開示の任意の他の実施形態とともに使用され得ることが考慮される。加えて、
図7のアルゴリズムに関して説明される説明は、本開示の目的を促進するように、代替的な順序で、または並行して行われてもよい。例えば、708および712におけるもの等の条件文および論理評価は、システムまたは方法の遅延を低減させる、または速度を増加させるように、任意の順序で、または並行して、または同時に行われてもよい。さらなる実施例として、いくつかの実施形態では、いくつかのタイムスタンプのインスタンスは、複数の論理プロセッサスレッドを使用して、並行して評価されてもよい、またはアルゴリズムは、分岐予測を組み込むことによって拡張されてもよい。さらに、
図7のアルゴリズムは、適切に構成されたソフトウェアおよびハードウェアの組み合わせ上に実装されてもよく、アルゴリズムの1つまたはそれを上回る部分を実装するために、
図3-4に関して議論されるデバイスまたは機器のいずれかが使用され得ることに留意されたい。
【0165】
図8の擬似コードは、本開示のいくつかの実施形態による、メディアをストリーミングする要求に基づいて始まるであろう、購読サービスから異なるデバイスにメディアを同時にストリーミングする要求の数が、利用可能なストリームの数を超える、購読期間の一部内に起こったインスタンスの数を検出するアルゴリズムを説明する。
図8の擬似コードによって説明されるアルゴリズムは、任意の数のプログラミング言語および種々の異なるハードウェアで実装され得、スタイルおよび形式は、限定的として解釈されるべきではなく、本開示のいくつかの実施形態を実装するために使用されるコードと一致するであろうステップおよびプロシージャの一般的テンプレートとして解釈されるべきであることが、当業者に明白となるであろう。
【0166】
ライン801では、アルゴリズムは、ライン805上で始まる、変数を初期化し、購読期間の一部内に起こったインスタンスの数を判定することを準備するようにサブルーチンを起動してもよい。例えば、いくつかの実施形態では、制御回路304は、初期化段階中に、非一過性の記憶媒体(例えば、記憶デバイス308)からRAMの中へ、または処理回路306用のキャッシュの中へ命令をコピーしてもよい。加えて、いくつかの実施形態では、比較に使用されている、購読期間の一部の記憶された開始-時間の値および購読期間の一部の記憶された終了時間の値が、801において読み出され、設定され、および記憶されてもよい。
【0167】
ライン805では、制御回路304は、タイムスタンプのインスタンスを受信してもよい。いくつかの実施形態では、これらのインスタンスは、記憶されたメモリから読み出されてもよい。制御回路304は、例えば、タイムスタンプの値のアレイへのポインタを受信することによって、タイムスタンプのインスタンスを受信してもよい。別の実施例では、制御回路304は、タイムスタンプの要素を含有するイテレータオブジェクト等のクラスのオブジェクトを受信してもよい。
【0168】
ライン806では、制御回路304は、タイムスタンプの種々のインスタンスを通して反復してもよく、単一のインスタンスのみが利用可能である場合、ループは、一度だけ実行するであろう。本ループは、
図8のアルゴリズムを実装するために使用されるハードウェアおよびソフトウェア言語の選択肢に応じて、複数の様式で実装されてもよく、例えば、これは、「for」または「while」ループの一部として実装されてもよい。
【0169】
ライン807では、制御回路304は、タイムスタンプの値を一時変数「A」の中に記憶するであろう。いくつかの実施形態では、タイムスタンプの値は、より大きいデータ構造またはクラスの一部として記憶され、タイムスタンプの値は、適切なアクセサ方法を通して取得されてもよい。いくつかの実施形態では、タイムスタンプは、適切なハッシングアルゴリズムを用いて、文字列または他の非数値データタイプから数値データタイプに変換されてもよい。いくつかの実施形態では、制御回路304は、購読期間の一部の開始時間への読み出されたタイムスタンプの比較を行う関数を呼び出してもよい。いくつかの実施形態では、タイムスタンプは、基本データ構造として符号化されてもよく、一時変数を使用するのではなく、読み出されたタイムスタンプは、ライン810および812における比較で直接使用されてもよい。
【0170】
ライン808では、制御回路304は、購読期間の一部の開始時間の値を一時変数「B」の中に記憶するであろう。タイムスタンプと同様に、いくつかの実施形態では、購読期間の一部の開始時間のタイムスタンプの値は、より大きいデータ構造またはクラスの一部として記憶され、購読期間開始タイムスタンプの値は、アクセサ方法を通して取得されてもよい。いくつかの実施形態では、購読期間の一部の開始タイムスタンプは、適切なハッシングアルゴリズムを用いて、文字列または他の非数値データタイプから数値データタイプに変換されてもよい、または購読期間の一部の開始タイムスタンプは、基本データ構造であってもよく、ライン812における比較で直接使用されてもよい。
【0171】
ライン809では、制御回路304は、購読期間の一部の終了タイムスタンプの値を一時変数「C」の中に記憶するであろう。開始タイムスタンプと同様に、いくつかの実施形態では、購読期間終了タイムスタンプの値は、より大きいデータ構造またはクラスの一部として記憶され、購読期間の一部の終了タイムスタンプの値は、アクセサ方法を通して取得されてもよい。いくつかの実施形態では、購読期間の一部の終了タイムスタンプは、適切なハッシングアルゴリズムを用いて、文字列または他の非数値データタイプから数値データタイプに変換されてもよい、または購読期間の一部の終了タイムスタンプは、基本データ構造であってもよく、ライン810における比較で直接使用されてもよい。
【0172】
ライン810では、制御回路304は、AおよびCの値を比較して、AがCを上回るかどうかを判定するであろう。
【0173】
ライン811では、制御回路304は、ライン810における条件が満たされている場合に、読み出されたタイムスタンプ制御回路と関連付けられるインスタンスを無視するようにサブルーチンを実行するであろう。
【0174】
ライン812では、制御回路304は、AおよびBの値を比較して、AがBを上回るかどうかを判定するであろう。
【0175】
ライン813では、制御回路304は、ライン812における条件が満たされている場合に、識別されたタイムスタンプと関連付けられるインスタンスを、購読期間部分内にあるインスタンスのカウントに追加するようにサブルーチンを実行するであろう。
【0176】
ライン814では、制御回路304は、ライン810または812においていずれの条件も満たされていないかどうかを判定するであろう。いずれの条件も満たされていない場合には、ライン815における命令が評価されて実行されてもよい。
【0177】
ライン817では、制御回路304は、アルゴリズムがその機能を果たした後に終了サブルーチンを起動してもよい。例えば、いくつかの実施形態では、制御回路304は、変数を破壊する、ガベージコレクションを行う、メモリを解放する、または処理回路306のキャッシュを消去してもよい。
【0178】
図8の擬似コードによって説明されるアルゴリズムは、任意の数のプログラミング言語および種々の異なるハードウェアで実装され得、原始関数、論理評価、および機能評価の特定の選択肢および場所は、限定的であることを意図していないことが、当業者に明白となるであろう。また、コードは、種々の論理評価の順序を操作する、単一の反復ループではなくいくつかの反復を並行して行う、または入力または最終出力を根本的に変更することなく、実行時間および性能メトリックを別様に操作して最適化するように、リファクタリングされ得る、または書き換えられ得ることも明白となるであろう。例えば、いくつかの実施形態では、ブレイク条件が、動作を加速するためにライン810および812後に課されてもよい、または条件文が、ケーススイッチと置換されてもよい。いくつかの実施形態では、ステップ806においてタイムスタンプの全てのインスタンスにわたって反復するのではなく、いくつかの実施形態では、制御回路304が複数のプロセッサまたはプロセッサスレッド上で同時にタイムスタンプの複数のインスタンスを評価するように命令され、必要とされる反復の数を削減し、潜在的に計算時間を加速するように、コードが書き換えられてもよい。
【0179】
図9は、インスタンスの数がある数を超えるときにメッセージをデバイスに伝送することに関与する例証的ステップのフローチャートである。プロセス900またはその任意のステップは、
図3-4に示されるデバイスのうちのいずれかの上で起こり得る、またはそれによって提供され得ることに留意されたい。例えば、プロセス900は、インスタンスの数がある数を超えるときを検出するため、かつメッセージをデバイスに伝送するために、ユーザ機器402、404、および/または406(
図4)上に実装される制御回路によって命令されるように、制御回路304(
図3)によって実行されてもよい。加えて、プロセス900の1つまたはそれを上回るステップは、任意の他のプロセスまたは実施形態の1つまたはそれを上回るステップに組み込まれてもよい、またはそれと組み合わせられてもよい。
【0180】
プロセス900は、ステップ902から始まり、制御回路304は、購読サービスから異なるデバイスにメディアを同時にストリーミングする要求の数が、購読サービスからユーザに利用可能なストリームの数を超える、複数のインスタンスを検出する。制御回路304は、購読サービスにアクセスするユーザによって使用される種々のデバイスから要求を受信する。これらのデバイスは、ユーザテレビ機器402、ユーザコンピュータ機器404、および無線ユーザ通信デバイス406を含んでもよい。一実施例では、制御回路304は、12のインスタンスにおいて、購読サービスから異なるデバイスにメディアを同時にストリーミングする要求の数が、購読サービスからユーザに利用可能なストリームの数を超えることを検出する。換言すると、12の機会に、少なくとも1人の購読のユーザは、コンテンツ購読サービスからコンテンツをストリーミングすることができなかった。
【0181】
ステップ904では、制御回路304は、複数のインスタンスのそれぞれと対応する、複数のタイムスタンプを生成する。例えば、購読サービスから異なるデバイスにメディアを同時にストリーミングする要求の数が、購読サービスからユーザに利用可能なストリームの数を超える、インスタンスの数を検出することに基づいて、制御回路304は、記憶装置308内のリストの中に各インスタンスと関連付けられるタイムスタンプを記憶する。例えば、制御回路304が、購読サービスから異なるデバイスにメディアを同時にストリーミングする要求の数が購読サービスからユーザに利用可能なストリームの数を超える、12のインスタンスを検出するならば、制御回路304は、各タイムスタンプが12のインスタンスのうちの1つに対応する、タイムスタンプのリストを生成し、記憶装置308の中に記憶する。
【0182】
ステップ906では、制御回路304は、複数のタイムスタンプのそれぞれを、購読サービスのための購読期間に対応するタイムスタンプの範囲と比較し、購読期間中に起こった複数のインスタンスの数を判定することによって、タイムスタンプに基づいて購読期間内に起こったインスタンスの数を判定する。例えば、制御回路304が12のタイムスタンプを生成する場合には、制御回路304は、12のタイムスタンプのそれぞれを購読サービスのための購読期間と比較する。次いで、制御回路304は、12のタイムスタンプのそれぞれを比較し、各タイムスタンプが購読期間の開始および終了タイムスタンプによって定義される時間の範囲内に入るかどうかを判定する。範囲内に入るタイムスタンプの数に基づいて、制御回路304は、購読期間中に起こった複数のインスタンスの数を判定する。例えば、制御回路304は、12の生成されたタイムスタンプのうち、9つが購読期間の開始および終了タイムスタンプによって定義される時間の範囲内に入ることを判定する。
【0183】
ステップ908では、制御回路304は、購読期間中に起こった複数のインスタンスの数を購読期間の閾値数と比較する。制御回路304は、購読期間の閾値数を判定するために、異なるアプローチを利用する。例えば、制御回路304は、購読サービスからユーザに利用可能なストリームの数を閾値数の基礎とする。例えば、制御回路304は、利用不可能なストリームを常に取り扱っているユーザを標的にしてもよい。その目的で、制御回路304が、購読サービスからユーザに利用可能なストリームの数(例えば、9つのストリーム)が購読サービスの平均的ユーザに利用可能なストリームの平均数よりも大きい(例えば、平均的ユーザが2つだけのストリームと関連付けられ得る)ことを判定するならば、制御回路304は、閾値数をより大きい数(例えば、12)に設定する。
【0184】
ステップ910では、制御回路304は、購読期間内に起こったインスタンスの数が閾値数を超える場合に、メッセージをデバイスに伝送する。例えば、制御回路304は、購読期間中に起こった複数のインスタンスの数が購読期間の閾値数を超えることを判定するステップに応答して、通信ネットワーク414を介して、サーバから異なるデバイスのうちの1つにネットワークを介してメッセージを伝送する。例えば、購読期間中に起こった複数のインスタンスの数(例えば、12)が閾値数(例えば、8)を超えることを判定するステップに応答して、制御回路304は、デバイスと関連付けられるユーザが付加的ストリームを購入できることを示す、メッセージをサーバからデバイスに伝送する。一実施例では、制御回路304は、頻繁なストリーミング対立に起因して、ユーザが付加的ストリームを購入できることを示すようにメッセージを生成する。制御回路304は、ユーザテレビ機器402、ユーザコンピュータ機器404、または無線通信デバイス406のディスプレイ312上に表示するためにメッセージを伝送する。例えば、制御回路304は、ユーザテレビ機器402のディスプレイ312上に表示される、番組一覧表示100内で表示するためにメッセージを生成する。
【0185】
図9のステップまたは説明は、本開示の任意の他の実施形態とともに使用され得ることが考慮される。加えて、
図9に関して説明されるステップおよび説明は、本開示の目的を促進するように、代替的な順序で、または並行して行われてもよい。例えば、これらのステップのそれぞれは、システムまたは方法の遅延を低減させる、または速度を増加させるように、任意の順序で、または並行して、または実質的に同時に行われてもよい。
【0186】
本発明に関与する方法が、コンピュータ使用可能および/または可読媒体を含む、コンピュータプログラム製品内で具現化され得ることが、当業者に明白となるであろう。例えば、そのようなコンピュータ使用可能媒体は、その上に記憶されたコンピュータ可読プログラムコードを有する、CD-ROMディスクまたは従来のROMデバイス等の読取専用メモリデバイス、またはハードドライブデバイスまたはコンピュータディスケット等のランダムアクセスメモリから成ってもよい。また、本発明に関与する方法、技法、およびプロセスは、処理回路を使用して実行され得ることを理解されたい。例えば、ユーザと関連付けられるソーシャルメディア相互作用の検出は、処理回路、例えば、
図3の処理回路306によって行われてもよい。処理回路は、例えば、機器デバイス300、メディアコンテンツプロバイダ416、またはコンテンツアグリゲータ430内の汎用プロセッサ、カスタマイズされた集積回路(例えば、ASIC)、またはフィールドプログラマブルゲートアレイ(FPGA)であってもよい。例えば、本明細書に説明されるようなメディアアセットメタデータは、
図3の記憶装置308または
図4のコンテンツアグリゲータ430内に記憶され、そこから読み出されてもよい。さらに、処理回路またはコンピュータプログラムは、ユーザプロファイル属性等のユーザと関連付けられる設定を更新し、
図3の記憶装置308または
図4のコンテンツアグリゲータ430内に記憶された情報を更新してもよい。
【0187】
上記で議論されるプロセスは、限定的ではなく、例証的であることを意図している。当業者は、本明細書で議論されるプロセスのステップが、省略され、修正され、組み合わせられる、および/または並べ替えられ得る、任意の付加的ステップが、本発明の範囲から逸脱することなく行われ得ることを理解するであろう。より一般的には、上記の開示は、限定的ではなく、例示的であることを意図する。続く請求項のみが、本発明が包含するものに関する境界を設定することを意図する。さらに、いずれか1つの実施形態で説明される特徴および制限は、本明細書の任意の他の実施形態に適用され得、一実施形態に関するフローチャートまたは実施例は、好適な様式で任意の他の実施形態と組み合わせられ、異なる順序で行われ、または並行して行われ得ることに留意されたい。加えて、本明細書で説明されるシステムおよび方法は、リアルタイムで行われてもよい。また、上記で説明されるシステムおよび/または方法は、他のシステムおよび/または方法に適用され、またはそれらに従って使用され得ることにも留意されたい。
【0188】
いくつかの実施形態では、制御回路304は、コンテンツアグリゲータサービスから認証情報を自動的に受信してもよい。例えば、制御回路304上に実装されるメディアガイドアプリケーションは、制御回路304がユーザに購読サービスを購読させる要求を受信する前に、認証情報を受信し、認証情報をユーザアカウントと関連付けてもよい。次いで、制御回路304は、ユーザに購読サービスを購読させる要求を受信し、したがって、アカウントの正当性を立証し、購読サービスの提供へのアクセスをユーザに許可してもよい。
【0189】
いくつかの側面では、制御回路304は、購読サービスと関連付けられるコンテンツプロバイダサーバ(例えば、Hulu)において、第2の購読サービスと関連付けられるコンテンツアグリゲータサーバ(例えば、Rovi Super Aggregator)から第1の認証キーを受信してもよく、第1の認証キーは、ユーザが第1の購読サービスを購読する前に受信される。例えば、ユーザは、コンテンツアグリゲータサービス(すなわち、第2の購読サービス)を購読してもよい。いったんユーザが第2の購読サービスへの自分の登録を完了すると、第2の購読サービスと関連付けられるコンテンツアグリゲータサーバ上に実装される制御回路304は、ユーザを、コンテンツアグリゲータ購読の一部として利用可能である購読サービスのうちのいくつかまたは全てと関連付けるように認証キーを生成し、生成された認証キーを、第1の購読サービスを含む、各購読サービスと関連付けられるサーバに転送してもよい。各認証キーは、キーの中に記憶された情報が各購読サービスと関連付けられるサーバにセキュアに伝送されることを確実にするために、符号化されてもよい。加えて、各認証キーは、ユーザおよび第2の購読サービス(例えば、Rovi Super Aggregator)を識別する情報を含んでもよい。次いで、第1の購読サービスと関連付けられるコンテンツプロバイダサーバ上に実装される制御回路304は、コンテンツアグリゲータサーバから生成された認証キーを受信してもよい。いくつかの事例では、コンテンツプロバイダサーバ上に実装される制御回路304は、認証キーを復号し、キーの中に記憶された情報を抽出してもよい。制御回路304は、加えて、コンテンツプロバイダサーバ上に認証キーを記憶してもよい。そのようにして、制御回路304は、ユーザにアカウントを手動で作成することを負担させることなく、第1のユーザと関連付けられる認証情報を第1の購読サービスに伝送してもよい。
【0190】
いくつかの事例では、ユーザが第2の購読サービスに登録された後であるが、コンテンツアグリゲータサーバ上に実装される制御回路304が、ユーザが第1の購読サービスを購読することを所望することを検出する前に、コンテンツプロバイダサーバ上に実装される制御回路304は、コンテンツアグリゲータサーバから第1の認証キーを受信してもよい。例えば、第2の購読サービス(例えば、Rovi Super Aggregator)を提供するエンティティは、割引料金で、第1の購読サービスの購読を第2の購読サービスのユーザに提供するように、第1の購読サービス(例えば、Hulu)を提供するエンティティと合意に達してもよい。ユーザが第1の購読サービスを購読する前に、コンテンツアグリゲータサーバ上に実装される制御回路304は、第1の認証キーをコンテンツアグリゲータサーバに伝送してもよい。
【0191】
いくつかの事例では、第2の購読サービスと関連付けられるコンテンツアグリゲータサーバ上に実装される制御回路304は、ユーザを、コンテンツアグリゲータ購読の一部として利用可能である購読サービスのうちのいくつかまたは全てと関連付けるように認証キーを生成し、生成された認証キーを、第1の購読サービスを含む、各購読サービスと関連付けられるサーバに転送してもよい。各認証キーは、キーの中に記憶された情報が各購読サービスと関連付けられるサーバにセキュアに伝送されることを確実にするために、暗号化されてもよい。例えば、認証キーは、コンテンツプロバイダサーバおよびコンテンツアグリゲータサーバの両方にアクセス可能であり得る、公開キーを介して暗号化されてもよい。加えて、各認証キーは、ユーザおよび第2の購読サービス(例えば、Rovi Super Aggregator)を識別する情報を含んでもよい。一実施例では、認証キーは、第2の購読サービス上のユーザと関連付けられるユーザ名およびパスワードを備えてもよい。次いで、第1の購読サービスと関連付けられるコンテンツプロバイダサーバ上に実装される制御回路304は、コンテンツアグリゲータサーバから生成された認証キーを受信してもよい。いくつかの事例では、コンテンツプロバイダサーバ上に実装される制御回路304は、認証キーを解読し、キーの中に記憶された情報を抽出してもよい。制御回路304は、加えて、コンテンツプロバイダサーバ上に認証キーを記憶してもよい。そのようにして、制御回路304は、ユーザにアカウントを手動で作成することを負担させることなく、第1のユーザと関連付けられる認証情報を第1の購読サービスに伝送してもよい。
【0192】
いくつかの事例では、コンテンツプロバイダサーバ上に実装される制御回路304は、第1の認証キーを第1の複数の容認可能な認証キーと比較し、第1の認証キーに基づいて、第1の購読サービスのために第1のユーザアカウントを生成するかどうかを判定してもよい。例えば、コンテンツプロバイダサーバ上に実装される制御回路304は、第1の認証キーの中に記憶された情報を抽出し、第2の購読サービスの識別子に関連するキーの一部に列挙される購読サービスの名称(例えば、Rovi Super Aggregator)を判定してもよい。次いで、コンテンツプロバイダサーバ上に実装される制御回路304は、制御回路304が第1の購読サービス上でアカウントを生成することを可能にされるように以前に識別された、購読サービスのリストを読み出し、購読サービスの名称を読み出されたリストの中の各購読サービスと比較してもよい。事実上、コンテンツプロバイダサーバ上に実装される制御回路304は、作成されるアカウントに対する制御を維持しながら、コンテンツアグリゲータ(すなわち、第2の購読サービス)から新しいユーザについての情報をセキュアに受信することができる。例えば、第1の購読サービスは、割引価格で第1の購読サービス上の購読を提供するように、第2の購読サービスとの契約を結んでもよい。さらに、認証キーの中に第2のプロバイダについての情報をカプセル化することによって、第1の購読サービスは、信頼されるコンテンツアグリゲータと関連付けられるユーザのアカウントのみが作成されることを確実にする。
【0193】
いくつかの事例では、コンテンツプロバイダサーバ上に実装される制御回路304は、第1の認証キーの中に記憶された情報を抽出し、ユーザのユーザ名を判定してもよい。次いで、制御回路304は、制御回路304が第1の購読サービス上でアカウントを生成することを可能にされるように以前に識別された、ユーザ名のリストを読み出し、抽出されたユーザ名を各識別されたユーザ名と比較してもよい。
【0194】
いくつかの側面では、コンテンツプロバイダサーバ上に実装される制御回路304は、第1の認証キーが第1の複数の容認可能な認証キーのうちの1つに合致することを判定するステップに応答して、コンテンツプロバイダサーバにおいて第1のユーザアカウントを生成してもよい。例えば、制御回路304は、コンテンツプロバイダサーバ上でアカウントを生成するために必要な情報を作成するために、ユーザ名、パスワード、および購読サービス名等の認証キーに含有される情報を抽出してもよい。いくつかの事例では、制御回路304は、アカウントの正当性が立証されていないことを規定する、第1のアカウントと関連付けられるインジケーションを記憶してもよい。ユーザまたは第2の購読サービス上に実装される制御回路304が、将来、アカウントの正当性を立証することを決定するならば、コンテンツプロバイダサーバ上に実装される制御回路304は、以下でさらに詳細に説明されるであろうように、ユーザからの要求された入力を殆どまたは全く伴わずに、アカウントの正当性を効率的に立証してもよい。
【0195】
いくつかの側面では、コンテンツプロバイダサーバ上に実装される制御回路304は、第1のユーザアカウントが第1の認証キーに対応することを示すデータベースエントリの中に第1のユーザアカウントを記憶してもよい。例えば、コンテンツプロバイダサーバ上に実装される制御回路304は、生成されたユーザアカウントに関連する情報をデータベースの中に記憶されたエントリの中に記憶してもよい。制御回路304はまた、例えば、認証キーの場所へのポインタをユーザアカウントと関連付けられるデータベースエントリの中に記憶することによって、ユーザアカウントを認証キーと関連付けてもよい。記憶されたユーザアカウントを第1の認証キーと関連付けることによって、コンテンツアグリゲータサーバ上に実装される制御回路304は、第2の購読またはユーザが第1の購読サービス上でアカウントの正当性を立証することを決定する場合に、アカウントの正当性が迅速に立証されることを確実にしてもよい。いくつかの事例では、制御回路304は、記憶装置308内の場所に第1の認証キーを記憶してもよく、場所は、ディレクトリまたはファイルパスによって識別される。次いで、制御回路304は、第1のユーザアカウントに対応するデータベースエントリ内の場所へのパスを記憶してもよい。
【0196】
いくつかの側面では、コンテンツプロバイダサーバ上に実装される制御回路304は、第1のユーザアカウントを記憶するステップに続いて、コンテンツプロバイダサーバにおいて、ユーザに第1の購読サービスを購読させる要求をコンテンツアグリゲータサーバから受信してもよく、要求は、第2の認証キーを含む。制御回路304は、第1の購読サービスを購読するユーザ要求に応答して、第2の認証キーを受信してもよい。例えば、コンテンツアグリゲータサーバ上に実装される制御回路304は、第2の購読サービス(例えば、Rovi Super Aggregator)のユーザが第1の購読サービス(例えば、Hulu)を購読することを所望することを検出してもよい。異なる実施例では、第2のサービス上に実装される制御回路304は、第1のサービスを購読するコストがコスト基準を満たすときに、要求を第1のサービスに自動的に送信してもよい。第1の購読サービス上の制御回路304は、第2のキーの中に記憶された情報を解読し、第2のキーの中に記憶された情報を読み出し、コンテンツプロバイダサーバ上に認証キーを記憶してもよい。第2の認証キーを受信する枠組みを提供することによって、コンテンツプロバイダサーバ上に実装される制御回路は、ユーザのためのアカウントの正当性をセキュアに立証してもよい。
【0197】
いくつかの側面では、コンテンツプロバイダサーバ上に実装される制御回路304は、第1の認証キーを第2の認証キーと比較してもよい。例えば、コンテンツプロバイダサーバ上に実装される制御回路304は、キーと関連付けられるユーザの名前と関連する第2のキーから情報を読み出してもよく、次いで、識別されたユーザと関連付けられるアカウントが存在するかどうかを判定するように、データベースにクエリを行ってもよい。随意に、次いで、制御回路304は、識別されたユーザのアカウントと関連付けられる第1の認証キーを(すなわち、記憶装置308から、またはデータベースから)読み出してもよい。制御回路304はさらに、キーの中に記憶されたデータを解読することを伴って、または伴わずに、第2の認証キーを第1の認証キーと比較してもよい。
【0198】
いくつかの側面では、コンテンツプロバイダサーバ上に実装される制御回路304は、第1の認証キーが第2の認証キーに合致することを判定するステップに応答して、第1のユーザアカウントの正当性を立証してもよい。例えば、第2の認証キーとの第1の認証キーの比較に基づいて、次いで、コンテンツプロバイダサーバ上に実装される制御回路304は、いずれかのキーと関連付けられるユーザアカウントを識別してもよい。次いで、制御回路304は、アカウントを識別するようにデータベースにクエリを行い、アカウントの正当性が立証されていることを規定するインジケーションを記憶してもよい。一実施例では、制御回路304は、識別されたアカウントと関連付けられるデータベース記録を識別し、アカウントの正当性が立証されているかどうかと関連付けられるフィールド(例えば、フィールドIS_VALIDATED)を、アカウントの正当性が立証されていることを示す値(例えば、TRUE)に設定してもよい。アカウントの正当性を立証することによって、コンテンツプロバイダサーバ上に実装される制御回路304は、ユーザがアカウントを作成する必要なく、コンテンツプロバイダサーバによって認証されるユーザが、第1の購読サービスによって提供されるメディアコンテンツにアクセスすることを可能にする。
【0199】
いくつかの実施形態では、第1のユーザアカウントの正当性を立証するステップに応答して、第1のアカウント上に実装される制御回路304は、第1のユーザアカウントを通した第1の購読サービスへのアクセスを許可してもよい。例えば、コンテンツプロバイダサーバ上に実装される制御回路304は、アカウントが使用のために利用可能であることを示すメッセージを生成し、コンテンツアグリゲータサーバに伝送してもよい。したがって、コンテンツプロバイダサーバ上に実装される制御回路304は、第2の購読サービスの提供がユーザによってアクセスされ得ることをユーザに通知することができる。
【0200】
いくつかの側面では、第1の認証キーは、第2の購読サービスによって割り当てられるユーザのためのユーザ名およびパスワードに基づく暗号化キーである。例えば、認証キーは、コンテンツアグリゲータサーバ上のユーザのアカウントに対応するユーザ名およびパスワードを含んでもよい。別の実施例では、コンテンツアグリゲータサーバ上の制御回路304は、第1の購読サービスのパスワード要件に準拠するパスワードを生成してもよい。コンテンツアグリゲータサーバ上に生成される制御回路304は、解読することが困難である無作為化文字列を生成し、コンテンツプロバイダサーバにアクセスするために必要とされる認証情報が、平均的ユーザが通常選択するであろうよりも強力であることを確実にするように設計され得る、パスワード生成モジュールを利用してもよい。例えば、自分のパスワードを容易に覚えるために、コンテンツプロバイダサーバ上にアカウントを作成するためのパスワード要件が、パスワードが文字および数字のみから成ることを可能にする場合、平均的ユーザは、パスワード(例えば、「mypetsname1」)のために短いキーワードおよび数字を選択してもよい。その一方で、コンテンツアグリゲータサーバ上に実装される制御回路304は、小文字および大文字、数字、および特殊文字の混合の長い文字列を作成するために、パスワードネジェレータモジュールを利用してもよい。制御回路304は、各購読サービスへのパスワード規則を伴って事前に構成されてもよい。例えば、パスワード規則は、第1の購読サービス(例えば、Hulu)が、15文字の最大長のパスワードを可能にし、アンパサンド記号がパスワードの一部として可能にされないことを示してもよい。第1の購読サービス(例えば、Hulu)のためのパスワード規則に基づいて、制御回路304は、第1の購読サービスの要件に適合するセキュアなパスワード(例えば、「y#E%f4v3Tt$80u」)を生成してもよい。このようにして、コンテンツプロバイダサーバ上のユーザのアカウントは、パスワードハッキング試行の影響を受けにくくなる。ユーザのユーザ名は、コンテンツプロバイダサーバ上のユーザの認証情報のセキュリティをさらに増加させるように、同様に生成されてもよい。
【0201】
いくつかの実施形態では、第1の複数の容認可能な認証キーは、コンテンツアグリゲータサーバからコンテンツプロバイダサーバにおいて受信される。例えば、コンテンツプロバイダサーバにおいて実装される制御回路304は、規則的間隔で第2の購読サービスから認証キーのリストを受信してもよい。例えば、コンテンツアグリゲータサーバ上に実装される制御回路304は、日常的に、第2の購読サービスとアカウントを作成した全ての新しいユーザと関連付けられる認証キーを伝送してもよい。いくつかの事例では、コンテンツプロバイダサーバ上に実装される制御回路304は、以前に説明されたように、第1の認証キーを複数の容認可能な認証キーと比較するために、データベースの中に受信された認証キーのリストを記憶してもよい。
【0202】
いくつかの側面では、コンテンツプロバイダサーバに記憶されたデータベースエントリは、第1のユーザアカウントへのポインタを含む第1のデータベースフィールドと、第1の認証キーを含む第2のデータベースフィールドとを含む。本明細書で使用されるような用語「ポインタ」は、その値が記憶装置の中に位置する別の値のアドレスを含有する、データを指す。例えば、コンテンツプロバイダサーバ上のデータベースエントリは、ユーザのユーザ名、パスワード、および購読レベル等のユーザのアカウントについての情報を含有する、第2のデータベースエントリを指す、第1のデータベースフィールドの中に記憶されたポインタを含んでもよい。データベースエントリは、第1の認証キーを含有し得る、第2のデータベースフィールドを含んでもよい。例えば、第1の認証キーは、第2のデータベースフィールドの中に値として記憶されてもよい、または代替として、第2のデータベースフィールドは、第1の認証キーの場所へのポインタを含んでもよい。
【0203】
いくつかの実施形態では、コンテンツプロバイダサーバに記憶されたデータベースエントリは、第1の購読サービスのための購読規約を含む、第3のデータベースフィールドを含む。購読規約は、その間にユーザが、購読サービスからユーザに利用可能にされたコンテンツにアクセスし得る、日付の範囲を備えてもよい。例えば、ユーザは、1月1日から3月31日まで第1の購読サービス(例えば、Hulu)を購読していてもよい。さらに、購読規約は、どのようにしてユーザがコンテンツにアクセスし得るか、およびいずれのコンテンツが選定された購読に基づいて利用可能にされるかに関連する、情報を含んでもよい。例えば、購読規約は、4つのストリームの最大数が、ユーザの購読を通してコンテンツにアクセスし得ることを特定してもよい。別の実施例では、購読規約は、ユーザが「プレミアム」購読の一部として全てのコンテンツにアクセスし得るが、「基本」購読の下では最新映画にアクセスするために料金を支払わなければならないことを示してもよい。購読の規約は、購読の価格を判定してもよく、ユーザが購読するために負担する価格もまた、第3のデータベースフィールドの中に記憶されてもよい。
【0204】
いくつかの実施形態では、ユーザに第1の購読サービスを購読させるコンテンツアグリゲータサーバからの要求は、ユーザがコンテンツアグリゲータサーバにおいて第2の購読サービスのための購読レベルを選択することに応答して、さらなるユーザ入力を伴わずにコンテンツアグリゲータサーバから伝送される。例えば、ユーザが第2の購読サービス(例えば、Rovi Super Aggregator)のための登録の一部として情報を入力するとき、コンテンツアグリゲータサーバ上に実装される制御回路304は、2つの購読レベル、すなわち、1つの購読サービスの購読を含み得る、「標準」レベル、および2つの購読サービスの購読を含み得る、「デラックス」レベルを生成してもよい。第1の購読が、「デラックス」レベル購読の一部のみとして提供される場合、コンテンツアグリゲータサーバ上に実装される制御回路304は、ユーザが「デラックス」レベル購読を選択したことを判定することのみに応答して、ユーザから第2の購読サービスに要求を伝送してもよい。異なる実施例では、ユーザは、購読の「標準」レベルをすでに購読していてもよい。第1の購読が「デラックス」レベル購読の一部のみとして提供されることを知ることに応じて、ユーザは、自分の購読を「デラックス」レベルにアップグレードすることを決定してもよい。さらなるユーザ入力を伴わずに、コンテンツアグリゲータサーバから第1の購読に要求を伝送することによって、コンテンツアグリゲータサーバ上に実装される制御回路304は、ユーザ側では最小入力を伴って、第1の購読サービスによって提供されるコンテンツへのアクセスをユーザに迅速に提供してもよい。
【0205】
いくつかの実施形態では、コンテンツプロバイダサーバ上に実装される制御回路304は、第1のユーザアカウントの正当性を立証するステップに応答して、コンテンツプロバイダサーバからコンテンツアグリゲータサーバに確認を伝送してもよい。例えば、いったん制御回路304がユーザアカウントの正当性を立証すると、制御回路304は、確認を備えるメッセージをコンテンツアグリゲータサーバに伝送してもよい。確認を伝送することによって、第2のサービスのユーザは、ユーザが第1の購読サービスと関連付けられるメディアにアクセスできることを知らされてもよい。異なる実施例では、第2の購読サービス上に実装される制御回路304が、第1の購読サービスと第2の購読サービスとの間の接続を介して、第1の購読サービスのメディアコンテンツにアクセスするように構成されるならば、第2の購読サービス上に実装される制御回路304は、確認の受信に応じて、第1の購読サービスのメディアを列挙するように構成されることができる。
【0206】
いくつかの実施形態では、コンテンツプロバイダサーバ上に実装される制御回路304は、コンテンツアグリゲータサーバから、第1のユーザアカウントを通して第1の購読サービスのメディアコンテンツにアクセスする第2の要求を受信してもよい。コンテンツ集約サービスのユーザは、コンテンツにアクセスするために、各コンテンツ購読サービスに手動でログインするタスクに不満を感じるようになり得る。購読サービスとユーザテレビ機器402との間に作成される直接接続は、ユーザのための合理化された視聴体験を促進してもよい。例えば、コンテンツプロバイダサーバ上に実装される制御回路304は、コンテンツアグリゲータサーバからパスされる、メディアコンテンツ(例えば、テレビ番組「The Simpsons」のエピソード)にアクセスするユーザ要求を受信してもよい。コンテンツアグリゲータサーバから、第1のユーザアカウントを通して第1の購読サービスのメディアコンテンツにアクセスする要求を受信するステップに応答して、コンテンツアグリゲータサーバまたはコンテンツプロバイダサーバ上に実装される制御回路304は、通信ネットワーク414を経由して、コンテンツプロバイダサーバとユーザテレビ機器402との間の直接接続を作成してもよい。直接接続は、コンテンツプロバイダとユーザテレビ機器402との間のネットワーク状態にかかわらず、コンテンツプロバイダサーバからユーザテレビ機器402にメディアをストリーミングするユーザ要求が常にハンドリングされるように、コンテンツプロバイダとユーザテレビ機器402との間のある量の帯域幅を留保してもよい。コンテンツプロバイダサーバ上に実装される制御回路304は、さらなる認証を行うことなく、直接接続を使用して、メディアコンテンツをユーザテレビ機器402に転送してもよい。さらに、直接接続を作成し、コンテンツプロバイダサーバからコンテンツアグリゲータサーバにメディアを転送することによって、メディアコンテンツは、ユーザのための視聴体験を合理化して、第2の購読サービスにアクセスするために使用されるユーザインターフェース内に表示されてもよい。
【0207】
いくつかの実施形態では、コンテンツアグリゲータサーバ上に実装される制御回路304は、コンテンツプロバイダサーバとユーザテレビ機器402との間の直接接続の作成に応答して、第1の購読サービスと関連付けられるユーザインターフェーススキンを読み出してもよい。例えば、第1の購読サービスと関連付けられるユーザインターフェーススキンは、第1の購読サービスと関連付けられるユーザインターフェースの背景色、フォント、およびメニュー場所等のユーザインターフェース要素の外観を定義してもよい。加えて、インターフェーススキンは、画面上の定義された場所で表示されることができる、第1の購読サービスと関連付けられるロゴと、画面要素の背景色を定義することができる、第1の購読サービスと関連付けられるカラーパレットとを含んでもよい。制御回路304は、ユーザインターフェーススキンと関連付けられるパラメータを抽出し、パラメータを第2の購読サービスと関連付けられるユーザインターフェーススキンに適用してもよい。コンテンツアグリゲータサーバ上に実装される制御回路304は、第2の購読サービスと関連付けられるメディアコンテンツ一覧ユーザインターフェーススキンを表示するために生成してもよい。このようにして、第1の購読サービスは、第2の購読サービスを使用して提示されるコンテンツの感覚を制御することが可能であり得る。
【0208】
いくつかの実施形態では、コンテンツプロバイダサーバ上に実装される制御回路304は、コンテンツアグリゲータサーバから、メディアコンテンツ一覧の第1のユーザアカウントを通したユーザ選択を受信してもよい。例えば、コンテンツアグリゲータサーバ上に実装される制御回路304は、コンテンツプロバイダサーバ上で利用可能なコンテンツのメディアコンテンツ一覧を読み出すために、コンテンツプロバイダサーバとコンテンツアグリゲータサーバとの間に作成される接続を利用してもよい。次いで、コンテンツアグリゲータサーバ上に実装される制御回路304は、ユーザによって作成されるメディアコンテンツ一覧の選択を検出してもよく、ユーザは、コンテンツアグリゲータサーバ上のアカウントと関連付けられる。いったんコンテンツアグリゲータサーバ上に実装される制御回路304が選択を受信すると、制御回路304は、ユーザによって選択されるメディアコンテンツ一覧に対応するメディアアセットを表示するために生成してもよい。例えば、ユーザテレビ機器402上に実装される制御回路304は、コンテンツプロバイダとユーザテレビ機器402との間に作成される直接接続を使用して、メディアアセットを読み出してもよい。1つの事例では、コンテンツプロバイダサーバ上に実装される制御回路304は、メディアコンテンツ(例えば、テレビ番組「The Simpsons」のエピソード)の要求を受信してもよい。制御回路304は、直接接続を使用して、コンテンツプロバイダサーバからユーザテレビ機器402にメディアの部分を転送することによって、メディアをストリーミングし始めてもよい。異なる実施例では、コンテンツプロバイダサーバ上に実装される制御回路304は、メディアアセットへのパスをコンテンツアグリゲータサーバ上に実装される制御回路304に提供してもよい。応答して、コンテンツアグリゲータサーバ上に実装される制御回路304は、パスの中で参照されるファイルにアクセスし、メディアファイルを、コンテンツアグリゲータサーバに、または代替として、ユーザテレビ機器402、ユーザコンピュータ機器404、または無線ユーザ通信デバイス406にダウンロードしてもよい。
【0209】
図10および11は、本開示のいくつかの実施形態による、ユーザが第1のサービスを購読する前に、制御回路(例えば、制御回路304)が、第1の購読サービスと関連付けられるコンテンツプロバイダサーバ上でユーザアカウントを生成するためのアルゴリズムを提示する。いくつかの実施形態では、本アルゴリズムは、処理回路(例えば、処理回路306)によって復号および実行される命令のセットとして、非一過性の記憶媒体(例えば、記憶デバイス308)上に符号化されてもよい。処理回路は、ひいては、同調、ビデオ生成、符号化、復号、暗号化、解読、スケーリング、アナログ/デジタル変換回路、および同等物等の制御回路304内に含有される他のサブ回路に命令を提供してもよい。
【0210】
図10のフローチャートは、本開示のいくつかの実施形態による、制御回路(例えば、制御回路304)が、コンテンツアグリゲータサーバから第1の認証キーを受信することに基づいて、コンテンツプロバイダサーバ上でアカウントを生成するためのアルゴリズムを説明する。
【0211】
ステップ1002では、コンテンツプロバイダサーバ上でアカウントを生成するアルゴリズムが、コンテンツアグリゲータサーバから第1の認証キーを受信することに基づいて始まるであろう。いくつかの実施形態では、これは、直接または間接的のいずれかで、(例えば、制御回路304またはユーザ入力インターフェース310によって受信される信号からの)ユーザアクションまたは入力に応答して行われてもよい。例えば、アルゴリズムは、制御回路304がユーザ入力インターフェース310から信号を受信することに直接応答して始まってもよい、または制御回路304は、アルゴリズムを起動することに先立って、(例えば、ディスプレイ312上に表示されるプロンプトを生成することによって)表示を使用して自分の入力を確認するようにユーザを促してもよい。
【0212】
ステップ1004では、制御回路304は続いて、記憶されたメモリから容認可能な認証キーの次のインスタンスを読み出す。いくつかの実施形態では、制御回路304は、容認可能な認証キーの値を表す単一の基本データ構造を受信してもよい。いくつかの実施形態では、値は、より大きいデータ構造の一部として記憶されてもよく、制御回路304は、より大きいデータ構造から値を読み出すように適切なアクセサ方法を実行することによって、値を読み出してもよい。
【0213】
ステップ1006では、制御回路304は続けて、読み出された容認可能な認証キーの値を、コンテンツアグリゲータサーバから受信される第1の認証キーの記憶された値と比較する。いくつかの実施形態では、コンテンツアグリゲータサーバから受信される第1の認証キーの値は、アルゴリズムを開始することに先立って、(例えば、記憶デバイス308上に)記憶されてもよい。いくつかの実施形態では、コンテンツアグリゲータサーバから受信される第1の認証キーの値はまた、容認可能な認証キーのありとあらゆるインスタンスについて読み出されてもよく、コンテンツアグリゲータサーバから受信される第1の認証キーの値は、反復によって変化し得る。いくつかの実施形態では、制御回路304は、それぞれ、メモリから値にアクセスし、値の比較を行うことによって、コンテンツアグリゲータサーバから受信される第1の認証キーの値を容認可能な認証キーの値と直接比較してもよい。いくつかの事例では、制御回路304は、容認可能な認証キーおよびコンテンツアグリゲータサーバから受信される第1の認証キーを比較するように、(例えば、オブジェクト間比較のための)比較関数を呼び出してもよい。
【0214】
ステップ1008では、制御回路304は、容認可能な認証キーおよびコンテンツアグリゲータサーバから受信される第1の認証キーの値を比較し、容認可能な認証キーの値がコンテンツアグリゲータサーバから受信される第1の認証キーの値と等しいかかどうかを判定する。条件が満たされた場合、アルゴリズムは、ステップ1010に進んでもよい。条件が満たされない場合、アルゴリズムは、代わりにステップ1012に進んでもよい。
【0215】
ステップ1010では、制御回路304は、ステップ1008における条件が満たされていることに基づいて、第1のユーザアカウントを生成するようにサブルーチンを実行するであろう。サブルーチンが実行された後、アルゴリズムは、ステップ1012に進んでもよく、容認可能な認証キーの全てのインスタンスが考慮され、さらなる反復が必要とされるかどうかが判定される。
【0216】
ステップ1014では、制御回路304がステップ1010でユーザアカウントを前もって生成した場合に、制御回路304は、ユーザアカウントを記憶するようにサブルーチンを実行するであろう。
【0217】
図10の説明は、本開示の任意の他の実施形態とともに使用され得ることが考慮される。加えて、
図10のアルゴリズムに関して説明される説明は、本開示の目的を促進するように、代替的な順序で、または並行して行われてもよい。例えば、1008におけるもの等の条件文および論理評価は、システムまたは方法の遅延を低減させる、または速度を増加させるように、任意の順序で、または並行して、または同時に行われてもよい。さらなる実施例として、いくつかの実施形態では、容認可能な認証キーのいくつかのインスタンスは、複数の論理プロセッサスレッドを使用して、並行して評価されてもよい、またはアルゴリズムは、分岐予測を組み込むことによって拡張されてもよい。さらに、
図10のアルゴリズムは、適切に構成されたソフトウェアおよびハードウェアの組み合わせ上に実装されてもよく、アルゴリズムの1つまたはそれを上回る部分を実装するために、
図3-4に関して議論されるデバイスまたは機器のいずれかが使用され得ることに留意されたい。
【0218】
図11の擬似コードは、本開示のいくつかの実施形態による、コンテンツアグリゲータサーバから第1の認証キーを受信することに基づいて、コンテンツプロバイダサーバ上でアカウントを生成するアルゴリズムを説明する。
図11の擬似コードによって説明されるアルゴリズムは、任意の数のプログラミング言語および種々の異なるハードウェアで実装され得、スタイルおよび形式は、限定的として解釈されるべきではく、本開示のいくつかの実施形態を実装するために使用されるコードと一致するであろうステップおよびプロシージャの一般的テンプレートとして解釈されるべきであることが、当業者に明白となるであろう。
【0219】
ライン1101では、アルゴリズムは、ライン1105上で始まる、変数を初期化し、コンテンツアグリゲータサーバから第1の認証キーを受信することに基づいて、コンテンツプロバイダサーバ上でアカウントを生成することを準備するようにサブルーチンを起動してもよい。例えば、いくつかの実施形態では、制御回路304は、初期化段階中に、非一過性の記憶媒体(例えば、記憶デバイス308)からRAMの中へ、または処理回路306用のキャッシュの中へ命令をコピーしてもよい。加えて、いくつかの実施形態では、比較に使用されている第1の認証キーの値、または2つの値が本質的に同等であるかどうかを判定するための許容レベルが、1101において読み出され、設定され、および記憶されてもよい。
【0220】
ライン1105では、制御回路304は、容認可能な認証キーのインスタンスを受信してもよい。いくつかの実施形態では、これらのインスタンスは、記憶されたメモリから読み出されてもよい。制御回路304は、例えば、容認可能な認証キーの値のアレイへのポインタを受信することによって、容認可能な認証キーのインスタンスを受信してもよい。別の実施例では、制御回路304は、容認可能な認証キーの要素を含有するイテレータオブジェクト等のクラスのオブジェクトを受信してもよい。
【0221】
ライン1106では、制御回路304は、容認可能な認証キーの種々のインスタンスを通して反復してもよく、単一のインスタンスのみが利用可能である場合、ループは、一度だけ実行するであろう。本ループは、
図11のアルゴリズムを実装するために使用されるハードウェアおよびソフトウェア言語の選択肢に応じて、複数の様式で実装されてもよく、例えば、これは、「for」または「while」ループの一部として実装されてもよい。
【0222】
ライン1107では、制御回路304は、容認可能な認証キーの値を一時変数「A」の中に記憶するであろう。いくつかの実施形態では、容認可能な認証キーの値は、より大きいデータ構造またはクラスの一部として記憶され、容認可能な認証キーの値は、適切なアクセサ方法を通して取得されてもよい。いくつかの実施形態では、容認可能な認証キーは、適切なハッシングアルゴリズムを用いて、文字列または他の非数値データタイプから数値データタイプに変換されてもよい。いくつかの実施形態では、制御回路304は、第1の認証キーへの容認可能な認証キーの比較を行う関数を呼び出してもよい。いくつかの実施形態では、容認可能な認証キーは、基本データ構造として符号化されてもよく、一時変数を使用するのではなく、容認可能な認証キーは、ライン1109における比較で直接使用されてもよい。
【0223】
ライン1108では、制御回路304は、第1の認証キーの値を一時変数「B」の中に記憶するであろう。容認可能な認証キーと同様に、いくつかの実施形態では、第1の認証キーの値は、より大きいデータ構造またはクラスの一部として記憶され、第1の認証キーの値は、アクセサ方法を通して取得されてもよい。いくつかの実施形態では、第1の認証キーは、適切なハッシングアルゴリズムを用いて、文字列または他の非数値データタイプから数値データタイプに変換されてもよい、または第1の認証キーは、基本データ構造であってもよく、ライン1109における比較で直接使用されてもよい。
【0224】
ライン1109では、制御回路304は、Aの値をBの値と比較して、それらが同等であるかどうかを確認する。
【0225】
ライン1110では、制御回路304は、ライン1109における条件が満たされている場合に、第1のユーザアカウントを生成するようにサブルーチンを実行するであろう。
【0226】
ライン1112では、制御回路304は、ライン1109における条件が満たされていない場合に、次の容認可能な認証キーを読み出すようにサブルーチンを実行するであろう。
【0227】
ライン1113では、制御回路304がライン1110でアカウントを前もって生成していた場合に、制御回路304は、生成されたユーザアカウントを記憶するようにサブルーチンを実行するであろう。制御回路304は、アカウントを記憶装置308に記憶してもよい。
【0228】
ライン1115では、制御回路304は、アルゴリズムがその機能を果たした後に終了サブルーチンを起動してもよい。例えば、いくつかの実施形態では、制御回路304は、変数を破壊する、ガベージコレクションを行う、メモリを解放する、または処理回路306のキャッシュを消去してもよい。
【0229】
図11の擬似コードによって説明されるアルゴリズムは、任意の数のプログラミング言語および種々の異なるハードウェアで実装され得、原始関数、論理評価、および機能評価の特定の選択肢および場所は、限定的であることを意図していないことが、当業者に明白となるであろう。また、コードは、種々の論理評価の順序を操作する、単一の反復ループではなくていくつかの反復を並行して行う、または入力または最終出力を根本的に変更することなく、実行時間および性能メトリックを別様に操作して最適化するように、リファクタリングされ得る、または書き換えられ得ることも明白となるであろう。例えば、いくつかの実施形態では、ブレイク条件が、動作を加速するためにライン1110および1112後に課されてもよい、または条件文が、ケーススイッチと置換されてもよい。いくつかの実施形態では、ステップ1006において容認可能な認証キーの全てのインスタンスにわたって反復するのではなく、いくつかの実施形態では、制御回路304が複数のプロセッサまたはプロセッサスレッド上で同時に容認可能な認証キーの複数のインスタンスを評価するように命令され、必要とされる反復の数を削減し、潜在的に計算時間を加速するように、コードが書き換えられてもよい。
【0230】
図12および13は、本開示のいくつかの実施形態による、制御回路(例えば、制御回路304)が、認証キーの可能性として考えられる値を含有するデータベースを使用して、要求に基づいて第1のユーザアカウントの正当性を立証するためのアルゴリズムを提示する。
図10および11によって説明されるアルゴリズムと同様に、いくつかの実施形態では、本アルゴリズムは、処理回路(例えば、処理回路306)によって復号および実行される命令のセットとして、非一過性の記憶媒体(例えば、記憶デバイス308)上に符号化されてもよい。処理回路は、ひいては、同調、ビデオ生成、符号化、復号、暗号化、解読、スケーリング、アナログ/デジタル変換回路、および同等物等の制御回路304内に含有される他のサブ回路に命令を提供してもよい。
【0231】
図12のフローチャートは、本開示のいくつかの実施形態による、制御回路(例えば、制御回路304)が、要求に基づいてデータベースを検索し、第1のユーザアカウントの正当性を立証するためのアルゴリズムを説明する。
【0232】
ステップ1202では、データベースを検索し、第1のユーザアカウントの正当性を立証するアルゴリズムが、要求に基づいて始まるであろう。いくつかの実施形態では、これは、直接または間接的のいずれかで、(例えば、制御回路304またはユーザ入力インターフェース310によって受信される信号からの)ユーザアクションまたは入力に応答して行われてもよい。
【0233】
ステップ1204では、制御回路304は続いて、記憶されたメモリから次の認証キーの次のインスタンスを読み出す。いくつかの実施形態では、制御回路304は、認証キーの値を表す単一の基本データ構造を読み出してもよい。いくつかの実施形態では、制御回路304は、より大きいクラスまたはデータ構造から値を読み出してもよい。
【0234】
ステップ1206では、制御回路304は、認証キーのタイプの可能性として考えられる値を含有する、データベースにアクセスする。いくつかの実施形態では、本データベースは、アルゴリズムを開始することに先立って、ローカルに(例えば、記憶デバイス308上に)記憶されてもよい。いくつかの実施形態では、データベースはまた、通信ネットワーク(例えば、通信ネットワーク414)を横断して、情報を遠隔記憶デバイス(例えば、コンテンツアグリゲータ430)上に実装されるデータベースに伝送するために、通信回路を使用することによって、アクセスされてもよい。
【0235】
ステップ1208では、制御回路304は、認証キーに合致するエントリについてデータベーステーブルを検索する。いくつかの実施形態では、これは、識別子、例えば、データベースの内側で使用される識別子のタイプに合致する認証キーを表す、文字列または整数を比較することによって、行われてもよい。いくつかの実施形態では、制御回路304は、認証キーに合致するテーブルエントリについて一般的クエリをデータベースにサブミットしてもよく、制御回路304は、インデックスのリスト、またはデータベースコンテンツの一部を含有するデータ構造を受信してもよい。いくつかの実施形態では、データベースは、ひいては他のデータベースからのエントリを相互参照する、交差テーブルを実装してもよい。この場合、制御回路304は、ひいては第2のデータベースから情報を読み出すために使用されることができる、第1のデータベースからインデックスを読み出してもよい。明確にする目的で、単一のデータベースと相互作用する制御回路304を説明し得るが、
図12のアルゴリズムは、複数の独立または相互参照データベースを使用して実装され得ることが理解される。
【0236】
ステップ1210では、制御回路304は、認証キーに合致するデータベースエントリがあるかどうかを判定してもよい。いくつかの実施形態では、制御回路304は、合致するエントリがないことを示す信号をデータベースから受信してもよい。いくつかの実施形態では、制御回路304は代わりに、NULLまたはダミー値を伴うインデックスのリストまたはデータ構造を受信してもよい。制御回路304が、認証キーに合致するデータベースエントリがあることを識別する場合、アルゴリズムは、ステップ1212に進み、そうでなければ、アルゴリズムは、ステップ1214に進む。
【0237】
ステップ1212では、制御回路304は、ユーザアカウントの正当性を立証するようにサブルーチンを実行するであろう。その後、アルゴリズムは、ステップ1214に進んでもよく、考慮される必要がある認証キーのさらなるインスタンスがあるかどうかが判定される。
【0238】
ステップ1214では、制御回路304は、認証キーの全てのインスタンスが考慮されるかどうか、およびさらなる反復が必要とされるかどうかを判定するであろう。さらなる反復が必要とされる場合、アルゴリズムは、ステップ1204に戻り、制御回路304は、認証キーの次のインスタンスを読み出すであろう。さらなる反復が必要とされない場合、アルゴリズムは、ステップ1216に進むであろう。
【0239】
ステップ1216では、制御回路304は、第1の購読へのアクセスを許可するようにサブルーチンを実行するであろう。
【0240】
図12の説明は、本開示の任意の他の実施形態とともに使用され得ることが考慮される。加えて、
図12のアルゴリズムに関して説明される説明は、本開示の目的を促進するように、代替的な順序で、または並行して行われてもよい。例えば、制御回路304は、複数のクエリをデータベースに並行してサブミットしてもよい、またはアルゴリズムの実行の遅延を低減させる、または加速するために、複数のクエリを複数の類似データベースにサブミットしてもよい。さらに、
図12のアルゴリズムは、適切に構成されたソフトウェアおよびハードウェアの組み合わせ上に実装されてもよく、アルゴリズムのうちの1つまたはそれを上回る部分を実装するために、
図3-4に関して議論されるデバイスまたは機器のいずれかが使用され得ることに留意されたい。
【0241】
図13の擬似コードは、本開示のいくつかの実施形態による、要求に基づいて第1のユーザアカウントの正当性を立証するアルゴリズムを説明する。
図13の擬似コードによって説明されるアルゴリズムは、任意の数のプログラミング言語および種々の異なるハードウェアで実装され得、スタイルおよび形式は、限定的として解釈されるべきではなく、本開示のいくつかの実施形態を実装するために使用されるコードと一致するであろうステップおよびプロシージャの一般的テンプレートとして解釈されるべきであることが、当業者に明白となるであろう。
【0242】
ライン1301では、アルゴリズムは、ライン1305上で始まる、変数を初期化し、要求に基づいて第1のユーザアカウントの正当性を立証することを準備するようにサブルーチンを起動してもよい。例えば、いくつかの実施形態では、制御回路304は、初期化段階中に、非一過性の記憶媒体(例えば、記憶デバイス308)からRAMの中へ、または処理回路306用のキャッシュの中へ命令をコピーしてもよい。
【0243】
ライン1305では、制御回路304は、容認可能な認証キーのインスタンスを受信してもよい。いくつかの実施形態では、これらのインスタンスは、記憶されたメモリから読み出されてもよい。
【0244】
ライン1306では、制御回路304は、容認可能な認証キーの種々のインスタンスを通して反復してもよく、単一のインスタンスのみが利用可能である場合、ループは、一度だけ実行するであろう。本ループは、
図13のアルゴリズムを実装するために使用されるハードウェアおよびソフトウェア言語の選択肢に応じて、複数の様式で実装されてもよく、例えば、これは、いくつかのプログラミング言語において「for」または「while」ループの一部として実装されてもよい。いくつかの実施形態では、内部方法の一部としてループを実施するであろう、単一クラスまたはカプセル化データ構造の中に容認可能な認証キーのインスタンスを記憶することが便宜的であり得る。
【0245】
ライン1307では、制御回路304は、容認可能な認証キーに合致するエントリについてデータベースにクエリを行ってもよい。どのようにしてデータベースが実装されるか、およびどのようにして容認可能な認証キーが記憶されるかに応じて、断続的ステップが、容認可能な認証キーをデータベースと一致する形態に変換するために要求され得る。例えば、容認可能な認証キーは、クエリの一部として制御回路304によってデータベースに伝送されることに先立って、適切なハッシングアルゴリズムを使用して、文字列または整数に符号化されてもよい。いくつかの実施形態では、容認可能な認証キーは、基本データ構造として符号化されてもよく、制御回路304は、クエリとして容認可能な認証キーをデータベースに直接サブミットしてもよい。データベースにクエリを行った後、制御回路304は、容認可能な認証キーに合致するデータベースエントリのセットを受信してもよい。いくつかの実施形態では、制御回路304は、データ構造、データベースのインデックスのリスト、または別の相互参照データベースのインデックスのセットのリストの形態で、これらのエントリを受信してもよい。
【0246】
ライン1309では、制御回路304は、容認可能な認証キーに合致するいずれかのデータベースエントリがあるかどうかを判定するであろう。いくつかの実施形態では、制御回路304は、ライン1309におけるクエリに応答して、データベースが空のデータ構造またはNULL値を返したかどうかをチェックすることによって、これを判定してもよい。合致するデータベースエントリがある場合、アルゴリズムは、ライン1309に進んでもよい。合致するデータベースエントリがない場合、アルゴリズムは、代わりにライン1312に進んでもよい。
【0247】
ライン1309では、制御回路304は、容認可能な認証キーに合致するデータベースエントリから、第1の認証キーの1つまたはそれを上回る値を読み出してもよい。例えば、制御回路304がライン1307においてデータベースにクエリを行った後にインデックスのリストを読み出す場合、いくつかの実施形態では、制御回路304は、受信されたインデックスに位置する第1の認証キーのためにデータベースエントリを読み出してもよい。いくつかの実施形態では、インデックスは、データベース内に含有される、より大きいデータ構造を指し示してもよく、制御回路304は、適切なアクセサ方法を使用して、データ構造内から第1の認証キーの値を読み出してもよい。いくつかの実施形態では、制御回路304は、第1の認証キーの値を読み出し、さらに進むことに先立って、ローカルで(例えば、記憶装置308の中で)別個のデータ構造の中にそれらを記憶してもよい。第1の認証キーの値を読み出した後に、アルゴリズムは、ライン1310に進むであろう。
【0248】
ライン1310では、制御回路304は、第1の認証キーの値を使用し、制御回路を使用して第1のユーザアカウントの正当性を立証するように、サブルーチンを実行するであろう。その後、アルゴリズムは、ライン1313に進んでもよい。
【0249】
ライン1312では、制御回路304は、ライン1309における条件が満たされていない場合、制御回路304を使用して、次の許可された認証キーを読み出すようにサブルーチンを実行するであろう。
【0250】
ライン1313では、制御回路304は、第1のユーザアカウントへのアクセスを許可するようにサブルーチンを実行するであろう。その後、アルゴリズムは、ライン1315における終了サブルーチンに進んでもよい。
【0251】
ライン1315では、制御回路304は、アルゴリズムがその機能を果たし、容認可能な認証キーの全てのインスタンスが処理され、データベースに対してチェックされた後に、終了サブルーチンを実行してもよい。例えば、いくつかの実施形態では、制御回路304は、変数を破壊する、ガベージコレクションを行う、メモリを解放する、または処理回路306のキャッシュを消去してもよい。
【0252】
図13の擬似コードによって説明されるアルゴリズムは、任意の数のプログラミング言語および種々の異なるハードウェアで実装され得、原始関数、論理評価、および機能評価の特定の選択肢および場所は、限定的であることを意図していないことが、当業者に明白となるであろう。また、コードは、種々の論理評価の順序を操作する、単一の反復ループではなくいくつかの反復を並行して行う、または入力または最終出力を根本的に変更することなく、実行時間および性能メトリックを別様に操作して最適化するように、リファクタリングされ得る、または書き換えられ得ることも明白となるであろう。例えば、いくつかの実施形態では、制御回路304が、複数のプロセッサまたはプロセッサスレッドを使用して、容認可能な認証キーの複数のインスタンスを評価し、同時に、複数のデータベースクエリをサブミットするように命令されるように、コードが書き換えられてもよい。また、単一のデータベースと相互作用する制御回路304を説明し得るが、これは、例証目的のために説明される単一の実施形態にすぎず、
図13のアルゴリズムは、複数の独立または相互参照データベースを使用して実装され得ることも理解される。例えば、ローカルで(例えば、記憶装置308上に)記憶されたデータベースは、任意の数の通信チャンネル(例えば、通信ネットワーク414)を通してアクセス可能であり得る、遠隔に記憶されたデータベース(例えば、コンテンツアグリゲータ430)をインデックス化または相互参照してもよい。いくつかの実施形態では、これは、制御回路304が、オンデマンドで遠隔サーバ上に記憶されたより大きいデータベースにアクセスするために、小さいローカルドライブ上に効率的に記憶されたルックアップテーブルまたはデータベースフロントエンドを利用することを可能にし得る。
【0253】
図14は、第1の購読サービス上で第1のユーザアカウントを生成し、正当性を立証することに関与する例証的ステップのフローチャートである。プロセス1400またはその任意のステップは、
図3-4に示されるデバイスのうちのいずれかの上で起こり得る、またはそれによって提供され得ることに留意されたい。例えば、プロセス1400は、インスタンスの数がある数を超えるときを検出するため、かつメッセージをデバイスに伝送するために、ユーザ機器402、404、および/または406(
図4)上に実装される制御回路によって命令されるように、制御回路304(
図3)によって実行されてもよい。加えて、プロセス1400の1つまたはそれを上回るステップは、任意の他のプロセスまたは実施形態の1つまたはそれを上回るステップに組み込まれてもよい、またはそれと組み合わせられてもよい。
【0254】
プロセス1400は、ステップ1402から始まり、制御回路304は、コンテンツアグリゲータサーバから第1の認証キーを受信する。例えば、第2の購読サービス(例えば、Rovi Super Aggregator)を提供するエンティティは、割引料金で、第1の購読サービスの購読を第2の購読サービスのユーザに提供するように、第1の購読サービス(例えば、Hulu)を提供するエンティティと合意に達してもよい。ユーザが第1の購読サービスを購読する前に、コンテンツアグリゲータサーバ上に実装される制御回路304は、第1の認証キーをコンテンツアグリゲータサーバに伝送する。
【0255】
ステップ1404では、制御回路304は、第1の認証キーを第1の複数の容認可能な認証キーと比較する。例えば、コンテンツプロバイダサーバ上に実装される制御回路304は、第1の認証キーの中に記憶された情報を抽出し、第2の購読サービスの識別子に関連するキーの一部に列挙される購読サービスの名称(例えば、Rovi Super Aggregator)を判定してもよい。次いで、制御回路304は、制御回路304が第1の購読サービス上でアカウントを生成することを可能にされるように以前に識別された、購読サービスのリストを読み出し、購読サービスの名称を読み出されたリストの中の各購読サービスと比較してもよい。事実上、コンテンツプロバイダサーバ上に実装される制御回路304は、作成されるアカウントに対する制御を維持しながら、コンテンツアグリゲータ(すなわち、第2の購読サービス)から新しいユーザについての情報をセキュアに受信することができる。例えば、第1の購読サービスは、割引価格で第1の購読サービス上の購読を提供するように、第2の購読サービスとの契約を結んでもよい。認証キーの中に第2のプロバイダについての情報をカプセル化することによって、第1の購読サービスは、信頼されるコンテンツアグリゲータと関連付けられるユーザのアカウントのみが作成されることを確実にする。
【0256】
ステップ1406では、制御回路304は、第1の認証キーが第1の複数の容認可能な認証キーのうちの1つに合致することを判定するステップに応答して、第1のユーザアカウントを生成する。例えば、制御回路304は、コンテンツプロバイダサーバ上でアカウントを生成するために必要な情報を作成するために、ユーザ名、パスワード、および購読サービス名等の認証キーに含有される情報を抽出してもよい。いくつかの事例では、制御回路304は、アカウントの正当性が立証されていないことを規定する、第1のアカウントと関連付けられるインジケーションを記憶してもよい。
【0257】
ステップ1408では、制御回路304は、データベースエントリの中に第1のユーザアカウントを記憶し、例えば、コンテンツプロバイダサーバ上に実装される制御回路304は、生成されたユーザアカウントに関連する情報をデータベースの中に記憶されたデータベースエントリの中に記憶してもよい。制御回路304はまた、例えば、認証キーの場所へのポインタをユーザアカウントと関連付けられるデータベースエントリの中に記憶することによって、ユーザアカウントを認証キーと関連付けてもよい。記憶されたユーザアカウントを第1の認証キーと関連付けることによって、コンテンツアグリゲータサーバ上に実装される制御回路304は、第2の購読またはユーザが第1の購読サービス上でアカウントの正当性を立証することを決定する場合に、アカウントの正当性が迅速に立証されることを確実にしてもよい。いくつかの事例では、制御回路304は、記憶装置308内の場所に第1の認証キーを記憶してもよく、場所は、パスによって識別される。次いで、制御回路304は、第1のユーザアカウントに対応するデータベースエントリ内の場所へのパスを記憶してもよい。
【0258】
ステップ1410では、制御回路304は、第1のユーザアカウントを記憶するステップに続いて、ユーザに第1の購読サービスを購読させる要求をコンテンツアグリゲータサーバから受信する。制御回路304は、第1の購読サービスを購読するユーザ要求に応答して、第2の認証キーを受信してもよい。例えば、コンテンツアグリゲータサーバ上に実装される制御回路304は、第2の購読サービス(例えば、Rovi Super Aggregator)のユーザが第1の購読サービス(例えば、Hulu)を購読することを所望することを検出してもよい。異なる実施例では、第2のサービス上に実装される制御回路304は、第1のサービスを購読するコストがコスト基準を満たすときに、要求を第1のサービスに自動的に送信してもよい。第1の購読サービス上の制御回路304は、第2のキーの中に記憶された情報を解読し、第2のキーの中に記憶された情報を読み出し、コンテンツプロバイダサーバ上に認証キーを記憶してもよい。
【0259】
ステップ1412では、制御回路304は、第1の認証キーを第2の認証キーと比較する。例えば、コンテンツプロバイダサーバ上に実装される制御回路304は、キーと関連付けられるユーザの名前と関連する第2のキーから情報を読み出してもよく、次いで、識別されたユーザと関連付けられるアカウントが存在するかどうかを判定するように、データベースにクエリを行ってもよい。随意に、次いで、制御回路304は、識別されたユーザのアカウントと関連付けられる第1の認証キーを(すなわち、記憶装置308から、またはデータベースから)読み出してもよい。制御回路304はさらに、キーの中に記憶されたデータを解読することを伴って、または伴わずに、第2の認証キーを第1の認証キーと比較してもよい。
【0260】
ステップ1414では、制御回路304は、第1の認証キーが第2の認証キーに合致することを判定するステップに応答して、第1のユーザアカウントの正当性を立証する。例えば、第2の認証キーとの第1の認証キーの比較に基づいて、次いで、コンテンツプロバイダサーバ上に実装される制御回路304は、いずれかのキーと関連付けられるユーザアカウントを識別してもよい。次いで、制御回路304は、アカウントを識別するようにデータベースにクエリを行い、アカウントの正当性が立証されていることを規定するインジケーションを記憶してもよい。一実施例では、制御回路304は、識別されたアカウントと関連付けられるデータベース記録を識別し、アカウントの正当性が立証されているかどうかと関連付けられるフィールド(例えば、フィールドIS_VALIDATED)を、アカウントの正当性が立証されていることを示す値に設定してもよい。
【0261】
ステップ1416では、制御回路304は、第1のユーザアカウントの正当性を立証するステップに応答して、第1の購読サービスへのアクセスを許可する。例えば、コンテンツプロバイダサーバ上に実装される制御回路304は、アカウントが使用のために利用可能であることを示すメッセージを生成し、コンテンツアグリゲータサーバに伝送してもよい。したがって、コンテンツプロバイダサーバ上に実装される制御回路304は、第2の購読サービスの提供がユーザによってアクセスされ得ることをユーザに通知することができる。
【0262】
図14のステップまたは説明は、本開示の任意の他の実施形態とともに使用され得ることが考慮される。加えて、
図14に関して説明されるステップおよび説明は、本開示の目的を促進するように、代替的な順序で、または並行して行われてもよい。例えば、これらのステップはそれぞれ、システムまたは方法の遅延を低減させる、または速度を増加させるように、任意の順序で、または並行して、または実質的に同時に行われてもよい。
【0263】
上記で議論されるプロセスは、限定的ではなく、例証的であることを意図している。当業者は、本明細書で議論されるプロセスのステップが、省略され、修正され、組み合わせられる、および/または並べ替えられ得る、任意の付加的ステップが、本発明の範囲から逸脱することなく行われ得ることを理解するであろう。より一般的には、上記の開示は、限定的ではなく、例示的であることを意図する。続く請求項のみが、本発明が包含するものに関する境界を設定することを意図する。