(57)【要約】いくつかの側面では、制御回路は、第１の購読サービスと関連付けられるコンテンツプロバイダサーバにて、ユーザが第１の購読サービスを購読する前に、第２の購読サービスと関連付けられるコンテンツアグリゲータサーバから第１の認証キーを受信する。制御回路は、コンテンツプロバイダサーバにて、第１の認証キーを容認可能な認証と比較した後に、第１のユーザアカウントを生成して記憶する。第１のユーザアカウントを記憶することに応答し、制御回路は、ユーザに第１の購読サービスを購読させるよう要求をコンテンツアグリゲータサーバから受信し、要求は、第２の認証キーを含む。制御回路は、第１の認証キーを第２の認証キーと比較し、第１の認証キーが第２の認証キーに合致することを判定することに応答し、第１のユーザアカウントの正当性を立証し、第１のユーザアカウントを通した第１の購読サービスへのアクセスを許可する。
2018537735.tif 000002
【特許請求の範囲】
【請求項１】
複数の購読サービスにわたって機密情報を管理するための方法であって、
第１の購読サービスと関連付けられるコンテンツプロバイダサーバにおいて、第２の購読サービスと関連付けられるコンテンツアグリゲータサーバから第１の認証キーを受信することであって、前記第１の認証キーは、ユーザが前記第１の購読サービスを購読する前に受信される、ことと、
前記第１の認証キーを第１の複数の容認可能な認証キーと比較し、前記第１の認証キーに基づいて、前記第１の購読サービスのために第１のユーザアカウントを生成するかどうかを判定することと、
前記第１の認証キーが前記第１の複数の容認可能な認証キーのうちの１つに合致することを判定することに応答して、前記コンテンツプロバイダサーバにおいて前記第１のユーザアカウントを生成することと、
前記コンテンツプロバイダサーバにおいて、前記第１のユーザアカウントが前記第１の認証キーに対応することを示すデータベースエントリの中に前記第１のユーザアカウントを記憶することと、
前記第１のユーザアカウントを記憶することに続いて、前記コンテンツプロバイダサーバにおいて、前記ユーザに前記第１の購読サービスを購読させる要求を前記コンテンツアグリゲータサーバから受信することであって、前記要求は、第２の認証キーを含む、ことと、
前記第１の認証キーを前記第２の認証キーと比較することと、
前記第１の認証キーが前記第２の認証キーに合致することを判定することに応答して、前記第１のユーザアカウントの正当性を立証することと、
前記第１のユーザアカウントの正当性を立証することに応答して、前記第１のユーザアカウントを通した前記第１の購読サービスへのアクセスを許可することと
を含む、方法。
【請求項２】
前記第１の認証キーは、前記第２の購読サービスによって割り当てられる前記ユーザのためのユーザ名およびパスワードに基づく暗号化キーである、請求項１に記載の方法。
【請求項３】
第１の複数の容認可能な認証キーは、前記コンテンツアグリゲータサーバから前記コンテンツプロバイダサーバにおいて受信される、請求項１に記載の方法。
【請求項４】
前記データベースエントリは、前記第１のユーザアカウントへのポインタを含む第１のデータベースフィールドと、前記第１の認証キーを含む第２のデータベースフィールドとを含む、請求項１に記載の方法。
【請求項５】
前記データベースエントリは、前記第１の購読サービスのための購読規約を含む、第３のデータベースフィールドを含む、請求項１に記載の方法。
【請求項６】
前記ユーザに前記第１の購読サービスを購読させる前記コンテンツアグリゲータサーバからの前記要求は、前記ユーザが前記コンテンツアグリゲータサーバにおいて前記第２の購読サービスのための購読レベルを選択することに応答して、さらなるユーザ入力を伴わずに前記コンテンツアグリゲータサーバから伝送される、請求項１に記載の方法。
【請求項７】
前記第１のユーザアカウントの正当性を立証することに応答して、前記コンテンツプロバイダサーバから前記コンテンツアグリゲータサーバに第２の購読サービス確認を伝送することをさらに含む、請求項１に記載の方法。
【請求項８】
前記コンテンツアグリゲータサーバから、前記第１のユーザアカウントを通して前記第１の購読サービスのメディアコンテンツにアクセスする第２の要求を受信することと、
前記コンテンツアグリゲータサーバから、前記第１のユーザアカウントを通して前記第１の購読サービスのメディアコンテンツにアクセスする前記第２の要求を受信することに応答して、前記コンテンツプロバイダサーバとユーザ機器デバイスとの間の直接接続を作成することと
をさらに含む、請求項１に記載の方法。
【請求項９】
前記コンテンツプロバイダサーバと前記ユーザ機器デバイスとの間の前記直接接続に応答して、前記第１の購読サービスと関連付けられるユーザインターフェーススキンを読み出すことと、
前記ユーザインターフェーススキンを使用して、メディアコンテンツ一覧を表示するために生成することと
をさらに含む、請求項８に記載の方法。
【請求項１０】
前記コンテンツアグリゲータサーバから、メディアコンテンツ一覧の前記第１のユーザアカウントを通したユーザ選択を受信することと、
前記メディアコンテンツ一覧に対応するメディアアセットを表示するために生成することと
をさらに含む、請求項９に記載の方法。
【請求項１１】
複数の購読サービスにわたって機密情報を管理するためのシステムであって、前記システムは、制御回路を備え、前記制御回路は、
第１の購読サービスと関連付けられるコンテンツプロバイダサーバにおいて、第２の購読サービスと関連付けられるコンテンツアグリゲータサーバから第１の認証キーを受信することであって、前記第１の認証キーは、ユーザが前記第１の購読サービスを購読する前に受信される、ことと、
前記第１の認証キーを第１の複数の容認可能な認証キーと比較し、前記第１の認証キーに基づいて、前記第１の購読サービスのために第１のユーザアカウントを生成するかどうかを判定することと、
前記第１の認証キーが前記第１の複数の容認可能な認証キーのうちの１つに合致することを判定することに応答して、前記コンテンツプロバイダサーバにおいて前記第１のユーザアカウントを生成することと、
前記コンテンツプロバイダサーバにおいて、前記第１のユーザアカウントが前記第１の認証キーに対応することを示すデータベースエントリの中に前記第１のユーザアカウントを記憶することと、
前記第１のユーザアカウントを記憶することに続いて、前記コンテンツプロバイダサーバにおいて、前記ユーザに前記第１の購読サービスを購読させる要求を前記コンテンツアグリゲータサーバから受信することであって、前記要求は、第２の認証キーを含む、ことと、
前記第１の認証キーを前記第２の認証キーと比較することと、
前記第１の認証キーが前記第２の認証キーに合致することを判定することに応答して、前記第１のユーザアカウントの正当性を立証することと、
前記第１のユーザアカウントの正当性を立証することに応答して、前記第１のユーザアカウントを通した前記第１の購読サービスへのアクセスを許可することと
を行うように構成される、システム。
【請求項１２】
前記第１の認証キーは、前記第２の購読サービスによって割り当てられる前記ユーザのためのユーザ名およびパスワードに基づく暗号化キーである、請求項１１に記載のシステム。
【請求項１３】
第１の複数の容認可能な認証キーは、前記コンテンツアグリゲータサーバから前記コンテンツプロバイダサーバにおいて受信される、請求項１１に記載のシステム。
【請求項１４】
前記データベースエントリは、前記第１のユーザアカウントへのポインタを含む第１のデータベースフィールドと、前記第１の認証キーを含む第２のデータベースフィールドとを含む、請求項１１に記載のシステム。
【請求項１５】
前記データベースエントリは、前記第１の購読サービスのための購読規約を含む、第３のデータベースフィールドを含む、請求項１１に記載のシステム。
【請求項１６】
前記ユーザに前記第１の購読サービスを購読させる前記コンテンツアグリゲータサーバからの前記要求は、前記ユーザが前記コンテンツアグリゲータサーバにおいて前記第２の購読サービスのための購読レベルを選択することに応答して、さらなるユーザ入力を伴わずに前記コンテンツアグリゲータサーバから伝送される、請求項１１に記載のシステム。
【請求項１７】
前記制御回路はさらに、前記第１のユーザアカウントの正当性を立証することに応答して、前記コンテンツプロバイダサーバから前記コンテンツアグリゲータサーバに第２の購読サービス確認を伝送するように構成される、請求項１１に記載のシステム。
【請求項１８】
前記制御回路はさらに、
前記コンテンツアグリゲータサーバから、前記第１のユーザアカウントを通して前記第１の購読サービスのメディアコンテンツにアクセスする第２の要求を受信することと、
前記コンテンツアグリゲータサーバから、前記第１のユーザアカウントを通して前記第１の購読サービスのメディアコンテンツにアクセスする前記第２の要求を受信することに応答して、前記コンテンツプロバイダサーバとユーザ機器デバイスとの間の直接接続を作成することと
を行うように構成される、請求項１１に記載のシステム。
【請求項１９】
前記制御回路はさらに、
前記コンテンツプロバイダサーバと前記ユーザ機器デバイスとの間の前記直接接続に応答して、前記第１の購読サービスと関連付けられるユーザインターフェーススキンを読み出すことと、
前記ユーザインターフェーススキンを使用して、メディアコンテンツ一覧を表示するために生成することと
を行うように構成される、請求項１８に記載のシステム。
【請求項２０】
前記制御回路はさらに、
前記コンテンツアグリゲータサーバから、メディアコンテンツ一覧の前記第１のユーザアカウントを通したユーザ選択を受信することと、
前記メディアコンテンツ一覧に対応するメディアアセットを表示するために生成することと
を行うように構成される、請求項１９に記載のシステム。
【請求項２１】
複数の購読サービスにわたって機密情報を管理するためのシステムであって、
第１の購読サービスと関連付けられるコンテンツプロバイダサーバにおいて、第２の購読サービスと関連付けられるコンテンツアグリゲータサーバから第１の認証キーを受信するための手段であって、前記第１の認証キーは、ユーザが前記第１の購読サービスを購読する前に受信される、手段と、
前記第１の認証キーを第１の複数の容認可能な認証キーと比較し、前記第１の認証キーに基づいて、前記第１の購読サービスのために第１のユーザアカウントを生成するかどうかを判定するための手段と、
前記第１の認証キーが前記第１の複数の容認可能な認証キーのうちの１つに合致することを判定することに応答して、前記コンテンツプロバイダサーバにおいて前記第１のユーザアカウントを生成するための手段と、
前記コンテンツプロバイダサーバにおいて、前記第１のユーザアカウントが前記第１の認証キーに対応することを示すデータベースエントリの中に前記第１のユーザアカウントを記憶するための手段と、
前記第１のユーザアカウントを記憶することに続いて、前記コンテンツプロバイダサーバにおいて、前記ユーザに前記第１の購読サービスを購読させる要求を前記コンテンツアグリゲータサーバから受信するための手段であって、前記要求は、第２の認証キーを含む、手段と、
前記第１の認証キーを前記第２の認証キーと比較するための手段と、
前記第１の認証キーが前記第２の認証キーに合致することを判定することに応答して、前記第１のユーザアカウントの正当性を立証するための手段と、
前記第１のユーザアカウントの正当性を立証することに応答して、前記第１のユーザアカウントを通した前記第１の購読サービスへのアクセスを許可するための手段と
を備える、システム。
【請求項２２】
前記第１の認証キーは、前記第２の購読サービスによって割り当てられる前記ユーザのためのユーザ名およびパスワードに基づく暗号化キーである、請求項２１に記載のシステム。
【請求項２３】
第１の複数の容認可能な認証キーは、前記コンテンツアグリゲータサーバから前記コンテンツプロバイダサーバにおいて受信される、請求項２１に記載のシステム。
【請求項２４】
前記データベースエントリは、前記第１のユーザアカウントへのポインタを含む第１のデータベースフィールドと、前記第１の認証キーを含む第２のデータベースフィールドとを含む、請求項２１に記載のシステム。
【請求項２５】
前記データベースエントリは、前記第１の購読サービスのための購読規約を含む、第３のデータベースフィールドを含む、請求項２１に記載のシステム。
【請求項２６】
前記ユーザに前記第１の購読サービスを購読させる前記コンテンツアグリゲータサーバからの前記要求は、前記ユーザが前記コンテンツアグリゲータサーバにおいて前記第２の購読サービスのための購読レベルを選択することに応答して、さらなるユーザ入力を伴わずに前記コンテンツアグリゲータサーバから伝送される、請求項２１に記載のシステム。
【請求項２７】
前記第１のユーザアカウントの正当性を立証することに応答して、前記コンテンツプロバイダサーバから前記コンテンツアグリゲータサーバに第２の購読サービス確認を伝送するための手段をさらに備える、請求項２１に記載のシステム。
【請求項２８】
前記コンテンツアグリゲータサーバから、前記第１のユーザアカウントを通して前記第１の購読サービスのメディアコンテンツにアクセスする第２の要求を受信するための手段と、
前記コンテンツアグリゲータサーバから、前記第１のユーザアカウントを通して前記第１の購読サービスのメディアコンテンツにアクセスする前記第２の要求を受信することに応答して、前記ユーザ機器デバイスとコンテンツアグリゲータサーバとの間の直接接続を作成するための手段と
をさらに備える、請求項２１に記載のシステム。
【請求項２９】
前記コンテンツプロバイダサーバと前記ユーザ機器デバイスとの間の前記直接接続に応答して、前記第１の購読サービスと関連付けられるユーザインターフェーススキンを読み出すための手段と、
前記ユーザインターフェーススキンを使用して、メディアコンテンツ一覧を表示するために生成するための手段と
をさらに備える、請求項２８に記載のシステム。
【請求項３０】
前記コンテンツアグリゲータサーバから、メディアコンテンツ一覧の前記第１のユーザアカウントを通したユーザ選択を受信するための手段と、
前記メディアコンテンツ一覧に対応するメディアアセットを表示するために生成するための手段と
をさらに備える、請求項２９に記載のシステム。
【請求項３１】
複数の購読サービスにわたって機密情報を管理するための方法であって、
第１の購読サービスと関連付けられるコンテンツプロバイダサーバにおいて、第２の購読サービスと関連付けられるコンテンツアグリゲータサーバから第１の認証キーを受信することであって、前記第１の認証キーは、ユーザが前記第１の購読サービスを購読する前に受信される、ことと、
第１の複数の容認可能な認証キーを読み出すことと、
前記第１の認証キーを前記第１の複数の容認可能な認証キーと比較し、前記第１の認証キーに基づいて、前記第１の購読サービスのために第１のユーザアカウントを生成するかどうかを判定することと、
前記第１の認証キーが前記第１の複数の容認可能な認証キーのうちの１つに合致することを判定することに応答して、前記コンテンツプロバイダサーバにおいて前記第１のユーザアカウントを生成することと、
前記コンテンツプロバイダサーバにおいて、前記第１のユーザアカウントが前記第１の認証キーに対応することを示すデータベースエントリの中に前記第１のユーザアカウントを記憶することと、
前記第１のユーザアカウントを記憶することに続いて、前記コンテンツプロバイダサーバにおいて、前記ユーザに前記第１の購読サービスを購読させる要求を前記コンテンツアグリゲータサーバから受信することであって、前記要求は、第２の認証キーを含む、ことと、
前記第１の認証キーを前記第２の認証キーと比較することと、
前記第１の認証キーが前記第２の認証キーに合致することを判定することに応答して、前記第１のユーザアカウントの正当性を立証することと、
前記第１のユーザアカウントの正当性を立証することに応答して、前記第１のユーザアカウントを通した前記第１の購読サービスへのアクセスを許可することと
を含む、方法。
【請求項３２】
前記第１の認証キーは、前記第２の購読サービスによって割り当てられる前記ユーザのためのユーザ名およびパスワードに基づく暗号化キーである、請求項３１に記載の方法。
【請求項３３】
第１の複数の容認可能な認証キーは、前記コンテンツアグリゲータサーバから前記コンテンツプロバイダサーバにおいて受信される、請求項３１−３２のいずれかに記載の方法。
【請求項３４】
前記データベースエントリは、前記第１のユーザアカウントへのポインタを含む第１のデータベースフィールドと、前記第１の認証キーを含む第２のデータベースフィールドとを含む、請求項３１−３３のいずれかに記載の方法。
【請求項３５】
前記データベースエントリは、前記第１の購読サービスのための購読規約を含む、第３のデータベースフィールドを含む、請求項３１−３４のいずれかに記載の方法。
【請求項３６】
前記ユーザに前記第１の購読サービスを購読させる前記コンテンツアグリゲータサーバからの前記要求は、前記ユーザが前記コンテンツアグリゲータサーバにおいて前記第２の購読サービスのための購読レベルを選択することに応答して、さらなるユーザ入力を伴わずに前記コンテンツアグリゲータサーバから伝送される、請求項３１−３５のいずれかに記載の方法。
【請求項３７】
前記第１のユーザアカウントの正当性を立証することに応答して、前記コンテンツプロバイダサーバから前記コンテンツアグリゲータサーバに第２の購読サービス確認を伝送することをさらに含む、請求項３１−３６のいずれかに記載の方法。
【請求項３８】
前記コンテンツアグリゲータサーバから、前記第１のユーザアカウントを通して前記第１の購読サービスのメディアコンテンツにアクセスする第２の要求を受信することと、
前記コンテンツアグリゲータサーバから、前記第１のユーザアカウントを通して前記第１の購読サービスのメディアコンテンツにアクセスする前記第２の要求を受信することに応答して、前記コンテンツプロバイダサーバとユーザ機器デバイスとの間の直接接続を作成することと
をさらに含む、請求項３１−３７のいずれかに記載の方法。
【請求項３９】
前記コンテンツプロバイダサーバと前記ユーザ機器デバイスとの間の前記直接接続に応答して、前記第１の購読サービスと関連付けられるユーザインターフェーススキンを読み出すことと、
前記ユーザインターフェーススキンを使用して、メディアコンテンツ一覧を表示するために生成することと
をさらに含む、請求項３１−３８のいずれかに記載の方法。
【請求項４０】
前記コンテンツアグリゲータサーバから、メディアコンテンツ一覧の前記第１のユーザアカウントを通したユーザ選択を受信することと、
前記メディアコンテンツ一覧に対応するメディアアセットを表示するために生成することと
をさらに含む、請求項３１−３９のいずれかに記載の方法。
【請求項４１】
複数の購読サービスにわたって機密情報を管理するためのその上に記録された命令を有する、非一過性のコンピュータ可読媒体であって、前記命令は、
第１の購読サービスと関連付けられるコンテンツプロバイダサーバにおいて、第２の購読サービスと関連付けられるコンテンツアグリゲータサーバから第１の認証キーを受信する命令であって、前記第１の認証キーは、ユーザが前記第１の購読サービスを購読する前に受信される、命令と、
前記第１の認証キーを第１の複数の容認可能な認証キーと比較し、前記第１の認証キーに基づいて、前記第１の購読サービスのために第１のユーザアカウントを生成するかどうかを判定する命令と、
前記第１の認証キーが前記第１の複数の容認可能な認証キーのうちの１つに合致することを判定することに応答して、前記コンテンツプロバイダサーバにおいて前記第１のユーザアカウントを生成する命令と、
前記コンテンツプロバイダサーバにおいて、前記第１のユーザアカウントが前記第１の認証キーに対応することを示すデータベースエントリの中に前記第１のユーザアカウントを記憶する命令と、
前記第１のユーザアカウントを記憶することに続いて、前記コンテンツプロバイダサーバにおいて、前記ユーザに前記第１の購読サービスを購読させる要求を前記コンテンツアグリゲータサーバから受信する命令であって、前記要求は、第２の認証キーを含む、命令と、
前記第１の認証キーを前記第２の認証キーと比較する命令と、
前記第１の認証キーが前記第２の認証キーに合致することを判定することに応答して、前記第１のユーザアカウントの正当性を立証する命令と、
前記第１のユーザアカウントの正当性を立証することに応答して、前記第１のユーザアカウントを通した前記第１の購読サービスへのアクセスを許可する命令と
を備える、非一過性のコンピュータ可読媒体。
【請求項４２】
前記第１の認証キーは、前記第２の購読サービスによって割り当てられる前記ユーザのためのユーザ名およびパスワードに基づく暗号化キーである、請求項４１に記載の非一過性のコンピュータ可読媒体。
【請求項４３】
第１の複数の容認可能な認証キーは、前記コンテンツアグリゲータサーバから前記コンテンツプロバイダサーバにおいて受信される、請求項４１に記載の非一過性のコンピュータ可読媒体。
【請求項４４】
前記データベースエントリは、前記第１のユーザアカウントへのポインタを含む第１のデータベースフィールドと、前記第１の認証キーを含む第２のデータベースフィールドとを含む、請求項４１に記載の非一過性のコンピュータ可読媒体。
【請求項４５】
前記データベースエントリは、前記第１の購読サービスのための購読規約を含む、第３のデータベースフィールドを含む、請求項４１に記載の非一過性のコンピュータ可読媒体。
【請求項４６】
前記ユーザに前記第１の購読サービスを購読させる前記コンテンツアグリゲータサーバからの前記要求は、前記ユーザが前記コンテンツアグリゲータサーバにおいて前記第２の購読サービスのための購読レベルを選択することに応答して、さらなるユーザ入力を伴わずに前記コンテンツアグリゲータサーバから伝送される、請求項４１に記載の非一過性のコンピュータ可読媒体。
【請求項４７】
前記第１のユーザアカウントの正当性を立証することに応答して、前記コンテンツプロバイダサーバから前記コンテンツアグリゲータサーバに第２の購読サービス確認を伝送する命令をさらに備える、請求項４１に記載の非一過性のコンピュータ可読媒体。
【請求項４８】
前記命令はさらに、
前記コンテンツアグリゲータサーバから、前記第１のユーザアカウントを通して前記第１の購読サービスのメディアコンテンツにアクセスする第２の要求を受信する命令と、
前記コンテンツアグリゲータサーバから、前記第１のユーザアカウントを通して前記第１の購読サービスのメディアコンテンツにアクセスする前記第２の要求を受信することに応答して、前記コンテンツプロバイダサーバとユーザ機器デバイスとの間の直接接続を作成する命令と
を備える、請求項４１に記載の非一過性のコンピュータ可読媒体。
【請求項４９】
前記命令はさらに、
前記コンテンツプロバイダサーバと前記ユーザ機器デバイスとの間の前記直接接続に応答して、前記第１の購読サービスと関連付けられるユーザインターフェーススキンを読み出す命令と、
前記ユーザインターフェーススキンを使用して、メディアコンテンツ一覧を表示するために生成する命令と
を備える、請求項４８に記載の非一過性のコンピュータ可読媒体。
【請求項５０】
前記命令はさらに、
前記コンテンツアグリゲータサーバから、メディアコンテンツ一覧の前記第１のユーザアカウントを通したユーザ選択を受信する命令と、
前記メディアコンテンツ一覧に対応するメディアアセットを表示するために生成する命令と
をさらに備える、請求項４９に記載の非一過性のコンピュータ可読媒体。
【請求項５１】
購読サービスからのコンテンツストリームの数を増加させるかどうかをユーザに推奨する方法であって、
前記購読サービスから異なるデバイスにメディアを同時にストリーミングする要求の数が、前記購読サービスから前記ユーザに利用可能なストリームの数を超える、複数のインスタンスを検出することと、
複数のタイムスタンプがそれぞれ、前記複数のインスタンスのうちの１つに対応する、前記複数のタイムスタンプを生成することと、
前記複数のタイムスタンプのそれぞれを、前記購読サービスのための購読期間に対応するタイムスタンプの範囲と比較し、前記購読期間中に起こった前記複数のインスタンスの数を判定することと、
サーバにおいて、前記購読期間中に起こった前記複数のインスタンスの前記数を前記購読期間の閾値数と比較することと、
前記購読期間中に起こった前記複数のインスタンスの前記数が前記購読期間の前記閾値数を超えることを判定することに応答して、前記サーバから前記異なるデバイスのうちの１つにメッセージを伝送することと
を含む、方法。
【請求項５２】
前記購読期間の時間の長さに基づいて、複数の潜在的閾値数から前記購読期間の前記閾値数を選択することをさらに含む、請求項５１に記載の方法。
【請求項５３】
前記購読サービスから前記ユーザに利用可能な前記ストリームの数に基づいて、複数の潜在的閾値数から前記購読期間の前記閾値数を選択することをさらに含む、請求項５１に記載の方法。
【請求項５４】
前記複数のタイムスタンプのそれぞれを、前記購読サービスのための購読期間の一部に対応するタイムスタンプの範囲と比較し、前記購読期間の前記一部の間に起こった前記複数のインスタンスの数を判定することと、
前記サーバにおいて、前記購読期間の前記一部の間に起こった前記複数のインスタンスの前記数を前記購読期間の前記一部の閾値数と比較することと、
前記購読期間の前記一部の間に起こった前記複数のインスタンスの前記数が前記購読期間の前記一部の前記閾値数を超えることを判定することに応答して、前記サーバから前記異なるデバイスのうちの１つへの前記メッセージを修正することと
をさらに含む、請求項５１に記載の方法。
【請求項５５】
前記購読期間の時間の長さに基づいて、複数の潜在的閾値数から前記購読期間の前記一部の前記閾値数を選択することをさらに含む、請求項５４に記載の方法。
【請求項５６】
前記購読サービスから前記ユーザに利用可能な前記ストリームの数に基づいて、複数の潜在的閾値数から前記購読期間の前記一部の前記閾値数を選択することをさらに含む、請求項５４に記載の方法。
【請求項５７】
前記購読期間の前記一部に対応する日付に基づいて、複数の潜在的閾値数から前記購読期間の前記一部の前記閾値数を選択することをさらに含む、請求項５４に記載の方法。
【請求項５８】
前記購読期間の前記一部に対応する時刻に基づいて、複数の潜在的閾値数から前記購読期間の前記一部の前記閾値数を選択することをさらに含む、請求項５４に記載の方法。
【請求項５９】
前記購読期間の前記一部の間に前記購読サービスから利用可能になったメディアアセットの数に基づいて、複数の潜在的閾値数から前記購読期間の前記一部の前記閾値数を選択することをさらに含む、請求項５４に記載の方法。
【請求項６０】
前記メッセージは、前記複数のインスタンスの頻度を低減させるための推奨を含む、請求項５１に記載の方法。
【請求項６１】
購読サービスからのコンテンツストリームの数を増加させるかどうかをユーザに推奨するシステムであって、前記システムは、制御回路を備え、前記制御回路は、
前記購読サービスから異なるデバイスにメディアを同時にストリーミングする要求の数が、前記購読サービスから前記ユーザに利用可能なストリームの数を超える、複数のインスタンスを検出することと、
複数のタイムスタンプがそれぞれ、前記複数のインスタンスのうちの１つに対応する、前記複数のタイムスタンプを生成することと、
前記複数のタイムスタンプのそれぞれを、前記購読サービスのための購読期間に対応するタイムスタンプの範囲と比較し、前記購読期間中に起こった前記複数のインスタンスの数を判定することと、
サーバにおいて、前記購読期間中に起こった前記複数のインスタンスの前記数を前記購読期間の閾値数と比較することと、
前記購読期間中に起こった前記複数のインスタンスの前記数が前記購読期間の前記閾値数を超えることを判定することに応答して、前記サーバから前記異なるデバイスのうちの１つにメッセージを伝送することと
を行うように構成される、システム。
【請求項６２】
前記制御回路はさらに、前記購読期間の時間の長さに基づいて、複数の潜在的閾値数から前記購読期間の前記閾値数を選択するように構成される、請求項６１に記載のシステム。
【請求項６３】
前記制御回路はさらに、前記購読サービスから前記ユーザに利用可能な前記ストリームの数に基づいて、複数の潜在的閾値数から前記購読期間の前記閾値数を選択するように構成される、請求項６１に記載のシステム。
【請求項６４】
前記制御回路はさらに、
前記複数のタイムスタンプのそれぞれを、前記購読サービスのための購読期間の一部に対応するタイムスタンプの範囲と比較し、前記購読期間の前記一部の間に起こった前記複数のインスタンスの数を判定することと、
前記サーバにおいて、前記購読期間の前記一部の間に起こった前記複数のインスタンスの前記数を前記購読期間の前記一部の閾値数と比較することと、
前記購読期間の前記一部の間に起こった前記複数のインスタンスの前記数が前記購読期間の前記一部の前記閾値数を超えることを判定することに応答して、前記サーバから前記異なるデバイスのうちの１つへの前記メッセージを修正することと
を行うように構成される、請求項６１に記載のシステム。
【請求項６５】
前記制御回路はさらに、前記購読期間の時間の長さに基づいて、複数の潜在的閾値数から前記購読期間の前記一部の前記閾値数を選択するように構成される、請求項６４に記載のシステム。
【請求項６６】
前記制御回路はさらに、前記購読サービスから前記ユーザに利用可能な前記ストリームの数に基づいて、複数の潜在的閾値数から前記購読期間の前記一部の前記閾値数を選択するように構成される、請求項６４に記載のシステム。
【請求項６７】
前記制御回路はさらに、前記購読期間の前記一部に対応する日付に基づいて、複数の潜在的閾値数から前記購読期間の前記一部の前記閾値数を選択するように構成される、請求項６４に記載のシステム。
【請求項６８】
前記制御回路はさらに、前記購読期間の前記一部に対応する時刻に基づいて、複数の潜在的閾値数から前記購読期間の前記一部の前記閾値数を選択するように構成される、請求項６４に記載のシステム。
【請求項６９】
前記制御回路はさらに、前記購読期間の前記一部の間に前記購読サービスから利用可能になったメディアアセットの数に基づいて、複数の潜在的閾値数から前記購読期間の前記一部の前記閾値数を選択するように構成される、請求項６４に記載のシステム。
【請求項７０】
前記メッセージは、前記複数のインスタンスの頻度を低減させるための推奨を含む、請求項６１に記載のシステム。
【請求項７１】
購読サービスからのコンテンツストリームの数を増加させるかどうかをユーザに推奨するシステムであって、
前記購読サービスから異なるデバイスにメディアを同時にストリーミングする要求の数が、前記購読サービスから前記ユーザに利用可能なストリームの数を超える、複数のインスタンスを検出するための手段と、
複数のタイムスタンプがそれぞれ、前記複数のインスタンスのうちの１つに対応する、前記複数のタイムスタンプを生成するための手段と、
前記複数のタイムスタンプのそれぞれを、前記購読サービスのための購読期間に対応するタイムスタンプの範囲と比較し、前記購読期間中に起こった前記複数のインスタンスの数を判定するための手段と、
サーバにおいて、前記購読期間中に起こった前記複数のインスタンスの前記数を前記購読期間の閾値数と比較するための手段と、
前記購読期間中に起こった前記複数のインスタンスの前記数が前記購読期間の前記閾値数を超えることを判定することに応答して、前記サーバから前記異なるデバイスのうちの１つにメッセージを伝送するための手段と
を備える、システム。
【請求項７２】
前記購読期間の時間の長さに基づいて、複数の潜在的閾値数から前記購読期間の前記閾値数を選択するための手段をさらに備える、請求項７１に記載のシステム。
【請求項７３】
前記購読サービスから前記ユーザに利用可能な前記ストリームの数に基づいて、複数の潜在的閾値数から前記購読期間の前記閾値数を選択するための手段をさらに備える、請求項７１に記載のシステム。
【請求項７４】
前記複数のタイムスタンプのそれぞれを、前記購読サービスのための購読期間の一部に対応するタイムスタンプの範囲と比較し、前記購読期間の前記一部の間に起こった前記複数のインスタンスの数を判定するための手段と、
前記サーバにおいて、前記購読期間の前記一部の間に起こった前記複数のインスタンスの前記数を前記購読期間の前記一部の閾値数と比較するための手段と、
前記購読期間の前記一部の間に起こった前記複数のインスタンスの前記数が前記購読期間の前記一部の前記閾値数を超えることを判定することに応答して、前記サーバから前記異なるデバイスのうちの１つへの前記メッセージを修正するための手段と
をさらに備える、請求項７１に記載のシステム。
【請求項７５】
前記購読期間の時間の長さに基づいて、複数の潜在的閾値数から前記購読期間の前記一部の前記閾値数を選択するための手段をさらに備える、請求項７４に記載のシステム。
【請求項７６】
前記購読サービスから前記ユーザに利用可能な前記ストリームの数に基づいて、複数の潜在的閾値数から前記購読期間の前記一部の前記閾値数を選択するための手段をさらに備える、請求項７４に記載のシステム。
【請求項７７】
前記購読期間の前記一部に対応する日付に基づいて、複数の潜在的閾値数から前記購読期間の前記一部の前記閾値数を選択するための手段をさらに備える、請求項７４に記載のシステム。
【請求項７８】
前記購読期間の前記一部に対応する時刻に基づいて、複数の潜在的閾値数から前記購読期間の前記一部の前記閾値数を選択するための手段をさらに備える、請求項７４に記載のシステム。
【請求項７９】
前記購読期間の前記一部の間に前記購読サービスから利用可能になったメディアアセットの数に基づいて、複数の潜在的閾値数から前記購読期間の前記一部の前記閾値数を選択するための手段をさらに備える、請求項７４に記載のシステム。
【請求項８０】
前記メッセージは、前記複数のインスタンスの頻度を低減させるための推奨を含む、請求項７１に記載のシステム。
【請求項８１】
購読サービスからのコンテンツストリームの数を増加させるかどうかをユーザに推奨する方法であって、
前記購読サービスから異なるデバイスにメディアを同時にストリーミングする要求の数が、前記購読サービスから前記ユーザに利用可能なストリームの数を超える、複数のインスタンスを検出することと、
複数のタイムスタンプがそれぞれ、前記複数のインスタンスのうちの１つに対応する、前記複数のタイムスタンプを生成することと、
前記複数のタイムスタンプのそれぞれを、前記購読サービスのための購読期間に対応するタイムスタンプの範囲と比較し、前記購読期間中に起こった前記複数のインスタンスの数を判定することと、
サーバにおいて、前記購読期間中に起こった前記複数のインスタンスの前記数を前記購読期間の閾値数と比較することと、
前記サーバにおいてメッセージを生成することと、
前記購読期間中に起こった前記複数のインスタンスの前記数が前記購読期間の前記閾値数を超えることを判定することに応答して、前記サーバから前記異なるデバイスのうちの１つに前記メッセージを伝送することと
を含む、方法。
【請求項８２】
前記購読期間の時間の長さに基づいて、複数の潜在的閾値数から前記購読期間の前記閾値数を選択することをさらに含む、請求項８１に記載の方法。
【請求項８３】
前記購読サービスから前記ユーザに利用可能な前記ストリームの数に基づいて、複数の潜在的閾値数から前記購読期間の前記閾値数を選択することをさらに含む、請求項８１−８２のいずれかに記載の方法。
【請求項８４】
前記複数のタイムスタンプのそれぞれを、前記購読サービスのための購読期間の一部に対応するタイムスタンプの範囲と比較し、前記購読期間の前記一部の間に起こった前記複数のインスタンスの数を判定することと、
前記サーバにおいて、前記購読期間の前記一部の間に起こった前記複数のインスタンスの前記数を前記購読期間の前記一部の閾値数と比較することと、
前記購読期間の前記一部の間に起こった前記複数のインスタンスの前記数が前記購読期間の前記一部の前記閾値数を超えることを判定することに応答して、前記サーバから前記異なるデバイスのうちの１つへの前記メッセージを修正することと
をさらに含む、請求項８１−８３のいずれかに記載の方法。
【請求項８５】
前記購読期間の時間の長さに基づいて、複数の潜在的閾値数から前記購読期間の前記一部の前記閾値数を選択することをさらに含む、請求項８１−８４のいずれかに記載の方法。
【請求項８６】
前記購読サービスから前記ユーザに利用可能な前記ストリームの数に基づいて、複数の潜在的閾値数から前記購読期間の前記一部の前記閾値数を選択することをさらに含む、請求項８１−８５のいずれかに記載の方法。
【請求項８７】
前記購読期間の前記一部に対応する日付に基づいて、複数の潜在的閾値数から前記購読期間の前記一部の前記閾値数を選択することをさらに含む、請求項８１−８６のいずれかに記載の方法。
【請求項８８】
前記購読期間の前記一部に対応する時刻に基づいて、複数の潜在的閾値数から前記購読期間の前記一部の前記閾値数を選択することをさらに含む、請求項８１−８７のいずれかに記載の方法。
【請求項８９】
前記購読期間の前記一部の間に前記購読サービスから利用可能になったメディアアセットの数に基づいて、複数の潜在的閾値数から前記購読期間の前記一部の前記閾値数を選択することをさらに含む、請求項８１−８８のいずれかに記載の方法。
【請求項９０】
前記メッセージは、前記複数のインスタンスの頻度を低減させるための推奨を含む、請求項８１−８９のいずれかに記載の方法。
【請求項９１】
購読サービスからのコンテンツストリームの数を増加させるかどうかをユーザに推奨するためのその上に記録された命令を有する、非一過性のコンピュータ可読媒体であって、前記命令は、
前記購読サービスから異なるデバイスにメディアを同時にストリーミングする要求の数が、前記購読サービスから前記ユーザに利用可能なストリームの数を超える、複数のインスタンスを検出する命令と、
複数のタイムスタンプがそれぞれ、前記複数のインスタンスのうちの１つに対応する、前記複数のタイムスタンプを生成する命令と、
前記複数のタイムスタンプのそれぞれを、前記購読サービスのための購読期間に対応するタイムスタンプの範囲と比較し、前記購読期間中に起こった前記複数のインスタンスの数を判定する命令と、
サーバにおいて、前記購読期間中に起こった前記複数のインスタンスの前記数を前記購読期間の閾値数と比較する命令と、
前記購読期間中に起こった前記複数のインスタンスの前記数が前記購読期間の前記閾値数を超えることを判定することに応答して、前記サーバから前記異なるデバイスのうちの１つにメッセージを伝送する命令と
を備える、非一過性のコンピュータ可読媒体。
【請求項９２】
前記購読期間の時間の長さに基づいて、複数の潜在的閾値数から前記購読期間の前記閾値数を選択する命令をさらに備える、請求項９１に記載の非一過性のコンピュータ可読媒体。
【請求項９３】
前記購読サービスから前記ユーザに利用可能な前記ストリームの数に基づいて、複数の潜在的閾値数から前記購読期間の前記閾値数を選択する命令をさらに備える、請求項９１に記載の非一過性のコンピュータ可読媒体。
【請求項９４】
前記命令はさらに、
前記複数のタイムスタンプのそれぞれを、前記購読サービスのための購読期間の一部に対応するタイムスタンプの範囲と比較し、前記購読期間の前記一部の間に起こった前記複数のインスタンスの数を判定する命令と、
前記サーバにおいて、前記購読期間の前記一部の間に起こった前記複数のインスタンスの前記数を前記購読期間の前記一部の閾値数と比較する命令と、
前記購読期間の前記一部の間に起こった前記複数のインスタンスの前記数が前記購読期間の前記一部の前記閾値数を超えることを判定することに応答して、前記サーバから前記異なるデバイスのうちの１つへの前記メッセージを修正する命令と
を備える、請求項９１に記載の非一過性のコンピュータ可読媒体。
【請求項９５】
前記購読期間の時間の長さに基づいて、複数の潜在的閾値数から前記購読期間の前記一部の前記閾値数を選択する命令をさらに備える、請求項９４に記載の非一過性のコンピュータ可読媒体。
【請求項９６】
前記購読サービスから前記ユーザに利用可能な前記ストリームの数に基づいて、複数の潜在的閾値数から前記購読期間の前記一部の前記閾値数を選択する命令をさらに備える、請求項９４に記載の非一過性のコンピュータ可読媒体。
【請求項９７】
前記購読期間の前記一部に対応する日付に基づいて、複数の潜在的閾値数から前記購読期間の前記一部の前記閾値数を選択する命令をさらに備える、請求項９４に記載の非一過性のコンピュータ可読媒体。
【請求項９８】
前記購読期間の前記一部に対応する時刻に基づいて、複数の潜在的閾値数から前記購読期間の前記一部の前記閾値数を選択する命令をさらに備える、請求項９４に記載の非一過性のコンピュータ可読媒体。
【請求項９９】
前記購読期間の前記一部の間に前記購読サービスから利用可能になったメディアアセットの数に基づいて、複数の潜在的閾値数から前記購読期間の前記一部の前記閾値数を選択する命令をさらに備える、請求項９４に記載の非一過性のコンピュータ可読媒体。
【請求項１００】
前記メッセージは、前記複数のインスタンスの頻度を低減させるための推奨を含む、請求項９１に記載の非一過性のコンピュータ可読媒体。
【発明の詳細な説明】
【背景技術】
【０００１】
コンテンツ購読を提供するサービスは、多くの場合、ユーザが複数のコンテンツプロバイダによって提供されるコンテンツをストリーミングすることを可能にし、コンテンツ購読における各プロバイダは、コンテンツにアクセスするために有限数のストリームを提供する。しかしながら、コンテンツ購読のユーザは、ユーザが購読を申し込むとき、また、ユーザがコンテンツをストリーミングしているときの両方において、それらの購読と関連付けられるデータを管理するタスクが膨大であると見出し得る。すなわち、ユーザは、アカウントを作成し、次いで、各コンテンツプロバイダと関連付けられる各アカウントとともに機密情報を覚えて維持するプロセスを単調かつ面倒であると見出し得る。加えて、エピソードが利用可能になるとすぐに、コンテンツ購読の全てのユーザがテレビ番組の新しいエピソードを視聴することに関心があり、ユーザの数が利用可能なストリームの数を超えるとき等に、ユーザは、コンテンツプロバイダによって利用可能にされる不十分な数のストリームに不満を感じ得る。
【発明の概要】
【課題を解決するための手段】
【０００２】
故に、複数の購読サービスのための複数のアカウントを管理しなければならないことからユーザを解放する、メディアガイドアプリケーションのための方法およびシステムが本明細書に説明される。例えば、ユーザの代わりにユーザアクティビティを監視し、ユーザアカウントを管理することによって、メディアガイドアプリケーションは、ユーザの個々の必要性に合わせられた購読サービスおよび／または購読サービスの規約を推奨してもよい。
【０００３】
さらに、メディアガイドアプリケーションは、ユーザの必要性を最良に満たす購読サービスおよび／または特定の購読サービスからの特定のプランを判定するために、ユーザの代わりに作用し、多数のコンテンツプロバイダから大量のデータを読み出して処理してもよい。以下で綿密に議論されるように、メディアガイドアプリケーションは、ユーザの利益のための動向および統計的最適化を識別するために、別個かつ異種のデータセットを比較することによって、（多くの場合、コンピュータ可読コードのみでアクセス可能な）大量のデータを処理してもよい。
【０００４】
例えば、制御回路上に実装されるメディアガイドアプリケーションは、所与の時間期間にわたってデータストリーム入力および出力メトリックを分析することによって、購読サービスから異なるデバイスにメディアを同時にストリーミングする要求の数が利用可能なストリームの数を超える、インスタンスの数を検出してもよい。例えば、制御回路は、メディアを同時にストリーミングする要求の数が利用可能なストリームの数を超えた、ユーザの購読期間中に、１２のインスタンスを検出するようにデータストリーム入力および出力メトリックを分析してもよい。応答して、制御回路は、データストリーム入力および出力メトリックと比較したときに、他の変数（例えば、価格）を制御しながら、代替購読サービス／プランがユーザに利用可能なストリーム数を向上させ得るかどうかを判定してもよい。該当する場合、制御回路は、（例えば、付加的ストリームが購入するために利用可能であることを示す）代替購読サービス／プランを推奨するメッセージを伝送してもよい。
【０００５】
いくつかの実施形態では、制御回路は、購読サービスから異なるデバイスにメディアを同時にストリーミングする要求の数が、購読サービスからユーザに利用可能なストリームの数を超える、複数のインスタンスを検出してもよい。例えば、制御回路は、１２のインスタンスにおいて、購読サービスから異なるデバイスにメディアを同時にストリーミングする要求の数が、購読サービスからユーザに利用可能なストリームの数を超えることを検出してもよい。換言すると、１２の機会に、少なくとも１人のユーザは、コンテンツ購読サービスからコンテンツをストリーミングすることができなかった。結果として、購読を使用してコンテンツをストリーミングするユーザは、自分が選定する時間にコンテンツを視聴できないことによって不満を感じ得る。さらに、ユーザは、付加的ストリームを購入する能力を認識していない場合があり、かつ購読を使用する他のユーザの視聴習慣を認識していない場合がある。したがって、不満を感じたユーザは、自分の視聴体験を向上させるオプションが殆どない場合があり、競合購読サービスを使用してメディアをストリーミングし始め得る、または自分の購読を完全にキャンセルし得る。
【０００６】
制御回路は、複数のタイムスタンプがそれぞれ、複数のインスタンスのうちの１つに対応する、複数のタイムスタンプを生成してもよい。例えば、制御回路が、購読サービスから異なるデバイスにメディアを同時にストリーミングする要求の数が、購読サービスからユーザに利用可能なストリームの数を超える、１２のインスタンスを検出する場合、制御回路は、各タイムスタンプが１２のインスタンスのうちの１つに対応する、複数のタイムスタンプを生成してもよい。結果として、制御回路は、タイムスタンプを各インスタンスに相関させることによって、不十分な数の利用可能なストリームにより、ユーザがコンテンツをストリーミングすることができなかった、これらのインスタンスを効果的に記録するために、タイムスタンプを利用してもよい。
【０００７】
次いで、制御回路は、購読期間中に起こった複数のインスタンスの数を判定するために、複数のタイムスタンプのそれぞれを、購読サービスのための購読期間に対応するタイムスタンプの範囲と比較してもよい。例えば、制御回路が１２のタイムスタンプを生成する場合には、制御回路は、購読期間内に入るインスタンスの数を（それらの対応するタイムスタンプに基づいて）判定するように、１２のタイムスタンプのそれぞれを購読サービスのための購読期間と比較してもよい。例えば、購読期間は、開始タイムスタンプおよび終了タイムスタンプによって定義されてもよい。次いで、制御回路は、各タイムスタンプが購読期間の開始および終了タイムスタンプ内に入るかどうかを判定するように、１２のタイムスタンプのそれぞれを比較してもよい。購読期間の開始および終了タイムスタンプの範囲内に入るタイムスタンプの数に基づいて、制御回路は、購読期間中に起こった複数のインスタンスの数を判定してもよい。
【０００８】
いくつかの実施形態では、制御回路は、サーバにおいて、購読期間中に起こった複数のインスタンスの数を購読期間の閾値数と比較してもよい。例えば、制御回路は、所与の購読期間にわたって、閾値数が８に設定されることを判定してもよく、かつ２つの数を比較してもよい。例えば、閾値数は、その後にユーザが利用可能なストリームの不足に不満を感じるようになり得る、インスタンスの数を示してもよい。閾値数を超えるかどうかを判定することによって、制御回路は、ユーザが付加的ストリームを取得したい可能性が高いどうかを判定してもよい。
【０００９】
いくつかの実施形態では、制御回路は、購読期間中に起こった複数のインスタンスの数が購読期間の閾値数を超えることを判定するステップに応答して、サーバから異なるデバイスのうちの１つにメッセージを伝送してもよい。例えば、購読期間中に起こった複数のインスタンスの数（例えば、１２）が閾値数（例えば、８）を超えることを判定するステップに応答して、制御回路は、デバイスと関連付けられるユーザが付加的ストリームを購入できることを示すメッセージをサーバからデバイスに伝送する。メッセージを伝送することによって、制御回路は、コンテンツをストリーミングできないことに対するユーザの不満に対処してもよく、かつユーザが利用可能なストリームの不十分な数量という問題に対処する機会を提供してもよい。
【００１０】
いくつかの実施形態では、制御回路は、購読期間の時間の長さに基づいて、複数の潜在的閾値数から購読期間の閾値数を選択してもよい。例えば、制御回路は、購読サービスからメディアを同時にストリーミングする要求の数が、１ヶ月の期間等のより短い時間期間中に購読サービスからユーザに利用可能なストリームの数を超える、より少数のインスタンスがあるという事実を考慮するよう、１ヶ月の購読期間のために低い閾値数（例えば、１０）を選択してもよい。したがって、単一の静的閾値に依拠する代わりに、制御回路は、個々のユーザが利用不可能なストリームを許容する様々な能力を有するため、ユーザの視聴習慣に関連する閾値を適用してもよい。
【００１１】
加えて、または代替として、制御回路は、購読サービスからユーザに利用可能なストリームの数に基づいて、複数の潜在的閾値数から購読期間の閾値数を選択してもよい。例えば、制御回路は、購読と関連付けられるストリームの数を分析し、１つの時点において多数の利用可能なストリームを伴う購読と関連付けられるユーザが、少数のストリームを有し、不十分な数のストリームによって引き起こされるストリーミング問題を最小限にするためにストリームを追加したことを判定してもよい。したがって、制御回路は、少数の利用可能なストリームによって特徴付けられるコンテンツ購読のユーザが、メディアを同時にストリーミングする要求の数がどれだけ頻繁に購読サービスからユーザに利用可能なストリームの数を超えるかを理解しようとする可能性がより高くあり得ることを判定してもよい。その一方で、メディアを同時にストリーミングする要求の数が購読サービスからユーザに利用可能なストリームの数を超える状況を回避するよう、ユーザが利用可能なストリームの数をすでに増加させている場合があるため、購読サービスからユーザに利用可能な多数のストリームによって特徴付けられるコンテンツ購読のユーザは、メディアを同時にストリーミングする要求の数がどれだけ頻繁に購読サービスからユーザに利用可能なストリームの数を超えるかを理解しようとする可能性が低くあり得る。
【００１２】
加えて、または代替として、制御回路は、複数のタイムスタンプのそれぞれを、購読サービスのための購読期間の一部に対応するタイムスタンプの範囲と比較し、購読期間の一部の間に起こった複数のインスタンスの数を判定してもよい。例えば、制御回路は、タイムスタンプのそれぞれを、人気の番組が放送される購読期間の一部（例えば、番組「Ｔｈｅ  Ｓｉｍｐｓｏｎｓ」の新しいエピソードの放送に対応する、水曜日の午後７時から午後９時のタイムスロットに対応する購読期間の全ての部分）に対応するタイムスタンプの範囲と比較してもよく、購読期間の一部に対応するタイムスタンプの範囲内の１０のタイムスタンプの発生を判定する。さらに、制御回路は、サーバにおいて、購読期間の一部の間に起こった複数のインスタンスの数を購読期間の一部の閾値数と比較してもよい。例えば、制御回路は、購読期間の一部の間に起こった複数のインスタンスの数（例えば、１０）を閾値数（例えば、６）と比較する。最後に、制御回路は、購読期間の一部の間に起こった複数のインスタンスの数が購読期間の一部の閾値数を超えることを判定するステップに応答して、サーバから異なるデバイスのうちの１つへ伝送されたメッセージを修正してもよい。例えば、制御回路は、購読期間の一部の間に起こった複数のインスタンスの数（例えば、１０）が閾値数（例えば、６）を超えることを判定する。応答して、制御回路は、例えば、メディアを同時にストリーミングする要求の数が、多くの場合、購読期間の対応する部分の間に（例えば、番組「Ｔｈｅ  Ｓｉｍｐｓｏｎｓ」の新しいエピソードの放送に対応する、水曜日の午後７時〜午後９時の間のタイムスロットの間に）購読サービスからユーザに利用可能なストリームの数を超えることを示すことによって、サーバから、購読からメディアをストリーミングするユーザによって使用されるデバイスのうちの１つに伝送される、メッセージを修正する。
【００１３】
いくつかの実施形態では、制御回路は、購読期間の時間の長さに基づいて、複数の潜在的閾値数から購読期間の一部の閾値数を選択してもよい。例えば、制御回路は、その場合、制御回路がより少ない数（例えば、３）を選択する、より短い購読期間長（例えば、１ヶ月）と比較して、購読期間の長さがより長い（例えば、１年）である場合、購読期間の一部の閾値数のために、より大きい数（例えば、２０）を選択する。したがって、制御回路は、メディアを同時にストリーミングする要求の数が購読サービスからユーザに利用可能なストリームの数を超える、インスタンスの確率が経時的に一定である一方で、より多くのインスタンスが、より短い時間期間よりも長い時間期間で起こるであろうという事実を考慮してもよい。
【００１４】
いくつかの実施形態では、制御回路は、購読期間の一部に対応する日付に基づいて、複数の潜在的閾値数から購読期間の一部の閾値数を選択してもよい。例えば、人気のテレビ番組（例えば、「Ｔｈｅ  Ｓｉｍｐｓｏｎｓ」）のシーズンプレミアの日付が購読期間の一部に入ることを判定するステップに応答して、制御回路は、購読のユーザの大多数が人気のテレビ番組（例えば、「Ｔｈｅ  Ｓｉｍｐｓｏｎｓ」）のシーズンのエピソードを視聴することに関心があるという事実を考慮するよう、購読期間の一部のために低い閾値数を選択する。
【００１５】
いくつかの実施形態では、制御回路は、購読期間の一部に対応する時刻に基づいて、複数の潜在的閾値数から購読期間の一部の閾値数を選択してもよい。例えば、購読期間の一部（例えば、所与の日の間の午後８時〜午後１０時の間のタイムスロット）が、購読のユーザがメディアをストリーミングする可能性が最も高い時間に対応することを判定するステップに応答して、制御回路は、低い閾値数を選択する。したがって、制御回路は、閾値数を選択するときに、ピーク需要の時間範囲がユーザの視聴習慣に基づいて存在し得る（例えば、購読サービスのユーザの大多数がストリーミングメディアを視聴することによって仕事の後にリラックスすることを所望し得る）という事実を考慮してもよい。
【００１６】
加えて、または代替として、制御回路は、購読期間の一部の間に購読サービスから利用可能になったメディアアセットの数に基づいて、複数の潜在的閾値数から購読期間の一部の閾値数を選択してもよい。例えば、いくつかの購読サービスは、新しいメディアアセット（例えば、「Ｔｈｅ  Ｓｉｍｐｓｏｎｓ」の３つの完全シーズン）をそれらのメディアラインナップに定期的に追加する。制御回路は、購読サービスメディア提供に追加されたメディアアセットの数に基づいて、購読期間の一部の間に購読サービスから利用可能になったメディアアセットの数を判定してもよい。例えば、購読期間の一部の間に購読サービスから利用可能になった、メディアアセットの数から利用可能になったメディアアセットの数が、購読期間の他の部分の間に購読サービスから利用可能になったメディアアセットの数を上回る場合、制御回路は、購読のユーザがメディアアセットをストリーミングする可能性がより高く、したがって、要求の数がどれだけ頻繁に購読サービスからユーザに利用可能なストリームの数を超えるかを理解しようとする可能性がより高くあり得るという事実を考慮するよう、低い閾値数を選択する。
【００１７】
いくつかの実施形態では、制御回路は、複数のインスタンスの頻度を低減させるための推奨を含む、メッセージを伝送してもよい。例えば、購読期間中に起こった複数のインスタンスの数が購読期間の閾値数を超えることを判定するステップに応じて、制御回路は、サーバから購読のユーザによって使用される異なるデバイスのうちの１つにメッセージを伝送する。メッセージは、複数のインスタンスの頻度を低減させるための推奨を含んでもよい。例えば、制御回路は、ユーザがある時間外に（例えば、他のユーザが鑑賞することに関心がある、番組「Ｔｈｅ  Ｓｉｍｐｓｏｎｓ」の新しいエピソードの放送に対応する、水曜日の午後７時から午後９時のタイムスロット外に）メディアを正常にストリーミングする可能性がより高いであろうことをユーザに知らせる。
【００１８】
さらに、コンテンツアグリゲータサービスを購読することによって、ユーザは、複数の購読サービスによって提供されるメディアコンテンツにアクセスする権限を持つようになってもよい。各購読サービスによって提供されるメディアコンテンツは、常にコンテンツアグリゲータサービスにおいて直接利用可能にされるわけではなく、したがって、各コンテンツプロバイダのウェブサイトを介して、強制的にユーザにコンテンツにアクセスさせる。コンテンツにアクセスすることができる前に、ユーザは、各コンテンツプロバイダとアカウントを作成しなければならず、ユーザが単調かつ面倒であると見出し得るタスクである。加えて、複数の購読サービスアカウントと関連付けられる機密情報を覚えて維持するプロセスはさらに、ユーザを圧倒し得る。
【００１９】
いくつかの実施形態では、制御回路は、コンテンツアグリゲータサービスから認証情報を自動的に受信してもよい。例えば、制御回路上に実装されるメディアガイドアプリケーションは、制御回路がユーザに購読サービスを購読させる要求を受信する前に、認証情報を受信し、認証情報をユーザアカウントと関連付けてもよい。次いで、制御回路は、ユーザに購読サービスを購読させる要求を受信し、したがって、アカウントの正当性を立証し、購読サービスの提供へのアクセスをユーザに許可してもよい。
【００２０】
制御回路は、購読サービスと関連付けられるコンテンツプロバイダサーバ（例えば、Ｈｕｌｕ）において、第２の購読サービスと関連付けられるコンテンツアグリゲータサーバ（例えば、Ｒｏｖｉ  Ｓｕｐｅｒ  Ａｇｇｒｅｇａｔｏｒ）から第１の認証キーを受信してもよく、第１の認証キーは、ユーザが第１の購読サービスを購読する前に受信される。例えば、ユーザは、コンテンツアグリゲータサービス（すなわち、第２の購読サービス）を購読してもよい。ユーザが第２の購読サービスへの自分の登録を完了するとすぐに、第２の購読サービスと関連付けられるコンテンツアグリゲータサーバ上に実装される制御回路は、ユーザを、コンテンツアグリゲータ購読の一部として利用可能である購読サービスのうちのいくつかまたは全てと関連付けるように認証キーを生成し、生成された認証キーを、各購読サービス（例えば、第１の購読サービス）と関連付けられるサーバに転送してもよい。各認証キーは、キーの中に記憶された情報が各購読サービスと関連付けられるサーバにセキュアに伝送されることを確実にするために、暗号化されてもよい。加えて、各認証キーは、ユーザおよび第２の購読サービスを識別する情報を含んでもよい。次いで、第１の購読サービスと関連付けられるコンテンツプロバイダサーバ上に実装される制御回路は、コンテンツアグリゲータサーバから生成された認証キーを受信してもよい。いくつかの事例では、コンテンツプロバイダサーバ上に実装される制御回路は、認証キーを解読し、キーの中に記憶された情報を抽出してもよい。制御回路は、加えて、コンテンツプロバイダサーバ上に認証キーを記憶してもよい。そのようにして、第１のユーザと関連付けられる認証情報は、ユーザにアカウントを手動で作成することを負担させることなく、第１の購読サービスに伝送されてもよい。
【００２１】
コンテンツプロバイダサーバ上に実装される制御回路は、第１の認証キーを第１の複数の容認可能な認証キーと比較し、第１の認証キーに基づいて、第１の購読サービスのために第１のユーザアカウントを生成するかどうかを判定してもよい。例えば、コンテンツプロバイダサーバ上に実装される制御回路は、第１の認証キーの中に記憶された情報を抽出し、第２の購読サービスの識別子に関連するキーの一部に列挙される購読サービスの名称（例えば、Ｒｏｖｉ  Ｓｕｐｅｒ  Ａｇｇｒｅｇａｔｏｒ）を判定してもよい。次いで、制御回路は、制御回路が第１の購読サービス上でユーザアカウントを生成することを可能にされるように以前に識別された、購読サービスのリストを読み出し、購読サービスの名称を読み出されたリストの中の各購読サービスと比較してもよい。事実上、コンテンツプロバイダサーバ上に実装される制御回路は、作成されるアカウントに対する制御を維持しながら、コンテンツアグリゲータ（すなわち、第２の購読サービス）から新しいユーザについての情報をセキュアに受信することができる。例えば、第１の購読サービスは、割引価格で第１の購読サービス上の購読を提供するように、第２の購読サービスとの契約を結んでもよい。したがって、認証キーの中に第２のプロバイダについての情報をカプセル化することによって、第１の購読サービスは、信頼されるコンテンツアグリゲータと関連付けられるユーザのアカウントのみが作成されることを確実にする。
【００２２】
コンテンツプロバイダサーバ上に実装される制御回路は、第１の認証キーが第１の複数の容認可能な認証キーのうちの１つに合致することを判定するステップに応答して、コンテンツプロバイダサーバにおいて第１のユーザアカウントを生成してもよい。例えば、制御回路は、コンテンツプロバイダサーバ上でアカウントを生成するために必要な情報を作成するために、ユーザ名、パスワード、および購読サービス名等の認証キーに含有される情報を使用してもよい。いくつかの事例では、制御回路は、アカウントの正当性が立証されていないことを規定する、第１のアカウントと関連付けられるインジケーションを記憶してもよい。換言すると、アカウントは、作成されるが、ユーザによってアクセス可能ではない。ユーザまたは第２の購読サービスが、将来、アカウントの正当性を立証することを決定するならば、コンテンツプロバイダサーバ上に実装される制御回路は、以下でさらに詳細に説明されるであろうように、ユーザからの要求された入力を殆どまたは全く伴わずに、アカウントの正当性を効率的に立証してもよい。
【００２３】
コンテンツプロバイダサーバ上に実装される制御回路は、第１のユーザアカウントが第１の認証キーに対応することを示すデータベースエントリの中に第１のユーザアカウントを記憶してもよい。例えば、コンテンツプロバイダサーバ上に実装される制御回路は、生成されたユーザアカウントに関連する情報をデータベースの中に記憶されたデータベースエントリの中に記憶してもよい。制御回路はさらに、例えば、認証キーの場所へのポインタをユーザアカウントと関連付けられるデータベースエントリの中に記憶することによって、ユーザアカウントを認証キーと関連付けてもよい。記憶されたユーザアカウントを第１の認証キーと関連付けることによって、コンテンツアグリゲータサーバ上に実装される制御回路は、第２の購読またはユーザが第１の購読サービス上でアカウントの正当性を立証することを決定する場合に、アカウントの正当性が迅速に立証され得ることを確実にしてもよい。
【００２４】
コンテンツプロバイダサーバ上に実装される制御回路は、第１のユーザアカウントを記憶するステップに続いて、コンテンツプロバイダサーバにおいて、ユーザに第１の購読サービスを購読させる要求をコンテンツアグリゲータサーバから受信してもよく、要求は、第２の認証キーを含む。制御回路は、第１の購読サービスを購読するユーザ要求に応答して、第２の認証キーを受信してもよい。例えば、コンテンツアグリゲータサーバ上に実装される制御回路は、第２の購読サービス（例えば、Ｒｏｖｉ  Ｓｕｐｅｒ  Ａｇｇｒｅｇａｔｏｒ）のユーザが第１の購読サービス（例えば、Ｈｕｌｕ）を購読することを所望することを検出してもよい。異なる実施例では、第２のサービス上に実装される制御回路は、第１のサービスを購読するコストがコスト基準を満たすときに、要求を第１のサービスに自動的に送信してもよい。第１の購読サービス上の制御回路は、第２のキーの中に記憶された情報を解読し、第２のキーの中に記憶された情報を読み出し、コンテンツプロバイダサーバ上に認証キーを記憶してもよい。第２の認証キーを受信する枠組みを提供することによって、コンテンツプロバイダサーバ上に実装される制御回路は、ユーザのためのアカウントの正当性をセキュアに立証してもよい。
【００２５】
コンテンツプロバイダサーバ上に実装される制御回路は、第１の認証キーを第２の認証キーと比較してもよい。例えば、コンテンツプロバイダサーバ上に実装される制御回路は、キーと関連付けられるユーザの名前と関連する第２のキーから情報を読み出してもよく、次いで、識別されたユーザと関連付けられるアカウントが以前に作成されているかどうかを判定するように、データベースにクエリを行ってもよい。異なる実施例では、コンテンツプロバイダサーバ上に実装される制御回路は、第２の認証キーを備える暗号化されていないデータを、コンテンツプロバイダサーバ上に記憶される以前に受信された認証キーの暗号化されていないデータと比較してもよい。
【００２６】
コンテンツプロバイダサーバ上に実装される制御回路は、第１の認証キーが第２の認証キーに合致することを判定するステップに応答して、第１のユーザアカウントの正当性を立証してもよい。例えば、第２の認証キーとの第１の認証キーの比較に基づいて、次いで、コンテンツプロバイダサーバ上に実装される制御回路は、いずれかのキーと関連付けられるユーザアカウントを識別してもよい。次いで、制御回路は、アカウントを識別するようにデータベースにクエリを行い、アカウントの正当性が立証されていることを規定するインジケーションを記憶してもよい。アカウントの正当性を立証することによって、コンテンツプロバイダサーバ上に実装される制御回路は、コンテンツプロバイダサーバによって認証されるユーザが、第１の購読サービスによって提供されるメディアコンテンツにアクセスすることを可能にする。
【００２７】
いくつかの実施形態では、第１のユーザアカウントの正当性を立証するステップに応答して、第１のサーバ上に実装される制御回路は、第１のユーザアカウントを通した第１の購読サービスへのアクセスを許可してもよい。例えば、コンテンツプロバイダサーバ上に実装される制御回路は、アカウントが使用のために利用可能であることを示すメッセージを生成し、コンテンツアグリゲータサーバに伝送してもよい。このようにして、コンテンツプロバイダサーバ上に実装される制御回路は、第２の購読サービスの提供がユーザによってアクセスされ得ることをユーザに通知することができる。
【００２８】
いくつかの実施形態では、第１の認証キーは、第２の購読サービスによって割り当てられるユーザのためのユーザ名およびパスワードに基づく暗号化キーである。例えば、認証キーは、第１の購読サービスのパスワード要件に準拠する自動的に生成されたパスワードと、コンテンツプロバイダサーバと関連付けられるユーザ名に対応するユーザ名とを含んでもよい。
【００２９】
いくつかの実施形態では、第１の複数の容認可能な認証キーは、コンテンツアグリゲータサーバからコンテンツプロバイダサーバにおいて受信される。例えば、コンテンツプロバイダサーバにおいて実装される制御回路は、規則的間隔で第２の購読サービスから認証キーのリストを受信してもよい。例えば、コンテンツアグリゲータサーバ上に実装される制御回路は、日常的に、第２の購読サービスとアカウントを作成した全ての新しいユーザと関連付けられる認証キーを伝送してもよい。
【００３０】
いくつかの実施形態では、コンテンツプロバイダサーバに記憶されたデータベースエントリは、第１のユーザアカウントへのポインタを含む第１のデータベースフィールドと、第１の認証キーを含む第２のデータベースフィールドとを含む。例えば、コンテンツプロバイダサーバ上のデータベースエントリは、ユーザのユーザ名、パスワード、および購読レベル等のユーザのアカウントについての情報を含有する、第２のデータベースエントリを指す、第１のデータベースフィールドの中に記憶されたポインタを含んでもよい。
【００３１】
いくつかの実施形態では、コンテンツプロバイダサーバに記憶されたデータベースエントリは、第１の購読サービスのための購読規約を含む、第３のデータベースフィールドを含む。購読の規約は、購読の価格を判定してもよく、ユーザが購読するために負担する価格もまた、第３のデータベースフィールドの中に記憶されてもよい。
【００３２】
いくつかの実施形態では、ユーザに第１の購読サービスを購読させるコンテンツアグリゲータサーバからの要求は、ユーザがコンテンツアグリゲータサーバにおいて第２の購読サービスのための購読レベルを選択することに応答して、さらなるユーザ入力を伴わずにコンテンツアグリゲータサーバから伝送される。例えば、コンテンツアグリゲータサーバ上に実装される制御回路は、２つの購読レベル、すなわち、第１の購読サービスの購読を含み得る、「プレミアム」レベル、および第１の購読サービスの購読を含まない「基本」レベルを生成してもよい。コンテンツアグリゲータサーバ上に実装される制御回路は、ユーザが「プレミアム」レベル購読を選択したことを判定するステップのみに応答して、要求を第２の購読サービスに伝送してもよい。
【００３３】
いくつかの実施形態では、コンテンツプロバイダサーバ上に実装される制御回路は、第１のユーザアカウントの正当性を立証するステップに応答して、コンテンツプロバイダサーバからコンテンツアグリゲータサーバに確認を伝送してもよい。例えば、いったん制御回路がユーザアカウントの正当性を立証すると、制御回路は、確認を備えるメッセージをコンテンツアグリゲータサーバに伝送してもよい。確認を伝送することによって、第２のサービスのユーザは、ユーザが第１の購読サービスと関連付けられるメディアにアクセスできることを知らされてもよい。
【００３４】
いくつかの実施形態では、コンテンツプロバイダサーバ上に実装される制御回路は、コンテンツアグリゲータサーバから、第１のユーザアカウントを通して第１の購読サービスのメディアコンテンツにアクセスする要求を受信してもよい。例えば、コンテンツプロバイダサーバ上に実装される制御回路は、メディアコンテンツ（例えば、テレビ番組「Ｔｈｅ  Ｓｉｍｐｓｏｎｓ」のエピソード）にアクセスするユーザ要求を受信してもよい。コンテンツアグリゲータサーバから、第１のユーザアカウントを通して第１の購読サービスのメディアコンテンツにアクセスする要求を受信するステップに応答して、コンテンツアグリゲータサーバ上に実装される制御回路は、コンテンツプロバイダサーバとユーザテレビ機器４０２との間の直接接続を作成してもよい。直接接続を作成することによって、メディアコンテンツは、ユーザテレビ機器４０２に転送する前に、メディアコンテンツがコンテンツプロバイダサーバからコンテンツアグリゲータサーバに伝送された場合よりも迅速かつ効率的に、コンテンツプロバイダサーバとユーザテレビ機器４０２との間で転送されてもよい。
【００３５】
いくつかの実施形態では、コンテンツアグリゲータサーバ上に実装される制御回路は、コンテンツプロバイダサーバとユーザテレビ機器４０２との間の直接接続に応答して、第１の購読サービスと関連付けられるユーザインターフェーススキンを読み出してもよい。例えば、第１の購読サービスと関連付けられるユーザインターフェーススキンは、第１の購読サービスと関連付けられるユーザインターフェースの背景色、フォント、およびメニュー場所等のユーザインターフェース要素の外観を定義してもよい。加えて、インターフェーススキンは、画面上の定義された場所で表示され得る、第１の購読サービスと関連付けられるロゴ、および画面要素の背景色を定義し得る、第１の購読サービスと関連付けられるカラーパレット等の購読サービスによって定義されるブランド特性を含んでもよい。制御回路は、ユーザインターフェーススキンと関連付けられるパラメータを抽出し、パラメータを第２の購読サービスと関連付けられるユーザインターフェーススキンに適用してもよい。
【００３６】
いくつかの実施形態では、コンテンツプロバイダサーバ上に実装される制御回路は、コンテンツアグリゲータサーバから、メディアコンテンツ一覧の第１のユーザアカウントを通したユーザ選択を受信してもよい。例えば、コンテンツアグリゲータサーバ上に実装される制御回路は、コンテンツプロバイダサーバ上で利用可能なコンテンツのメディアコンテンツ一覧を読み出すために、コンテンツプロバイダサーバとコンテンツアグリゲータサーバとの間に作成される接続を利用してもよい。次いで、コンテンツアグリゲータサーバ上に実装される制御回路は、ユーザによって作成されるメディアコンテンツ一覧の選択を検出してもよく、ユーザは、コンテンツアグリゲータサーバ上のアカウントと関連付けられる。いったんコンテンツアグリゲータサーバ上に実装される制御回路が選択を受信すると、制御回路は、ユーザによって選択されるメディアコンテンツ一覧に対応するメディアアセットを表示するために生成してもよい。例えば、コンテンツアグリゲータサーバ上に実装される制御回路は、コンテンツプロバイダとコンテンツアグリゲータサーバとの間に作成される接続を使用して、メディアアセットを読み出してもよい。メディアアセットは、ダウンロードを介して、またはストリーミングを介して、読み出されてもよい。
【００３７】
上記で説明されるシステムおよび／または方法は、他のシステム、方法および／または装置に適用され得る、またはそれらに従って使用され得ることに留意されたい。
【図面の簡単な説明】
【００３８】
本開示の上記および他の目的および利点は、類似参照文字が全体を通して類似部品を指す、添付図面と併せて解釈される、以下の詳細な説明を考慮することによって明白となるであろう。
【００３９】
【図１】図１は、本開示のいくつかの実施形態による、メディアガイドアプリケーションによって生成される、表示画面の例証的実施例を示す。
【図２】図２は、本開示のいくつかの実施形態による、メディアガイドアプリケーションによって生成される、コンテンツアグリゲータ表示画面の別の例証的実施例を示す。
【図３】図３は、本開示のいくつかの実施形態による、例証的デバイスのブロック図である。
【図４】図４は、本開示のいくつかの実施形態による、例証的メディアシステムのブロック図である。
【図５】図５は、本開示のいくつかの実施形態による、購読期間内のインスタンスの数を判定するための例証的ステップのフローチャートである。
【図６】図６は、本開示のいくつかの実施形態による、購読期間内のインスタンスの数を判定するための例証的ステップの擬似コードである。
【図７】図７は、本開示のいくつかの実施形態による、購読期間の一部内のインスタンスの数を判定するための例証的ステップのフローチャートである。
【図８】図８は、本開示のいくつかの実施形態による、購読期間の一部内のインスタンスの数を判定するための例証的ステップの擬似コードである。
【図９】図９は、本開示のいくつかの実施形態による、インスタンスの数がある数を超えるときにメッセージをデバイスに伝送することに関与する例証的ステップのフローチャートである。
【図１０】図１０は、本開示のいくつかの実施形態による、コンテンツアグリゲータサーバから第１の認証キーを受信することに基づいて、コンテンツプロバイダサーバ上でアカウントを生成するための例証的ステップのフローチャートである。
【図１１】図１１は、本開示のいくつかの実施形態による、コンテンツアグリゲータサーバから第１の認証キーを受信することに基づいて、コンテンツプロバイダサーバ上でアカウントを生成するための例証的ステップの擬似コードである。
【図１２】図１２は、本開示のいくつかの実施形態による、コンテンツアグリゲータサーバからの要求に基づいて第１のユーザアカウントの正当性を立証するための例証的ステップのフローチャートである。
【図１３】図１３は、本開示のいくつかの実施形態による、コンテンツアグリゲータサーバからの要求に基づいて第１のユーザアカウントの正当性を立証するための例証的ステップの擬似コードである。
【図１４】図１４は、本開示のいくつかの実施形態による、第１の購読サービス上で第１のユーザアカウントを生成し、正当性を立証することに関与する例証的ステップのフローチャートである。
【発明を実施するための形態】
【００４０】
購読サービスから異なるデバイスにメディアを同時にストリーミングする要求の数が利用可能なストリームの数を超える、インスタンスの数を検出するため、かつインスタンスの数がある数を超えるときにメッセージをデバイスのうちの１つに伝送するための方法およびシステムが、本明細書に開示される。例えば、制御回路は、購読期間中に、メディアを同時にストリーミングする要求の数が購読サービスからユーザに利用可能である利用可能なストリームの数を超える、１２のインスタンスがあることを判定する。さらに、制御回路は、メディアを同時にストリーミングする要求の数が購読サービスからユーザに利用可能である利用可能なストリームの数を超える、インスタンスの数が、閾値数である８回を超えたことを判定してもよく、応答して、制御回路は、付加的ストリームが購入のために利用可能であることを示すメッセージをデバイスのうちの１つに伝送する。
【００４１】
本明細書で使用されるように、用語「インスタンス」は、特定の瞬間に対応すると理解されたい。例えば、インスタンスは、日付および時間によって定義されるタイムスタンプ等の特定のタイムスタンプに対応する。
【００４２】
本明細書で使用されるように、用語「購読サービス」は、ユーザがメディアコンテンツにアクセスするために購読する、任意の製品またはサービスを指すと理解されたい。例えば、ユーザは、テレビシリーズ（例えば、「Ｔｈｅ  Ｓｉｍｐｓｏｎｓ」）にアクセスするように、オンライン購読サービス（例えば、Ｈｕｌｕ）を購読する。ユーザは、コンテンツ購読を購入することによって、購読サービスによって提供されるメディアコンテンツにアクセスすることが可能であり得る。「購読サービス」を通してコンテンツへのアクセスを提供するエンティティは、本明細書では「コンテンツプロバイダ」と称される。用語「コンテンツプロバイダサーバ」は、メディアコンテンツへのアクセスをユーザ機器に提供するためにコンテンツプロバイダによって使用される、任意のネットワーク化デバイスを指す。
【００４３】
他の購読サービスから利用可能なメディアコンテンツへのアクセスを提供する製品またはサービスは、本明細書では「コンテンツアグリゲータ購読」と称される。コンテンツアグリゲータ購読を提供するエンティティは、本明細書では「コンテンツアグリゲータ」と称される。用語「コンテンツアグリゲータサーバ」は、コンテンツプロバイダから利用可能なコンテンツに関するデータを収集して提供するため、およびユーザ機器へのそのようなコンテンツへのアクセスを促進するために、コンテンツアグリゲータによって使用される、任意のネットワーク化デバイスを指す。
【００４４】
本明細書で使用されるように、用語「アカウント」は、ユーザと関連付けられ、購読サービスのデータベースの中に記憶されたデータを指すと理解されたい。購読サービスは、アカウントの中に記憶されたデータを通してユーザを認証することによって、ユーザがメディアコンテンツにアクセスすることを可能にする。加えて、アカウントは、ユーザの名前、パスワード、クレジットカード情報、視聴選好、および購読設定を列挙する情報を含んでもよい。有効ユーザアカウントが、メディアコンテンツにアクセスするためにユーザによって使用されてもよい一方で、まだ正当性を立証されていないアカウントは、メディアコンテンツにアクセスするためにユーザによって使用されない場合がある。
【００４５】
本明細書で使用されるように、「認証キー」は、アルゴリズムによって解読され得るデータを指すと理解されたい。例えば、ユーザのユーザ名およびパスワードは、コンテンツアグリゲータサーバ上で暗号化されてもよい。結果として生じたデータは、次いで、コンテンツプロバイダサーバに転送され得る、認証キーを構成してもよい。コンテンツプロバイダサーバは、第１のキーを解読するために必要な情報を含有してもよい。
【００４６】
本明細書で使用されるように、用語「購読期間」は、その間に購読サービスのユーザが購読サービスによって提供されるメディアコンテンツにアクセスできる、連続時間期間を指すと理解されたい。例えば、購読期間は、購読サービスの課金サイクルに対応してもよい（例えば、購読期間は、３月に対応する）。さらに、購読期間は、開始タイムスタンプ（すなわち、購読を通して提供されるメディアがユーザに利用可能になった日付および時間）および終了タイムスタンプ（すなわち、購読を通して提供されるメディアがユーザに利用可能ではなくなる日付および時間）と関連付けられてもよい。購読期間の「一部」は、購読期間の１つまたは複数の任意の連続または非連続時間範囲を指し得る。例えば、購読期間の一部は、購読期間中の水曜日の午後７時〜午後９時の間に起こる、タイムスロットに対応する。異なる実施例では、購読期間の一部は、その間にテレビ番組（例えば、「Ｔｈｅ  Ｓｉｍｐｓｏｎｓ」）のシーズンが放送される購読期間の日付の範囲、例えば、８月から１１月に対応する。
【００４７】
用語「ストリーム」は、ある時間期間にわたって送信側から受信側に伝送される、メディアコンテンツデータを指す。例えば、メディアコンテンツ（例えば、「Ｔｈｅ  Ｓｉｍｐｓｏｎｓ」のエピソード）に対応するデジタルデータは、メディアコンテンツの再生のために要求される時間に対応する時間にわたって、サーバ（すなわち、送信側）からユーザデバイス（すなわち、受信側）にネットワークを経由して配信される。購読サービスは、同時使用のための有限数のストリームを購読のユーザに提供してもよい（例えば、購読サービスは、メディアコンテンツの４つの同時ストリームを可能にする）。ストリーミングプロセス（すなわち、ストリームを配信するプロセス）を実装する実施形態は、デジタル媒体配信方法に適用されてもよいが、他のコンテンツ配信方法（例えば、ケーブル）にも適用されてもよい。ストリーミング対立は、メディアをストリーミングする要求の数が利用可能なストリームの数を超える状況を指す。ストリーミング対立が起こるとき、受信される要求のうちの少なくとも１つ（例えば、典型的には、最新の要求）は、果たされない。
【００４８】
用語「直接接続」は、いったんコンテンツプロバイダサーバとコンテンツアグリゲータサーバとの間で確立されると、認証を伴わずに、コンテンツアグリゲータサーバがコンテンツプロバイダサーバ上に記憶されたデータにアクセスすることを可能にする、ネットワーク接続を指す。
【００４９】
用語「インターフェーススキン」は、ユーザインターフェースの外観を定義するために使用されるデータの集合を指す。例えば、ユーザインターフェース内のウィンドウの背景色、ユーザインターフェースで使用されるフォント、およびユーザインターフェース内のメニューの位置は、インターフェーススキンと関連付けられるデータの中で定義されてもよい。制御回路が表示するためにユーザインターフェースの視覚コンポーネントを生成するとき、制御回路は、どのようにしてユーザインターフェース内の各要素または要素群がレンダリングされるかを判定するように、インターフェーススキンファイルのデータを読み出してもよい。加えて、ユーザインターフェースの外観を定義するために使用されるデータの集合は、コンテンツプロバイダサーバと関連付けられるサービスによって定義されるグラフィックおよびテキストを含んでもよい。例えば、購読サービス（例えば、Ｈｕｌｕ）と関連付けられるインターフェーススキンは、画面上の定義された場所で表示され得る、Ｈｕｌｕロゴと、画面要素の背景色を定義し得る、Ｈｕｌｕカラーパレットとを含む、データの集合を含んでもよい。
【００５０】
本明細書で参照されるように、用語「〜に応答して」は、「〜の結果として開始される」ことを指す。例えば、別のアクションに応答して行われている第１のアクションは、第１のアクションと第２のアクションとの間に介在ステップを含んでもよい。本明細書で参照されるように、用語「〜に直接応答して」は、「〜によって引き起こされる」ことを指す。例えば、別のアクションに直接応答して行われている第１のアクションは、第１のアクションと第２のアクションとの間に介在ステップを含まなくてもよい。
【００５１】
任意の所与のコンテンツ配信システムでユーザに利用可能なコンテンツの量は、膨大であり得る。その結果、多くのユーザは、ユーザがコンテンツの選択を効率的にナビゲートし、所望し得るコンテンツを容易に識別することを可能にする、インターフェースを通したメディアガイドの形態を所望している。そのようなガイドを提供するアプリケーションは、本明細書では、双方向メディアガイドアプリケーションと称されるが、メディアガイドアプリケーションまたはガイドアプリケーションと称されることもある。
【００５２】
双方向メディアガイドアプリケーションは、ガイドを提供するコンテンツに応じて、種々の形態をとってもよい。１つの典型的なタイプのメディアガイドアプリケーションは、双方向テレビ番組ガイドである。双方向テレビ番組ガイド（電子番組ガイドと称される場合もある）は、とりわけ、ユーザが、多くのタイプのコンテンツまたはメディアアセット間をナビゲートし、それを特定することを可能にする、周知のガイドアプリケーションである。双方向メディアガイドアプリケーションは、ユーザが、コンテンツ間をナビゲートし、それを特定および選択することを可能にする、グラフィカルユーザインターフェース画面を生成してもよい。
【００５３】
本明細書で参照されるように、用語「メディアアセット」および「コンテンツ」は、テレビ番組、および有料番組、オンデマンド番組（ビデオオンデマンド（ＶＯＤ）システムにおけるような）、インターネットコンテンツ（例えば、ストリーミングコンテンツ、ダウンロード可能コンテンツ、ウェブキャスト等）、ビデオクリップ、オーディオ、コンテンツ情報、写真、回転画像、ドキュメント、再生一覧、ウェブサイト、記事、書籍、電子書籍、ブログ、広告、チャットセッション、ソーシャルメディア、アプリケーション、ゲーム、および／または任意の他のメディアまたはマルチメディア、および／またはそれらの組み合わせ等の電子的に消費可能なユーザアセットを意味すると理解されたい。ガイドアプリケーションはまた、ユーザが、コンテンツ間をナビゲートし、それを特定することを可能にする。本明細書で参照されるように、用語「マルチメディア」は、上記で説明される少なくとも２つの異なるコンテンツ形態、例えば、テキスト、オーディオ、画像、ビデオ、または双方向コンテンツ形態を利用する、コンテンツを意味すると理解されたい。コンテンツは、ユーザ機器デバイスによって、録画、再生、表示、またはアクセスされてもよいが、また、ライブパーフォーマンスの一部であることもできる。
【００５４】
本明細書で議論される実施形態のいずれかを行うためのメディアガイドアプリケーションおよび／または任意の命令は、コンピュータ可読媒体上に符号化されてもよい。コンピュータ可読媒体は、データを記憶することが可能な任意のメディアを含む。コンピュータ可読媒体は、限定ではないが、電気または電磁信号の伝搬を含む、一過性であり得る、または限定ではないが、ハードディスク、フロッピー（登録商標）ディスク、ＵＳＢドライブ、ＤＶＤ、ＣＤ、メディアカード、レジスタメモリ、プロセッサキャッシュ、ランダムアクセスメモリ（「ＲＡＭ」）等の揮発性および不揮発性コンピュータメモリまたは記憶デバイスを含む、非一過性であり得る。
【００５５】
インターネット、モバイルコンピューティング、および高速無線ネットワークの出現に伴って、ユーザは、従来は使用しなかったユーザ機器デバイス上でメディアにアクセスするようになっている。本明細書で参照されるように、語句「ユーザ機器デバイス」、「ユーザ機器」、「ユーザデバイス」、「電子デバイス」、「電子機器」、「メディア機器デバイス」、または「メディアデバイス」は、テレビ、スマートＴＶ、セットトップボックス、衛星テレビに対応するための統合型受信機デコーダ（ＩＲＤ）、デジタル記憶デバイス、デジタルメディア受信機（ＤＭＲ）、デジタルメディアアダプタ（ＤＭＡ）、ストリーミングメディアデバイス、ＤＶＤプレーヤ、ＤＶＤレコーダ、接続型ＤＶＤ、ローカルメディアサーバ、ＢＬＵ−ＲＡＹ（登録商標）プレーヤ、ＢＬＵ−ＲＡＹ（登録商標）レコーダ、パーソナルコンピュータ（ＰＣ）、ラップトップコンピュータ、タブレットコンピュータ、ウェブＴＶボックス、パーソナルコンピュータテレビ（ＰＣ／ＴＶ）、ＰＣメディアサーバ、ＰＣメディアセンター、ハンドヘルドコンピュータ、固定電話、携帯情報端末（ＰＤＡ）、携帯電話、携帯用ビデオプレーヤ、携帯用音楽プレーヤ、携帯用ゲーム機、スマートフォン、または任意の他のテレビ機器、コンピューティング機器、または無線デバイス、および／またはそれらの組み合わせ等の上記で説明されるコンテンツにアクセスするための任意のデバイスを意味すると理解されたい。いくつかの実施形態では、ユーザ機器デバイスは、正面画面および裏面画面、複数の正面画面、または複数の角度付き画面を有してもよい。いくつかの実施形態では、ユーザ機器デバイスは、正面カメラおよび／または背面カメラを有してもよい。これらのユーザ機器デバイス上で、ユーザは、テレビを通して利用可能な同一のコンテンツ間をナビゲートし、それを特定することが可能であり得る。その結果として、メディアガイドは、これらのデバイス上でも利用可能であり得る。提供されるガイドは、テレビのみを通して利用可能なコンテンツ、他のタイプのユーザ機器デバイスのうちの１つまたはそれを上回るもののみを通して利用可能なコンテンツ、またはテレビおよび他のタイプのユーザ機器デバイスのうちの１つまたはそれを上回るものの両方を通して利用可能なコンテンツのためのものであってもよい。メディアガイドアプリケーションは、オンラインアプリケーションとして（すなわち、ウェブサイト上で提供される）、またはユーザ機器デバイス上の独立型アプリケーションまたはクライアントとして提供されてもよい。メディアガイドアプリケーションを実装し得る、種々のデバイスおよびプラットフォームは、以下でさらに詳細に説明される。
【００５６】
メディアガイドアプリケーションの機能のうちの１つは、メディアガイドデータをユーザに提供することである。本明細書で参照されるように、語句「メディアガイドデータ」または「ガイドデータ」は、コンテンツに関連する任意のデータまたはガイドアプリケーションを動作させる際に使用されるデータを意味すると理解されたい。例えば、ガイドデータは、番組情報、ガイドアプリケーション設定、ユーザ選好、ユーザプロファイル情報、メディア一覧、メディア関連情報（例えば、放送時間、放送チャンネル、タイトル、内容、評価情報（例えば、ペアレンタルコントロール評価、批評家の評価等）、ジャンルまたはカテゴリ情報、俳優情報、放送会社またはプロバイダのロゴのロゴデータ等、メディア形式（例えば、標準解像度、高解像度、３Ｄ等）、広告情報（例えば、テキスト、画像、メディアクリップ等）、オンデマンド情報、ブログ、ウェブサイト、およびユーザが所望のコンテンツ選択間をナビゲートし、それを特定するために役立つ、任意の他のタイプのガイドデータを含んでもよい。
【００５７】
図１−２は、メディアガイドデータを提供するために使用され得る、例証的表示画面を示す。図１−２に示される表示画面は、任意の好適なユーザ機器デバイスまたはプラットフォーム上に実装されてもよい。図１−２の表示は、フル画面表示として図示されているが、それらはまた、表示されているコンテンツ上に完全または部分的にオーバーレイされてもよい。ユーザは、表示画面に提供された選択可能なオプション（例えば、メニューオプション、一覧オプション、アイコン、ハイパーリンク等）を選択することによって、またはリモートコントロールまたは他のユーザ入力インターフェースまたはデバイス上の専用ボタン（例えば、「ガイド」ボタン）を押下することによって、コンテンツ情報にアクセスする所望を示してもよい。ユーザのインジケーションに応答して、メディアガイドアプリケーションは、グリッド内の時間およびチャンネル別、時間別、チャンネル別、ソース別、コンテンツタイプ別、カテゴリ別（例えば、映画、スポーツ、ニュース、子供向け、または他の番組カテゴリ）、または他の所定、ユーザ定義、または他の編成基準等のいくつかの方法のうちの１つにおいて編成されたメディアガイドデータを伴う表示画面を提供してもよい。
【００５８】
図１は、単一表示内の異なるタイプのコンテンツへのアクセスも可能にする、時間およびチャンネル別に配列された番組一覧表示１００の例証的グリッドを示す。表示１００は、（１）各チャンネル／コンテンツタイプ識別子（列内のセル）が利用可能な異なるチャンネルまたはコンテンツのタイプを識別する、チャンネル／コンテンツタイプ識別子１０４の列、および（２）各時間識別子（行内のセル）が番組の時間帯を識別する、時間識別子１０６の行を伴う、グリッド１０２を含んでもよい。グリッド１０２はまた、番組一覧１０８等の番組一覧のセルも含み、各一覧は、一覧の関連チャンネルおよび時間の上に提供される、番組のタイトルを提供する。ユーザ入力デバイスを用いて、ユーザは、ハイライト領域１１０を移動させることによって番組一覧を選択することができる。ハイライト領域１１０によって選択される番組一覧に関する情報が、番組情報領域１１２内に提供されてもよい。領域１１２は、例えば、番組タイトル、番組内容、番組が提供される時間（該当する場合）、番組が放送されるチャンネル（該当する場合）、番組の評価、および他の所望の情報を含んでもよい。
【００５９】
線形番組（例えば、所定の時間に複数のユーザ機器デバイスに伝送されるようにスケジュールされ、スケジュールに従って提供される、コンテンツ）へのアクセスの提供に加え、メディアガイドアプリケーションはまた、非線形番組（例えば、任意の時間においてユーザ機器デバイスにアクセス可能であって、スケジュールに従って提供されない、コンテンツ）へのアクセスも提供する。非線形番組は、オンデマンドコンテンツ（例えば、ＶＯＤ）、インターネットコンテンツ（例えば、ストリーミングメディア、ダウンロード可能メディア等）、ローカルに記憶したコンテンツ（例えば、上記で説明される任意のユーザ機器デバイスまたは他の記憶デバイス上に記憶されたコンテンツ）、または時間的制約のない他のコンテンツを含む、異なるコンテンツソースからのコンテンツを含んでもよい。オンデマンドコンテンツは、映画または特定のコンテンツプロバイダ（例えば、ＨＢＯ  ＧＯサービスを介して「Ｔｈｅ  Ｓｏｐｒａｎｏｓ」および「Ｃｕｒｂ  Ｙｏｕｒ  Ｅｎｔｈｕｓｉａｓｍ」を提供するＨＢＯ）によって提供される任意の他のコンテンツを含んでもよい。ＴＨＥ  ＳＯＰＲＡＮＯＳおよびＣＵＲＢ  ＹＯＵＲＥ  ＥＮＴＨＵＳＩＡＳＭは、Ｈｏｍｅ  Ｂｏｘ  Ｏｆｆｉｃｅ，  Ｉｎｃ．によって所有される商標である。インターネットコンテンツは、チャットセッションまたはウェブキャスト等のウェブイベント、またはインターネットウェブサイトまたは他のインターネットアクセス（例えば、ＦＴＰ）を通して、ストリーミングコンテンツまたはダウンロード可能なコンテンツとしてオンデマンドで利用可能なコンテンツを含んでもよい。
【００６０】
グリッド１０２は、オンデマンド一覧１１４、録画コンテンツ一覧１１６、およびインターネットコンテンツ一覧１１８を含む、非線形番組のメディアガイドデータを提供してもよい。異なるタイプのコンテンツソースからのコンテンツのためのメディアガイドデータを組み合わせる表示は、「混合メディア」表示と称されることもある。表示１００とは異なる、表示され得るメディアガイドデータのタイプの種々の順列は、ユーザ選択またはガイドアプリケーション定義に基づいてもよい（例えば、録画および放送一覧のみの表示、オンデマンドおよび放送一覧のみの表示等）。例証されるように、一覧１１４、１１６、および１１８は、これらの一覧の選択が、それぞれ、オンデマンド一覧、録画一覧、またはインターネット一覧専用の表示へのアクセスを提供し得ることを示すように、グリッド１０２内に表示される時間帯全体に及ぶものとして示されている。いくつかの実施形態では、これらのコンテンツタイプの一覧は、グリッド１０２に直接含まれてもよい。ユーザがナビゲーションアイコン１２０のうちの１つを選択することに応答して、付加的メディアガイドデータが表示されてもよい（ユーザ入力デバイス上の矢印キーを押下することによって、ナビゲーションアイコン１２０を選択することと同様に表示に影響を及ぼしてもよい）。
【００６１】
表示１００はまた、ビデオ領域１２２、広告１２４、およびオプション領域１２６を含んでもよい。ビデオ領域１２２は、ユーザが、現在利用可能である、今後利用可能となる、またはユーザに利用可能であった番組を視聴および／またはプレビューすることを可能にしてもよい。ビデオ領域１２２のコンテンツは、グリッド１０２に表示される一覧のうちの１つに対応するか、またはそれから独立してもよい。ビデオ領域を含むグリッド表示は、ピクチャインガイド（ＰＩＧ）表示と称されることもある。ＰＩＧ表示およびそれらの機能は、全体として参照することによって本明細書に組み込まれる、２００３年５月１３日発行のＳａｔｔｅｒｆｉｅｌｄらの米国特許第６，５６４，３７８号、および２００１年５月２９日発行のＹｕｅｎらの米国特許第６，２３９，７９４号でさらに詳細に説明されている。ＰＩＧ表示は、本明細書に説明される実施形態の他のメディアガイドアプリケーション表示画面に含まれてもよい。
【００６２】
広告１２４は、（例えば、購読番組に対する）視聴者のアクセス権に応じて、現在視聴が利用可能である、将来視聴が利用可能となる、または決して視聴利用可能とはなり得ない、コンテンツの広告を提供してもよく、グリッド１０２内のコンテンツ一覧のうちの１つまたはそれを上回るものに対応してもよい、または無関係であり得る。広告１２４はまた、グリッド１０２内で表示されるコンテンツに関係する、または無関係である製品またはサービスに対するものであってもよい。広告１２４は、選択可能であり、コンテンツに関するさらなる情報を提供する、製品またはサービスに関する情報を提供する、コンテンツ、製品、またはサービスの購入を可能にする、広告に関するコンテンツを提供する等を行ってもよい。広告１２４は、ユーザのプロファイル／選好、監視されたユーザアクティビティ、提供される表示のタイプ、または他の好適な標的化された広告基盤に基づいて標的化されてもよい。
【００６３】
広告１２４は、長方形またはバナー形状として示されているが、広告は、ガイドアプリケーション表示内の任意の好適なサイズ、形状、および場所で提供されてもよい。例えば、広告１２４は、グリッド１０２に水平方向に隣接する長方形として提供されてもよい。これは、パネル広告と称されることもある。加えて、広告は、コンテンツまたはガイドアプリケーション表示上にオーバーレイされてもよい、または表示内に埋め込まれてもよい。広告はまた、テキスト、画像、回転画像、ビデオクリップ、または上記で説明される他のタイプのコンテンツを含んでもよい。広告は、ガイドアプリケーションを有するユーザ機器デバイス内、ユーザ機器に接続されたデータベース内、遠隔場所（ストリーミングメディアサーバを含む）内、または他の記憶手段またはこれらの場所の組み合わせ上に記憶されてもよい。メディアガイドアプリケーションに広告を提供するステップは、例えば、それらの全体で参照することにより本明細書に組み込まれる、２００３年１月１７日出願のＫｎｕｄｓｏｎらの米国特許出願第２００３／０１１０４９９号、２００４年６月２９日発行のＷａｒｄ，  ＩＩＩらの米国特許第６，７５６，９９７号、および２００２年５月１４日発行のＳｃｈｅｉｎらの米国特許第６，３８８，７１４号で、さらに詳細に議論されている。広告は、本明細書に説明される実施形態の他のメディアガイドアプリケーション表示画面に含まれてもよいことが理解されるであろう。
【００６４】
オプション領域１２６は、ユーザが、異なるタイプのコンテンツ、メディアガイドアプリケーション表示、および／またはメディアガイドアプリケーション特徴にアクセスすることを可能にしてもよい。オプション領域１２６は、表示１００（および本明細書に説明される他の表示画面）の一部であってもよい、または画面上のオプションを選択すること、またはユーザ入力デバイス上の専用または割当可能ボタンを押下することによって、ユーザによって呼び出されてもよい。オプション領域１２６内の選択可能オプションは、グリッド１０２内の番組一覧に関連する特徴に関してもよい、またはメインメニュー表示から利用可能なオプションを含んでもよい。番組一覧に関連する特徴は、他の放送時間または番組の受信方法の検索、番組の録画、番組の連続録画の有効化、番組および／またはチャンネルをお気に入りとして設定、番組の購入、または他の特徴を含んでもよい。メインメニュー表示から利用可能なオプションは、検索オプション、ＶＯＤオプション、ペアレンタルコントロールオプション、インターネットオプション、クラウドベースのオプション、デバイス同期オプション、第２の画面デバイスオプション、種々のタイプのメディアガイドデータ表示にアクセスするためのオプション、プレミアムサービスを購読するためのオプション、ユーザのプロファイルを編集するためのオプション、ブラウザオーバーレイにアクセスするためのオプション、または他のオプションを含んでもよい。
【００６５】
メディアガイドアプリケーションは、ユーザの選好に基づいて個人化されてもよい。個人化されたメディアガイドアプリケーションは、ユーザが、メディアガイドアプリケーションによって個人化された「体験」を生成するように、表示および特徴をカスタマイズすることを可能にする。この個人化された体験は、ユーザがこれらのカスタマイズを入力できるようにすることによって、および／または種々のユーザ選好を判定するようにメディアガイドアプリケーションがユーザアクティビティを監視することによって、生成されてもよい。ユーザは、ログインすることによって、または別様にガイドアプリケーションに対して自らを識別することによって、その個人化されたガイドアプリケーションにアクセスしてもよい。メディアガイドアプリケーションのカスタマイズは、ユーザプロファイルに従って行われてもよい。カスタマイズは、提示方式（例えば、表示の色方式、テキストのフォントサイズ等）、表示されるコンテンツ一覧の側面（例えば、ＨＤＴＶ番組のみまたは３Ｄ番組のみ、お気に入りチャンネル選択に基づいたユーザ指定の放送チャンネル、チャンネルの表示の並び替え、推奨コンテンツ等）、所望の録画特徴（例えば、特定のユーザに対する録画または連続録画、録画品質等）、ペアレンタルコントロール設定、インターネットコンテンツのカスタマイズされた提示（例えば、ソーシャルメディアコンテンツ、電子メール、電子的に配信された記事等の提示）、および他の所望のカスタマイズを変更させるステップを含んでもよい。
【００６６】
メディアガイドアプリケーションは、ユーザが、ユーザプロファイル情報を提供することを可能にしてもよい、またはユーザプロファイル情報を自動的にコンパイルしてもよい。メディアガイドアプリケーションは、例えば、ユーザがアクセスするコンテンツ、および／またはユーザがガイドアプリケーションと行い得る他の相互作用を監視してもよい。加えて、メディアガイドアプリケーションは、特定のユーザに関連する他のユーザプロファイルの全体または一部を取得し（例えば、ｗｗｗ．ａｌｌｒｏｖｉ．ｃｏｍ等のユーザがアクセスするインターネット上の他のウェブサイトから、ユーザがアクセスする他のメディアガイドアプリケーションから、ユーザがアクセスする他の双方向アプリケーションから、ユーザの別のユーザ機器デバイスから等）、および／またはメディアガイドアプリケーションがアクセスし得る他のソースから、ユーザに関する情報を取得してもよい。結果として、ユーザは、ユーザの異なるユーザ機器デバイスにわたって、統一されたガイドアプリケーション体験を提供されることができる。本タイプのユーザ体験は、図４に関連して以下でさらに詳細に説明される。付加的な個人化されたメディアガイドアプリケーション特徴は、全体として参照することにより本明細書に組み込まれる、２００５年７月１１日出願のＥｌｌｉｓらの米国特許出願公開第２００５／０２５１８２７号、２００７年１月１６日発行のＢｏｙｅｒらの米国特許第７，１６５，０９８号、および２００２年２月２１日出願のＥｌｌｉｓらの米国特許出願公開第２００２／０１７４４３０号でさらに詳細に説明されている。
【００６７】
メディアガイドを提供するための別の表示配列が、図２に示されている。ビデオモザイク表示２００は、推奨、ウォッチリスト内の含有、および／またはコンテンツのタイプ等の種々の編成基準に基づいて編成されたコンテンツ情報のための選択可能オプション２０２を含む。表示２００では、映画一覧オプション２０４が、選択され、したがって、一覧２０６、２０８、２１０、および２１２を映画として提供する。表示２００では、一覧は、カバーアート、コンテンツからの静止画像、ビデオクリップのプレビュー、コンテンツからのライブビデオ、または一覧中のメディアガイドデータによって記述されているコンテンツをユーザに示す他のタイプのコンテンツを含む、グラフィック画像を提供してもよい。グラフィック一覧のそれぞれはまた、一覧と関連付けられたコンテンツに関するさらなる情報を提供するように、テキストを伴ってもよい。例えば、一覧２０８は、メディア部分２１４およびテキスト部分２１６を含む、１つを上回る部分を含んでもよい。メディア部分２１４および／またはテキスト部分２１６は、コンテンツをフル画面で視聴するように、またはメディア部分２１４に表示されるコンテンツに関連する情報を閲覧するように（例えば、具体的コンテンツプロバイダの一覧を閲覧するように）、選択可能であり得る。
【００６８】
表示２００中の一覧は、異なるサイズである（すなわち、一覧２０６は、一覧２０８、２１０、および２１２より大きい）が、所望の場合、全一覧が同一のサイズであってもよい。一覧は、コンテンツプロバイダの所望に応じて、またはユーザ選好に基づいて、ユーザの関心の程度を示すように、またはあるコンテンツを強調するように、異なるサイズであるか、またはグラフィックが強調されてもよい。コンテンツ一覧をグラフィック的に強調するための種々のシステムおよび方法は、例えば、全体として参照することにより本明細書に組み込まれる、２００９年１１月１２日出願のＹａｔｅｓの米国特許出願公開第２０１０／０１５３８８５号で議論されている。
【００６９】
ユーザは、そのユーザ機器デバイスのうちの１つまたはそれを上回るものから、コンテンツおよびメディアガイドアプリケーション（および上記および下記で説明されるその表示画面）にアクセスしてもよい。図３は、例証的機器デバイス３００の汎用実施形態を示す。デバイスのより具体的な実装は、図４に関連して以下で議論されている。機器デバイス３００は、ユーザテレビ機器４０２、ユーザコンピュータ機器４０４、および無線ユーザ通信デバイス４０６上に実装されてもよい。加えて、デバイス３００は、コンテンツプロバイダ４１６および４１８と関連付けられるサーバの一部として、およびコンテンツアグリゲータ４３０と関連付けられるサーバの一部として、実装されてもよい。デバイス３００は、入出力（以下「Ｉ／Ｏ」）パス３０２を介して、コンテンツおよびデータを受信してもよい。Ｉ／Ｏパス３０２は、処理回路３０６および記憶装置３０８を含む制御回路３０４に、コンテンツ（例えば、放送番組、オンデマンド番組、インターネットコンテンツ、ローカルエリアネットワーク（ＬＡＮ）または広域ネットワーク（ＷＡＮ）を経由して利用可能なコンテンツ、および／または他のコンテンツ）およびデータを提供してもよい。制御回路３０４は、Ｉ／Ｏパス３０２を使用して、コマンド、要求、および他の好適なデータを送受信するために使用されてもよい。Ｉ／Ｏパス３０２は、制御回路３０４（具体的には、処理回路３０６）を１つまたはそれを上回る通信パス（以下で説明される）に接続してもよい。Ｉ／Ｏ機能は、これらの通信パスのうちの１つまたはそれを上回るものによって提供されてもよいが、図面が複雑になり過ぎることを回避するため、図３では単一パスとして示されている。
【００７０】
制御回路３０４は、処理回路３０６等の任意の好適な処理回路に基づいてもよい。本明細書で参照されるように、処理回路とは、１つまたはそれを上回るマイクロプロセッサ、マイクロコントローラ、デジタル信号プロセッサ、プログラマブル論理デバイス、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、特定用途向け集積回路（ＡＳＩＣ）等に基づく回路を意味すると理解され、マルチコアプロセッサ（例えば、デュアルコア、クアドコア、ヘクサコア、または任意の好適な数のコア）またはスーパーコンピュータを含んでもよい。いくつかの実施形態では、処理回路は、複数の別個のプロセッサまたは処理ユニット、例えば、複数の同一のタイプの処理ユニット（例えば、２つのＩｎｔｅｌ  Ｃｏｒｅ  ｉ７プロセッサ）または複数の異なるプロセッサ（例えば、Ｉｎｔｅｌ  Ｃｏｒｅ  ｉ５プロセッサおよびＩｎｔｅｌ  Ｃｏｒｅ  ｉ７プロセッサ）にわたって分散されてもよい。いくつかの実施形態では、制御回路３０４は、メモリ（すなわち、記憶装置３０８）に記憶されたメディアガイドアプリケーションに対する命令を実行する。具体的には、制御回路３０４は、メディアガイドアプリケーションによって、上記および下記で議論される機能を果たすように命令されてもよい。例えば、メディアガイドアプリケーションは、制御回路３０４に、メディアガイド表示を生成するための命令を提供してもよい。いくつかの実装では、制御回路３０４によって行われるいかなるアクションも、メディアガイドアプリケーションから受信した命令に基づいてもよい。
【００７１】
クライアントサーバベースの実施形態では、制御回路３０４は、ガイドアプリケーションサーバまたは他のネットワークまたはサーバと通信するための好適な通信回路を含んでもよい。前述の機能性を実施するための命令は、ガイドアプリケーションサーバ上に記憶されてもよい。通信回路は、ケーブルモデム、総合デジタル通信網（ＩＳＤＮ）モデム、デジタル加入者回線（ＤＳＬ）モデム、電話モデム、イーサネット（登録商標）カード、または他の機器との通信用の無線モデム、または任意の他の好適な通信回路を含んでもよい。そのような通信は、インターネットまたは任意の他の好適な通信ネットワークまたはパスを伴ってもよい（図４に関連してさらに詳細に説明される）。加えて、通信回路は、機器デバイスのピアツーピア通信、または相互から遠隔の場所にある機器デバイスの通信を可能にする回路を含んでもよい（以下でさらに詳細に説明される）。
【００７２】
メモリは、制御回路３０４の一部である、記憶装置３０８として提供される、電子記憶デバイスであってもよい。本明細書で参照されるように、語句「電子記憶デバイス」または「記憶デバイス」とは、ランダムアクセスメモリ、読取専用メモリ、ハードドライブ、光学ドライブ、デジタルビデオディスク（ＤＶＤ）レコーダ、コンパクトディスク（ＣＤ）レコーダ、ＢＬＵ−ＲＡＹ（登録商標）ディスク（ＢＤ）レコーダ、ＢＬＵ−ＲＡＹ（登録商標）  ３Ｄディスクレコーダ、デジタルビデオレコーダ（ＤＶＲ（パーソナルビデオレコーダと呼ばれる場合もある）、またはＰＶＲ）、固体デバイス、量子記憶デバイス、ゲームコンソール、ゲームメディア、または任意の他の好適な固定またはリムーバブル記憶デバイス、および／または任意のそれらの組み合わせ等の電子データ、コンピュータソフトウェア、またはファームウェアを記憶するための任意のデバイスを意味すると理解されたい。記憶装置３０８は、本明細書に説明される種々のタイプのコンテンツ、および上記で説明されるメディアガイドデータを記憶するために使用されてもよい。不揮発性メモリもまた、（例えば、ブートアップルーチンおよび他の命令を起動するために）使用されてもよい。図４に関連して説明される、クラウドベースの記憶装置が、記憶装置３０８を補完するために、または記憶装置３０８の代わりに使用されてもよい。
【００７３】
制御回路３０４は、１つまたはそれを上回るアナログチューナ、１つまたはそれを上回るＭＰＥＧ−２デコーダ、または他のデジタル復号回路、高解像度チューナ、または任意の他の好適な同調またはビデオ回路、またはそのような回路の組み合わせ等のビデオ生成回路および同調回路を含んでもよい。（例えば、記憶のために、無線、アナログ、またはデジタル信号をＭＰＥＧ信号に変換するための）符号化回路もまた、提供されてもよい。制御回路３０４はまた、コンテンツを機器デバイス３００の好ましい出力形式に上方変換および下方変換するためのスケーラ回路を含んでもよい。回路３０４はまた、デジタルおよびアナログ信号間で変換するためのデジタルからアナログへの変換回路およびアナログからデジタルへの変換回路を含んでもよい。同調および符号化回路は、コンテンツを受信して表示する、再生する、または録画するために、機器デバイスによって使用されてもよい。同調および符号化回路はまた、ガイドデータを受信するために使用されてもよい。例えば、同調、ビデオ生成、符号化、復号、暗号化、解読、スケーラ、およびアナログ／デジタル回路を含む、本明細書に説明される回路は、１つまたはそれを上回る汎用または特殊プロセッサ上で起動するソフトウェアを使用して実装されてもよい。複数のチューナが、同時同調機能（例えば、鑑賞および録画機能、ピクチャインピクチャ（ＰＩＰ）機能、多重チューナ録画等）に対処するように提供されてもよい。記憶装置３０８が、機器デバイス３００とは別個のデバイスとして提供される場合、同調および符号化回路（複数のチューナを含む）は、記憶装置３０８と関連付けられてもよい。
【００７４】
機器デバイス３００がユーザテレビ機器４０２、ユーザコンピュータ機器４０４、または無線ユーザ通信デバイス４０６上に実装されるとき、ユーザは、ユーザ入力インターフェース３１０を使用して、命令を制御回路３０４に送信してもよい。ユーザ入力インターフェース３１０は、リモートコントロール、マウス、トラックボール、キーパッド、キーボード、タッチスクリーン、タッチパッド、スタイラス入力、ジョイスティック、音声認識インターフェース、または他のユーザ入力インターフェース等、任意の好適なユーザインターフェースであってもよい。ディスプレイ３１２は、独立型デバイスとして提供されてもよい、またはユーザ機器デバイス３００の他の要素と統合されてもよい。例えば、ディスプレイ３１２は、タッチスクリーンまたはタッチセンサ式ディスプレイであってもよい。そのような状況では、ユーザ入力インターフェース３１０は、ディスプレイ３１２と統合されてもよい、または組み合わせられてもよい。ディスプレイ３１２は、モニタ、テレビ、モバイルデバイスのための液晶ディスプレイ（ＬＣＤ）、非晶質シリコンディスプレイ、低温ポリシリコンディスプレイ、電子インクディスプレイ、電気泳動ディスプレイ、アクティブマトリクスディスプレイ、エレクトロウェッティングディスプレイ、電気流体ディスプレイ、ブラウン管ディスプレイ、発光ダイオードディスプレイ、エレクトロルミネセントディスプレイ、プラズマディスプレイパネル、高性能アドレッシングディスプレイ、薄膜トランジスタディスプレイ、有機発光ダイオードディスプレイ、表面伝導型電子放出素子ディスプレイ（ＳＥＤ）、レーザテレビ、カーボンナノチューブ、量子ドットディスプレイ、干渉変調器ディスプレイ、または視覚的画像を表示するための任意の他の好適な機器のうちの１つまたはそれを上回るものであってもよい。いくつかの実施形態では、ディスプレイ３１２は、ＨＤＴＶ対応型であり得る。いくつかの実施形態では、ディスプレイ３１２は、３Ｄディスプレイであってもよく、双方向メディアガイドアプリケーションおよび任意の好適なコンテンツは、３Ｄで表示されてもよい。ビデオカードまたはグラフィックカードは、出力をディスプレイ３１２に生成してもよい。ビデオカードは、３Ｄシーンおよび２Ｄグラフィックのレンダリング加速、ＭＰＥＧ−２／ＭＰＥＧ−４復号、ＴＶ出力、または複数のモニタを接続する能力等の種々の機能をもたらしてもよい。ビデオカードは、制御回路３０４に関連する上記で説明される任意の処理回路であってもよい。ビデオカードは、制御回路３０４と統合されてもよい。スピーカ３１４は、機器デバイス３００の他の要素との統合として提供されてもよい、または独立型ユニットであってもよい。ディスプレイ３１２上に表示されるビデオおよび他のコンテンツのオーディオ構成要素は、スピーカ３１４を通して再生されてもよい。いくつかの実施形態では、オーディオは、スピーカ３１４を介してオーディオを処理および出力する、受信機（図示せず）に配布されてもよい。
【００７５】
ガイドアプリケーションは、任意の好適なアーキテクチャを使用して実装されてもよい。例えば、それは、機器デバイス３００上で完全に実装される、独立型アプリケーションであってもよい。そのようなアプローチでは、アプリケーションの命令は、ローカルに記憶され（例えば、記憶装置３０８内に）、アプリケーションによって使用するためのデータは、（例えば、帯域外フィードから、インターネットリソースから、または別の好適なアプローチを使用して）周期的にダウンロードされる。制御回路３０４は、記憶装置３０８からアプリケーションの命令を読み出し、本明細書で議論される表示のうちのいずれかを生成するための命令を処理してもよい。処理された命令に基づいて、制御回路３０４は、入力が入力インターフェース３１０から受信されるときにどのようなアクションを行うかを判定してもよい。例えば、表示上のカーソルの上／下への移動は、入力インターフェース３１０が上／下ボタンが選択されたことを示すとき、処理された命令によって示されてもよい。
【００７６】
いくつかの実施形態では、メディアガイドアプリケーションは、クライアントサーバベースのアプリケーションである。機器デバイス３００上に実装される、シックまたはシンクライアントによって使用するためのデータは、機器デバイス３００の遠隔にあるサーバに要求を発行することによって、オンデマンドで読み出される。クライアントサーバベースのガイドアプリケーションの一実施例では、制御回路３０４は、遠隔サーバによって提供されるウェブページを解釈する、ウェブブラウザを実行する。例えば、遠隔サーバは、記憶デバイス内にアプリケーションのための命令を記憶してもよい。遠隔サーバは、回路（例えば、制御回路３０４）を使用して、記憶された命令を処理し、上記および下記で議論される表示を生成してもよい。クライアントデバイスは、遠隔サーバによって生成される表示を受信してもよく、表示のコンテンツを機器デバイス３００上でローカルに表示してもよい。このように、命令の処理は、サーバによって遠隔で行われる一方、結果として生じる表示は、機器デバイス３００上にローカルに提供される。機器デバイス３００は、入力インターフェース３１０を介して、ユーザからの入力を受信し、対応する表示を処理および生成するために、それらの入力を遠隔サーバに伝送してもよい。例えば、機器デバイス３００は、上／下ボタンが入力インターフェース３１０を介して選択されたことを示す、通信を遠隔サーバに伝送してもよい。遠隔サーバは、その入力に従って命令を処理し、入力に対応するアプリケーションの表示を生成してもよい（例えば、カーソルを上／下に移動させる表示）。生成された表示は、次いで、ユーザへの提示のために、機器デバイス３００に伝送される。
【００７７】
いくつかの実施形態では、メディアガイドアプリケーションは、インタープリタまたは仮想マシン（制御回路３０４によって起動される）によって、ダウンロードされ、解釈または別様に起動される。いくつかの実施形態では、ガイドアプリケーションは、ＥＴＶバイナリ交換形式（ＥＴＶ  Ｂｉｎａｒｙ  Ｉｎｔｅｒｃｈａｎｇｅ  Ｆｏｒｍａｔ／ＥＢＩＦ）で符号化され、好適なフィードの一部として制御回路３０４によって受信され、制御回路３０４上で起動するユーザエージェントによって解釈されてもよい。例えば、ガイドアプリケーションは、ＥＢＩＦアプリケーションであってもよい。いくつかの実施形態では、ガイドアプリケーションは、制御回路３０４によって実行されるローカル仮想マシンまたは他の好適なミドルウェアによって受信および起動される、一連のＪＡＶＡ（登録商標）ベースのファイルによって定義されてもよい。そのような実施形態のうちのいくつか（例えば、ＭＰＥＧ−２または他のデジタルメディア符号化スキームを採用するもの）では、ガイドアプリケーションは、例えば、番組のＭＰＥＧオーディオおよびビデオパケットを用いたＭＰＥＧ−２オブジェクトカルーセルにおいて符号化および伝送されてもよい。
【００７８】
図３の機器デバイス３００は、ユーザテレビ機器４０２、ユーザコンピュータ機器４０４、無線ユーザ通信デバイス４０６、または非携帯用ゲーム機等のコンテンツにアクセスするために好適な任意の他のタイプのユーザ機器として、図４のシステム４００に実装することができる。簡単にするために、これらのデバイスは、本明細書では総称して、ユーザ機器またはユーザ機器デバイスと称されてもよく、上記で説明されるユーザ機器デバイスに実質的に類似し得る。メディアガイドアプリケーションが実装され得る、ユーザ機器デバイスは、独立型デバイスとして機能してもよい、またはデバイスのネットワークの一部であってもよい。デバイスの種々のネットワーク構成が実装されてもよく、以下でさらに詳細に議論される。加えて、機器デバイス３００は、コンテンツプロバイダ４１６および４１８と関連付けられるサーバの一部として、およびコンテンツアグリゲータ４３０と関連付けられるサーバの一部として、実装されてもよい。
【００７９】
図３に関連して上記で説明されるシステム特徴のうちの少なくともいくつかを利用する、ユーザ機器デバイスは、単に、ユーザテレビ機器４０２、ユーザコンピュータ機器４０４、または無線ユーザ通信デバイス４０６として分類されなくてもよい。例えば、ユーザテレビ機器４０２は、いくつかのユーザコンピュータ機器４０４のように、インターネットコンテンツへのアクセスを可能にするインターネット対応型であり得る一方で、ユーザコンピュータ機器４０４は、いくつかのテレビ機器４０２のように、テレビ番組へのアクセスを可能にするチューナを含んでもよい。メディアガイドアプリケーションは、種々の異なるタイプのユーザ機器上で同一レイアウトを有してもよい、またはユーザ機器の表示能力に合わせられてもよい。例えば、ユーザコンピュータ機器４０４上では、ガイドアプリケーションは、ウェブブラウザによってアクセスされるウェブサイトとして提供されてもよい。別の実施例では、ガイドアプリケーションは、無線ユーザ通信デバイス４０６用に縮小されてもよい。
【００８０】
システム４００では、典型的には、各タイプのユーザ機器デバイスが１つを上回って存在するが、図面が複雑になり過ぎることを回避するように、それぞれ１つだけが図４に示されている。加えて、各ユーザは、１つを上回るタイプのユーザ機器デバイスと、また、各タイプのユーザ機器デバイスのうちの１つを上回るものとを利用してもよい。
【００８１】
いくつかの実施形態では、ユーザ機器デバイス（例えば、ユーザテレビ機器４０２、ユーザコンピュータ機器４０４、無線ユーザ通信デバイス４０６）は、「第２の画面デバイス」と称されてもよい。例えば、第２の画面デバイスは、第１のユーザ機器デバイス上に提示されるコンテンツを補完してもよい。第２の画面デバイス上に提示されるコンテンツは、第１のデバイス上に提示されるコンテンツを補完する、任意の好適なコンテンツであってもよい。いくつかの実施形態では、第２の画面デバイスは、第１のデバイスの設定および表示選好を調節するためのインターフェースを提供する。いくつかの実施形態では、第２の画面デバイスは、他の第２の画面デバイスと相互作用するため、またはソーシャルネットワークと相互作用するために構成される。第２の画面デバイスは、第１のデバイスと同一の部屋内に、第１のデバイスと異なる部屋であるが、同一の家または建物内、または第１のデバイスと異なる建物内に位置することができる。
【００８２】
ユーザはまた、家庭内デバイスおよび遠隔デバイスにわたって一貫したメディアガイドアプリケーション設定を維持するように、種々の設定を設定してもよい。設定は、本明細書に説明される設定、およびお気に入りのチャンネルおよび番組、番組を推奨するためにガイドアプリケーションが利用する番組選好、表示選好、および他の望ましいガイド設定を含む。例えば、ユーザが、そのオフィスのパーソナルコンピュータで、例えば、ウェブサイトｗｗｗ．ａｌｌｒｏｖｉ．ｃｏｍの上で、チャンネルをお気に入りとして設定した場合、所望に応じて、同一のチャンネルが、ユーザの家庭内デバイス（例えば、ユーザテレビ機器およびユーザコンピュータ機器）、およびユーザのモバイルデバイス上でお気に入りとして表示される。したがって、同一のまたは異なるタイプのユーザ機器デバイスであるかどうかにかかわらず、１つのユーザ機器デバイス上で行われる変更は、別のユーザ機器デバイス上のガイド体験を変更することができる。加えて、行われる変更は、ユーザによる設定入力、およびガイドアプリケーションによって監視されるユーザアクティビティに基づいてもよい。
【００８３】
ユーザ機器デバイスは、通信ネットワーク４１４に結合されてもよい。すなわち、ユーザテレビ機器４０２、ユーザコンピュータ機器４０４、および無線ユーザ通信デバイス４０６は、それぞれ、通信パス４０８、４１０、および４１２を介して、通信ネットワーク４１４に結合される。通信ネットワーク４１４は、インターネット、携帯電話ネットワーク、モバイルボイスまたはデータネットワーク（例えば、４ＧまたはＬＴＥネットワーク）、ケーブルネットワーク、公衆交換電話ネットワーク、または他のタイプの通信ネットワーク、または通信ネットワークの組み合わせを含む、１つまたはそれを上回るネットワークであってもよい。パス４０８、４１０、および４１２は、別個または一緒に、衛星パス、光ファイバパス、ケーブルパス、インターネット通信をサポートするパス（例えば、ＩＰＴＶ）、フリースペース接続（例えば、放送または他の無線信号用）、または任意の他の好適な有線または無線通信パス、またはそのようなパスの組み合わせ等、１つまたはそれを上回る通信パスを含んでもよい。パス４１２は、図４に示された例示的実施形態において、無線パスであることを示すように破線で描かれ、パス４０８および４１０は、有線パスであることを示すように実線で描かれている（しかし、これらのパスは、所望に応じて、無線パスであってもよい）。ユーザ機器デバイスとの通信は、これらの通信パスのうちの１つまたはそれを上回るものによって提供されてもよいが、図４では、図面が複雑になり過ぎることを回避するように、単一パスとして示されている。
【００８４】
通信パスは、ユーザ機器デバイスの間には描かれていないが、これらのデバイスは、パス４０８、４１０、および４１２に関連して上記で説明されるもの、およびＵＳＢケーブル、ＩＥＥＥ１３９４ケーブル、無線パス（例えば、Ｂｌｕｅｔｏｏｔｈ（登録商標）、赤外線、ＩＥＥＥ８０２−１１ｘ等）等の他の短距離ポイントツーポイント通信パス、または有線または無線パスを介した他の短距離通信等の通信パス等の通信パスを介して、相互と直接通信してもよい。ＢＬＵＥＴＯＯＴＨ（登録商標）は、Ｂｌｕｅｔｏｏｔｈ（登録商標）  ＳＩＧ，  ＩＮＣ．によって所有される認証マークである。ユーザ機器デバイスはまた、通信ネットワーク４１４を介した間接的パスを通して、直接相互と通信してもよい。
【００８５】
システム４００は、それぞれ、通信パス４２０、４２２、４２４、４２６、および４２８を介して、通信ネットワーク４１４に結合される、コンテンツプロバイダ４１６および４１８およびコンテンツアグリゲータ４３０を含む。パス４２０、４２２、４２４、４２６、および４２８は、パス４０８、４１０、および４１２に関して上記で説明される通信パスのうちのいずれかを含んでもよい。コンテンツプロバイダ４１６およびコンテンツアグリゲータ４３０との通信は、１つまたはそれを上回る通信パスを経由して交信されてもよいが、図４では、図面が複雑になり過ぎることを回避するように、単一パスとして示されている。加えて、コンテンツプロバイダ４１６およびコンテンツアグリゲータ４３０のそれぞれが１つを上回ってあってもよいが、図４では、図面が複雑になり過ぎることを回避するように、コンテンツプロバイダの２つおよび１つのコンテンツアグリゲータのみが示されている。（これらのソースのそれぞれの異なるタイプを以下で議論する）。コンテンツプロバイダ４１６および４１８と、ユーザ機器デバイス４０２、４０４、および４０６との間の通信は、通信ネットワーク４１４を通したものとして示されているが、いくつかの実施形態では、コンテンツプロバイダ４１６および４１８は、パス４０８、４１０、および４１２に関連して上記で説明されるもの等の通信パス（図示せず）を介して、ユーザ機器デバイス４０２、４０４、および４０６と直接通信してもよい。ある場合には、コンテンツプロバイダ４１６および４１８とユーザ機器デバイス４０２、４０４、および４０６との間の通信は、コンテンツアグリゲータ４３０を通して起こる。例えば、ユーザテレビ機器４０２およびコンテンツプロバイダ４１６との間の通信は、パス４２６、４２８、および４０８を経由して起こってもよい。
【００８６】
コンテンツプロバイダ４１６および４１８は、テレビ配信施設、ケーブルシステムヘッドエンド、衛星配信施設、番組ソース（例えば、ＮＢＣ、ＡＢＣ、ＨＢＯ等のテレビ放送会社）、中間配信施設および／またはサーバ、インターネットプロバイダ、オンデマンドメディアサーバ（例えば、Ｎｅｔｆｌｉｘ、Ｈｕｌｕ、Ａｍａｚｏｎ等）、および他のコンテンツプロバイダを含む、１つまたはそれを上回るタイプのコンテンツ配信機器を含んでもよい。ＮＢＣは、Ｎａｔｉｏｎａｌ  Ｂｒｏａｄｃａｓｔｉｎｇ  Ｃｏｍｐａｎｙ，  Ｉｎｃ．によって所有される商標であり、ＡＢＣは、Ａｍｅｒｉｃａｎ  Ｂｒｏａｄｃａｓｔｉｎｇ  Ｃｏｍｐａｎｙ，  ＩＮＣ．によって所有される商標であり、ＨＢＯは、Ｈｏｍｅ  Ｂｏｘ  Ｏｆｆｉｃｅ，  Ｉｎｃ．によって所有される商標である。コンテンツプロバイダ４１６は、コンテンツの発信元であってもよく（例えば、テレビ放送会社、ウェブキャストプロバイダ等）、またはコンテンツの発信元でなくてもよい（例えば、オンデマンドコンテンツプロバイダ、ダウンロード用放送番組のコンテンツのインターネットプロバイダ等）。コンテンツプロバイダ４１６は、ケーブルソース、衛星プロバイダ、オンデマンドプロバイダ、インターネットプロバイダ、オーバーザトップコンテンツプロバイダ、または他のコンテンツのプロバイダを含んでもよい。コンテンツプロバイダ４１６はまた、ユーザ機器デバイスのうちのいずれかから遠隔の場所にある、異なるタイプのコンテンツ（ユーザによって選択されるビデオコンテンツを含む）を記憶するために使用される、遠隔メディアサーバを含んでもよい。コンテンツの遠隔記憶のため、および遠隔に記憶されたコンテンツをユーザ機器に提供するためのシステムおよび方法は、全体として参照することにより本明細書に組み込まれる、２０１０年７月２０日発行のＥｌｌｉｓらの米国特許第７，７６１，８９２号に関連して、さらに詳細に議論されている。
【００８７】
コンテンツアグリゲータ４３０は、上記で説明されるように、メディアガイドデータをコンテンツプロバイダ４１６および４１８から収集し、そのようなデータを提供してもよい。メディアガイドデータは、任意の好適なアプローチを使用して、ユーザ機器デバイスに提供されてもよい。いくつかの実施形態では、ガイドアプリケーションは、データフィード（例えば、継続フィードまたはトリクルフィード）を介して、番組ガイドデータを受信する、独立型双方向テレビ番組ガイドであってもよい。番組スケジュールデータおよび他のガイドデータは、テレビチャンネルのサイドバンド上で、帯域内デジタル信号を使用して、帯域外デジタル信号を使用して、または任意の他の好適なデータ伝送技術によって、ユーザ機器に提供されてもよい。番組スケジュールデータおよび他のメディアガイドデータは、複数のアナログまたはデジタルテレビチャンネル上でユーザ機器に提供されてもよい。いくつかの実施形態では、コンテンツアグリゲータ４３０上に実装される制御回路３０４は、パス４２６および４２４を経由してコンテンツプロバイダ４１６および４１８からメディアガイドデータの要求を伝送してもよい。
【００８８】
コンテンツアグリゲータ４３０は、機器デバイスのそれぞれの上にインストールされたクライアントを介して、機器デバイス４０２、４０４、および４０６と通信してもよい。例えば、ユーザが最初にコンテンツアグリゲータ購読を購読するとき、コンテンツアグリゲータ４３０上に実装される制御回路３０４は、機器デバイスへのクライアントアプリケーションの転送を促進してもよい。次いで、機器デバイス４０２、４０４、および４０６のそれぞれの上に実装される制御回路３０４は、コンテンツアグリゲータ４３０からクライアントアプリケーションをダウンロード、インストール、および再構成してもよい。次いで、クライアントアプリケーションは、コンテンツアグリゲータ４３０から機器デバイスへのメディアおよびメディアガイドデータの配信を促進してもよい。クライアントアプリケーションはさらに、ユーザが、ユーザ入力インターフェース３１０、デジタル著作権管理（ＤＲＭ）データをハンドリングするためのコード、およびディスプレイ３１２上で表示するためのメディアを生成するために必要とされるコーデックおよびプレーヤを使用して、メディア一覧と相互作用することを可能にするために、機器デバイス３００上に実装される制御回路３０４がディスプレイ３１２上で表示するために生成する、ユーザインターフェースを含んでもよい。いくつかの実施形態では、クライアントは、コンテンツプロバイダ４１６および４１８と直接通信するように構成されてもよい。コンテンツアグリゲータ４３０は、コンテンツアグリゲータ上に実装される制御回路３０４が、各機器デバイス上に実装されるクライアントから入力を受信し得るように、対応する通信インターフェースを含んでもよい。次いで、コンテンツアグリゲータ４３０上に実装される制御回路３０４は、通信インターフェースを使用して、各クライアントから、および各コンテンツプロバイダ４１６および４１８から、データを送受信してもよい。コンテンツアグリゲータ４３０は、加えて、コンテンツプロバイダ４１６および４１８からの購読者情報およびメディアコンテンツ一覧を記憶する１つまたはそれを上回るデータベースを含んでもよい。
【００８９】
いくつかの実施形態では、コンテンツアグリゲータ４３０は、機器デバイス４０２、４０４、および４０６上で利用可能なインターネットブラウザを介して、機器デバイスと通信してもよい。例えば、ユーザコンピュータ機器４０４は、Ｉｎｔｅｒｎｅｔ  Ｅｘｐｌｏｒｅｒの実装を含んでもよい。ユーザがコンテンツアグリゲータ購読のメディア提供にアクセスすることを希望する（例えば、ユーザが、ユーザが購読するコンテンツアグリゲータ購読の一部として利用可能なＮｅｔｆｔｉｘ一覧にアクセスすることを所望し得る）とき、機器デバイス４０４上に実装される制御回路３０４は、ディスプレイ３１２上でビデオモザイク表示２００を含有するブラウザウィンドウを出力してもよい。次いで、機器デバイス４０４上に実装される制御回路３０４は、ユーザがコンテンツアグリゲータ購読の一部である購読サービスからのコンテンツにアクセスすることを所望することを示す、選択をユーザ入力インターフェース３１０から受信してもよい。例えば、ユーザは、テキスト部分２１６（例えば、Ｎｅｔｆｌｉｘ）を強調表示して選択するようにマウスポインタに指図してもよい。次いで、機器デバイス４０４上に実装される制御回路３０４は、テキスト部分２１６に対応する入力を、インターネットブラウザを起動するプロセスに伝送してもよく、ブラウザが選択された購読サービスと関連付けられるインターネットウェブサイト（例えば、ｗｗｗ．ｎｅｔｆｌｉｘ．ｃｏｍ）を読み出して表示することを可能にする。
【００９０】
いくつかの実施形態では、コンテンツアグリゲータ４３０からのガイドデータは、クライアントサーバアプローチを使用して、ユーザの機器に提供されてもよい。例えば、ユーザ機器デバイスは、メディアガイドデータをサーバからプル配信してもよい、またはサーバは、メディアガイドデータをユーザ機器デバイスにプッシュ配信してもよい。いくつかの実施形態では、ユーザの機器上に常駐するガイドアプリケーションクライアントは、必要に応じて、例えば、ガイドデータが、古くなっているとき、またはユーザ機器デバイスが、データを受信するための要求をユーザから受信するとき、コンテンツアグリゲータ４３０とセッションを開始し、ガイドデータを取得してもよい。メディアガイドは、任意の好適な頻度で（例えば、継続的に、毎日、ユーザ指定期間で、システム指定期間で、ユーザ機器からの要求に応じて等）ユーザ機器に提供されてもよい。コンテンツアグリゲータ４３０は、ユーザ機器デバイス４０２、４０４、および４０６に、メディアガイドアプリケーション自体、またはメディアガイドアプリケーションのソフトウェア更新を提供してもよい。
【００９１】
いくつかの実施形態では、メディアガイドデータは、視聴者データを含んでもよい。例えば、視聴者データは、現在のおよび／または履歴ユーザアクティビティ情報（例えば、どのようなコンテンツをユーザが典型的に鑑賞するか、どの時刻にユーザがコンテンツを鑑賞するか、ユーザがソーシャルネットワークと相互作用するかどうか、どの時間にユーザがソーシャルネットワークと相互作用して情報をポストするか、どのようなタイプのコンテンツをユーザが典型的に鑑賞するか（例えば、有料ＴＶまたは無料ＴＶ）、気分、脳の活動情報等）を含んでもよい。メディアガイドデータはまた、購読データを含んでもよい。例えば、購読データは、所与のユーザが購読するソースまたはサービスおよび／または所与のユーザが以前に購読していたが、後にアクセスを打ち切ったソースまたはサービス（例えば、ユーザが有料チャンネルを購読するかどうか、ユーザが有料レベルのサービスを追加したかどうか、ユーザがインターネット速度を増加させたかどうか）を識別してもよい。いくつかの実施形態では、視聴者データおよび／または購読データは、１年を上回る期間の間の所与のユーザのパターンを識別してもよい。メディアガイドデータは、所与のユーザがサービス／ソースへのアクセスを打ち切るであろう可能性を示すスコアを生成するために使用される、モデル（例えば、残存者モデル）を含んでもよい。例えば、メディアガイドアプリケーションは、所与のユーザが特定のサービスまたはソースへのアクセスを打ち切るであろうかどうかの可能性を示す、値またはスコアを生成するためのモデルを使用して、購読データとともに視聴者データを処理してもよい。特に、より高いスコアは、ユーザが特定のサービスまたはソースへのアクセスを打ち切るであろう、より高いレベルの信頼性を示し得る。スコアに基づいて、メディアガイドアプリケーションは、ユーザがアクセスを打ち切る可能性が高いであろうものとしてスコアによって示される特定のサービスまたはソースをユーザが維持するように勧誘する宣伝および広告を生成してもよい。
【００９２】
メディアガイドアプリケーションは、例えば、ユーザ機器デバイス上に実装される独立型アプリケーションであってもよい。例えば、メディアガイドアプリケーションは、記憶装置３０８内に記憶され、機器デバイス３００の制御回路３０４によって実行され得る、ソフトウェアまたは一式の実行可能命令として実装されてもよい。いくつかの実施形態では、メディアガイドアプリケーションは、クライアント−サーバアプリケーションであってもよく、その場合、クライアントアプリケーションのみが、ユーザ機器デバイス上に常駐し、サーバアプリケーションは、遠隔サーバ上に常駐する。例えば、メディアガイドアプリケーションは、部分的に、機器デバイス３００の制御回路３０４上のクライアントアプリケーションとして、および部分的に遠隔サーバ上で、遠隔サーバの制御回路上で起動するサーバアプリケーションとして（例えば、コンテンツアグリゲータ４３０）、実装されてもよい。遠隔サーバの制御回路（コンテンツアグリゲータ４３０等）によって実行されると、メディアガイドアプリケーションは、制御回路に、ガイドアプリケーション表示を生成し、生成された表示をユーザ機器デバイスに伝送するように命令してもよい。サーバアプリケーションは、コンテンツアグリゲータ４３０の制御回路に、ユーザ機器上での記憶のためのデータを伝送するように命令してもよい。クライアントアプリケーションは、受信用ユーザ機器の制御回路に、ガイドアプリケーション表示を生成するように命令してもよい。
【００９３】
ユーザ機器デバイス４０２、４０４、および４０６に配信されるコンテンツおよび／またはメディアガイドデータは、オーバーザトップ（ＯＴＴ）コンテンツであってもよい。ＯＴＴコンテンツ配信は、上記で説明される任意のユーザ機器デバイスを含む、インターネット対応型ユーザデバイスが、ケーブルまたは衛星接続を経由して受信されるコンテンツに加え、上記で説明される任意のコンテンツを含む、インターネットを経由して転送されるコンテンツを受信することを可能にする。ＯＴＴコンテンツは、インターネットサービスプロバイダ（ＩＳＰ）によって提供されるインターネット接続を介して配信されるが、第三者も、コンテンツを配布する。ＩＳＰは、視聴能力、著作権、またはコンテンツの再配布に関与していなくてもよく、ＯＴＴコンテンツプロバイダによって提供されるＩＰパケットのみ転送してもよい。ＯＴＴコンテンツプロバイダの実施例は、ＩＰパケットを介して、オーディオおよびビデオを提供する、ＹＯＵＴＵＢＥ（登録商標）、ＮＥＴＦＬＩＸ、およびＨＵＬＵを含む。Ｙｏｕｔｕｂｅは、Ｇｏｏｇｌｅ  Ｉｎｃ．によって所有される商標であり、Ｎｅｔｆｌｉｘは、Ｎｅｔｆｌｉｘ，  Ｉｎｃ．によって所有される商標であり、Ｈｕｌｕは、Ｈｕｌｕ，  ＬＬＣ．によって所有される商標である。ＯＴＴコンテンツプロバイダは、加えて、または代替として、上記で説明されるメディアガイドデータを提供してもよい。コンテンツおよび／またはメディアガイドデータに加え、ＯＴＴコンテンツのプロバイダは、メディアガイドアプリケーション（例えば、ウェブベースのアプリケーションまたはクラウドベースのアプリケーション）を配布することができる、またはコンテンツは、ユーザ機器デバイス上に記憶されるメディアガイドアプリケーションによって表示されることができる。
【００９４】
メディアガイドシステム４００は、いくつかのアプローチまたはネットワーク構成を例証することを意図しており、これによって、ユーザ機器デバイスおよびコンテンツおよびガイドデータのソースは、コンテンツにアクセスし、メディアガイドを提供する目的で、相互と通信してもよい。本明細書に説明される実施形態は、これらのアプローチのうちのいずれか１つまたはサブセットにおいて、またはコンテンツを配信し、メディアガイドを提供するための他のアプローチを採用するシステムにおいて、適用されてもよい。以下の４つのアプローチは、図４の汎用実施例の具体的例証を提供する。
【００９５】
あるアプローチでは、ユーザ機器デバイスは、ホームネットワーク内で相互と通信してもよい。ユーザ機器デバイスは、上記で説明される短距離ポイントツーポイント通信方式を介して、ホームネットワーク上に提供されるハブまたは他の類似デバイスを通した間接パスを介して、または通信ネットワーク４１４を介して、直接相互と通信することができる。１つの家庭内の複数の個人のそれぞれが、ホームネットワーク上の異なるユーザ機器デバイスを動作させてもよい。結果として、種々のメディアガイド情報または設定が、異なるユーザ機器デバイス間で通信されることが望ましくあり得る。例えば、２００５年７月１１日出願のＥｌｌｉｓらの米国特許公開第２００５／０２５１８２７号でさらに詳細に説明されているように、ホームネットワーク内の異なるユーザ機器デバイス上で、ユーザが一貫したメディアガイドアプリケーション設定を維持することが望ましくあり得る。ホームネットワーク内の異なるタイプのユーザ機器デバイスがまた、相互と通信し、コンテンツを伝送してもよい。例えば、ユーザは、ユーザコンピュータ機器から携帯用ビデオプレーヤまたは携帯用音楽プレーヤにコンテンツを伝送してもよい。
【００９６】
第２のアプローチでは、ユーザは、複数のタイプのユーザ機器を有してもよく、これによって、コンテンツにアクセスし、メディアガイドを取得する。例えば、一部のユーザは、家庭内およびモバイルデバイスによってアクセスされる、ホームネットワークを有してもよい。ユーザは、遠隔デバイス上に実装されるメディアガイドアプリケーションを介して、家庭内デバイスを制御してもよい。例えば、ユーザは、そのオフィスのパーソナルコンピュータ、またはＰＤＡまたはウェブ対応携帯電話等のモバイルデバイスを介して、ウェブサイト上のオンラインメディアガイドアプリケーションにアクセスしてもよい。ユーザは、オンラインガイドアプリケーション上で種々の設定（例えば、録画、リマインダ、または他の設定）を設定して、ユーザの家庭内機器を制御してもよい。オンラインガイドは、直接、またはユーザの家庭内機器上のメディアガイドアプリケーションと通信することによって、ユーザの機器を制御してもよい。ユーザ機器デバイスが相互から遠隔の場所にある、ユーザ機器デバイスの通信のための種々のシステムおよび方法は、例えば、その全体を参照することにより本明細書に組み込まれる、Ｅｌｌｉｓらの２０１１年１０月２５日発行の米国特許第８，０４６，８０１号で議論されている。
【００９７】
第３のアプローチでは、家庭内外のユーザ機器デバイスのユーザは、コンテンツプロバイダ４１６と直接通信し、コンテンツにアクセスするために、そのメディアガイドアプリケーションを使用することができる。具体的には、家庭内では、ユーザテレビ機器４０２およびユーザコンピュータ機器４０４のユーザは、メディアガイドアプリケーションにアクセスし、所望のコンテンツ間をナビゲートし、それを特定してもよい。ユーザはまた、無線ユーザ通信デバイス４０６を使用して、家庭外のメディアガイドアプリケーションにアクセスし、所望のコンテンツ間をナビゲートし、それを特定してもよい。
【００９８】
第４のアプローチでは、ユーザ機器デバイスは、クラウドコンピューティング環境内で動作し、クラウドサービスにアクセスしてもよい。クラウドコンピューティング環境では、コンテンツ共有、記憶、または配布のための種々のタイプのコンピューティングサービス（例えば、ビデオ共有サイトまたはソーシャルネットワーキングサイト）が、「クラウド」と称される、ネットワーク−アクセス可能コンピューティングおよび記憶リソースの集合によって提供される。例えば、クラウドは、ネットワークを介して接続される、種々のタイプのユーザおよびデバイスにクラウドベースのサービス、例えば、通信ネットワーク４１４を介したインターネットを提供する、中央または分散場所に位置し得る、サーバコンピューティングデバイスの集合を含むことができる。これらのクラウドリソースは、１つまたはそれを上回るコンテンツプロバイダ４１６と、１つまたはそれを上回るコンテンツアグリゲータ４３０とを含んでもよい。加えて、または代替として、遠隔コンピューティングサイトは、ユーザテレビ機器４０２、ユーザコンピュータ機器４０４、および無線ユーザ通信デバイス４０６等の他のユーザ機器デバイスを含んでもよい。例えば、他のユーザ機器デバイスは、ビデオの記憶されたコピーまたはストリーミングされたビデオへのアクセスを提供してもよい。そのような実施形態では、ユーザ機器デバイスは、中央サーバと通信せずに、ピアツーピア様式で動作してもよい。
【００９９】
クラウドは、ユーザ機器デバイスのために、他の実施例の中でもとりわけ、コンテンツ記憶、コンテンツ共有、またはソーシャルネットワーキングサービス等のサービスへのアクセス、および上記で説明される任意のコンテンツへのアクセスを提供する。サービスは、クラウドコンピューティングサービスプロバイダを通して、またはオンラインサービスの他のプロバイダを通して、クラウド内で提供されることができる。例えば、クラウドベースのサービスは、コンテンツ記憶サービス、コンテンツ共有サイト、ソーシャルネットワーキングサイト、または他のサービスを含むことができ、それを介して、ユーザ供給コンテンツは、接続されたデバイス上の他者によって視聴するために配布される。これらのクラウドベースのサービスは、ユーザ機器デバイスが、コンテンツをローカルに記憶し、ローカルに記憶されたコンテンツにアクセスするのではなく、コンテンツをクラウドに記憶し、コンテンツをクラウドから受信することを可能にしてもよい。
【０１００】
ユーザは、カムコーダ、ビデオモード付きデジタルカメラ、オーディオレコーダ、携帯電話、およびハンドヘルドコンピューティングデバイス等の種々のコンテンツ捕捉デバイスを使用して、コンテンツを録画してもよい。ユーザは、直接、例えば、ユーザコンピュータ機器４０４から、またはコンテンツ捕捉特徴を有する、無線ユーザ通信デバイス４０６からのいずれかにおいて、クラウド上のコンテンツ記憶サービスにコンテンツをアップロードすることができる。代替として、ユーザは、最初に、コンテンツをユーザコンピュータ機器４０４等のユーザ機器デバイスに転送することができる。コンテンツを記憶するユーザ機器デバイスは、通信ネットワーク４１４上のデータ伝送サービスを使用して、コンテンツをクラウドにアップロードする。いくつかの実施形態では、ユーザ機器デバイス自体が、クラウドリソースであって、他のユーザ機器デバイスが、直接、ユーザがコンテンツを記憶したユーザ機器デバイスから、コンテンツにアクセスすることができる。
【０１０１】
クラウドリソースは、例えば、ウェブブラウザ、メディアガイドアプリケーション、デスクトップアプリケーション、モバイルアプリケーション、および／またはそれらのアクセスアプリケーションの任意の組み合わせを使用して、ユーザ機器デバイスによってアクセスされてもよい。ユーザ機器デバイスは、アプリケーション配信のためにクラウドコンピューティングに依拠する、クラウドクライアントであってもよい、またはユーザ機器デバイスは、クラウドリソースにアクセスせずに、いくつかの機能性を有してもよい。例えば、ユーザ機器デバイス上で起動するいくつかのアプリケーションは、クラウドアプリケーション、すなわち、インターネットを経由して、サービスとして配信されるアプリケーションであってもよい一方、他のアプリケーションは、ユーザ機器デバイス上に記憶され、起動されてもよい。いくつかの実施形態では、ユーザデバイスは、コンテンツを複数のクラウドリソースから同時に受信してもよい。例えば、ユーザデバイスは、オーディオを１つのクラウドリソースからストリーミングする一方、コンテンツを第２のクラウドリソースからダウンロードすることができる。または、ユーザデバイスは、より効率的なダウンロードのために、コンテンツを複数のクラウドリソースからダウンロードすることができる。いくつかの実施形態では、ユーザ機器デバイスは、図３に関連して説明される処理回路によって行われる処理動作等の処理動作のために、クラウドリソースを使用することができる。
【０１０２】
コンテンツ購読を提供するサービスは、多くの場合、ユーザがメディアを同時にストリーミングすることを可能にするために、有限数のストリームを各購読に配分する。しかしながら、各購読に配分されるストリームの数は、購読のタイプに基づいて限定される。事実上、購読の全ての利用可能なストリームが使用中であるとき、メディアをストリーミングすることを所望するコンテンツ購読のユーザは、ストリームが利用可能になるまで待機すること、または別のユーザによって使用されるストリームを制御することを選択することのいずれかを余儀なくされ得る。これは、例えば、エピソードが利用可能になるとすぐに、コンテンツ購読の全てのユーザがテレビ番組の新しいエピソードを視聴することに関心を持ち、ユーザの数が利用可能なストリームの数を超えるときに、ユーザにとって特に不満になる。さらに、ユーザは、付加的ストリームを購入するオプションを認識していない場合があり、また、ストリームが利用不可能であることに起因して、コンテンツ購読の他のユーザ自身がコンテンツを視聴できないことを知る頻度を認識していない場合がある。
【０１０３】
故に、複数の購読サービスのための複数のアカウントを管理しなければならないことからユーザを解放する、メディアガイドアプリケーションのための方法およびシステムが本明細書に説明される。例えば、ユーザの代わりにユーザアクティビティを監視し、ユーザアカウントを管理することによって、制御回路３０４は、ユーザの個々の必要性に合わせられた購読サービスおよび／または購読サービスの規約を推奨してもよい。
【０１０４】
さらに、制御回路３０４は、ユーザの必要性を最良に満たす購読サービスおよび／または特定の購読サービスからの特定のプランを判定するために、ユーザの代わりに作用し、多数のコンテンツプロバイダから大量のデータを読み出して処理してもよい。以下で綿密に議論されるように、メディアガイドアプリケーションは、ユーザの利益のための動向および統計的最適化を識別するために、別個かつ異種のデータセットを比較することによって、（多くの場合、コンピュータ可読コードのみでアクセス可能な）大量のデータを処理してもよい。
【０１０５】
いくつかの実施形態では、制御回路３０４は、購読サービスからユーザに利用可能である、利用可能なストリームの数を、ユーザと関連付けられる購読と関連付けるように構成されてもよい。制御回路３０４は、メディアコンテンツプロバイダ４１６内またはコンテンツアグリゲータ４３０内等のサーバにおいて実装されてもよい。コンテンツアグリゲータ４３０上に実装される制御回路３０４は、通信ネットワーク４１４を使用して、購読にアクセスするユーザによって使用される種々のデバイスと通信してもよい。これらのデバイスは、ユーザテレビ機器４０２、ユーザコンピュータ機器４０４、および無線ユーザ通信デバイス４０６を含んでもよい。例えば、制御回路３０４は、メディアコンテンツプロバイダ４１６からコンピュータ機器４０４にメディアコンテンツ（例えば、テレビ番組「Ｔｈｅ  Ｓｉｍｐｓｏｎｓ」のエピソード）をストリーミングする要求を受信する。次いで、コンテンツアグリゲータ４３０上に実装される制御回路３０４が、要求の数が利用可能なストリームの数を超えないことを判定するならば、コンテンツアグリゲータ４３０上に実装される制御回路３０４は、通信ネットワーク４１４を使用して、メディアコンテンツをユーザコンピュータ機器４０４にストリーミングする。
【０１０６】
いくつかの実施形態では、制御回路３０４は、記憶装置３０８の中に記憶されたログの中に各要求と関連付けられるデータを記録してもよい。例えば、メディアコンテンツをストリーミングする要求に応答して、制御回路３０４は、要求と関連付けられるタイムスタンプ、要求されたメディアコンテンツの参照（例えば、テレビ番組「Ｔｈｅ  Ｓｉｍｐｓｏｎｓ」のエピソードの参照）、コンテンツを要求するユーザの識別子、ユーザがコンテンツを要求するために使用しているデバイスの識別子、および要求の時間に利用可能なストリームの数を記録する。加えて、制御回路３０４は、要求が果たされたかどうかというインジケーションを記憶してもよい。本インジケーションを提供するために、制御回路３０４は、要求時に、利用可能なストリームの数を、メディアをストリーミングする要求の総数と比較してもよい。次いで、制御回路３０４は、要求が果たされたかどうかというインジケーションを記憶してもよい。
【０１０７】
いくつかの実施形態では、制御回路３０４は、記憶装置３０８の中に記憶されたログの中に、メディアデータをストリーミングする各要求と関連付けられる開始タイムスタンプおよび終了タイムスタンプを記録してもよい。制御回路３０４は、タイムスタンプを各インスタンスに相関させることによって、不十分な数の利用可能なストリームにより、ユーザがコンテンツをストリーミングすることができなかった、これらのインスタンスを効果的に記録するために、タイムスタンプを利用してもよい。例えば、開始タイムスタンプは、制御回路３０４がメディアをユーザデバイスにストリーミングする要求を受信した時間または時間の近くに対応する。終了タイムスタンプは、制御回路３０４がストリームをユーザデバイスに送信しなくなった時間または時間の近く（例えば、メディアの再生が完了したとき、またはユーザがメディアの再生を終了させることを要求したとき）を示してもよい。制御回路３０４がメディアをデバイスにストリーミングする要求を受信し、要求が受信される時間における全要求の数がユーザに利用可能なストリームの数を超えるときに、制御回路３０４は、メディアをストリーミングする要求が満たされなかったことを示すよう、終了タイムスタンプを記録することなく、開始タイムスタンプのみを記録してもよい。
【０１０８】
いくつかの実施形態では、制御回路３０４は、有限数のストリームを購読と関連付けてもよい。例えば、制御回路３０４は、９つのストリームをユーザＲｏｂｅｒｔの購読と関連付ける。換言すると、９つのストリームが、Ｒｏｂｅｒｔがコンテンツをストリーミングするのに使用するために利用可能である。故に、任意の他のユーザがＲｏｂｅｒｔの購読を使用してメディアをストリーミングすることを要求するならば、要求が行われる時間に、要求の数が利用可能なストリームの数を超えない限り、それらの要求が果たされるであろう。
【０１０９】
いくつかの実施形態では、制御回路３０４は、購読サービスから異なるデバイスにメディアを同時にストリーミングする要求の数が、購読サービスからユーザに利用可能なストリームの数を超える、複数のインスタンスを検出してもよい。例えば、制御回路３０４は、記録と関連付けられる所与の要求が果たされなかったことを示す識別子を含む記録を識別するために、記憶装置３０８内のログの中に記憶された記録を読み出す。別の実施例では、制御回路３０４は、記憶装置３０８の中に記憶されたログから、要求と関連付けられる開始タイムスタンプを読み出す。読み出された開始タイムスタンプ毎に、制御回路３０４は、一対の開始タイムスタンプおよび終了タイムスタンプによって定義されるタイムスタンプ範囲との重複の数を判定してもよい。例えば、タイムスタンプ範囲は、開始タイムスタンプ（すなわち、制御回路３０４がメディアをユーザデバイスにストリーミングする要求を受信した時間または時間の近くと関連付けられる時間に対応する）と終了タイムスタンプ（すなわち、制御回路３０４がストリームをユーザデバイスに送信しなくなった時間または時間の近くに対応する）との間の持続時間に対応する。次いで、制御回路３０４は、重複の数が購読サービスからユーザに利用可能なストリームの数を上回るかどうかを判定してもよい。重複の数が利用可能なストリームの数を上回る場合において、制御回路３０４は、重複をインスタンスと関連付けてもよい。制御回路３０４はさらに、購読サービスから異なるデバイスにメディアを同時にストリーミングする要求の数が、購読サービスからユーザに利用可能なストリームの数を超える、インスタンスの数を判定するように、ログの中に記憶された全てのタイムスタンプまたはタイムスタンプのサブセットを分析してもよい。例えば、制御回路３０４は、購読サービスから異なるデバイスにメディアを同時にストリーミングする要求の数が、購読サービスからユーザに利用可能なストリームの数を超える、１２のインスタンスを検出する。換言すると、１２の機会に、少なくとも１人のユーザは、購読サービスからのストリームにアクセスすることができなかった。
【０１１０】
いくつかの実施形態では、制御回路３０４は、複数のタイムスタンプがそれぞれ、複数のインスタンスのうちの１つに対応する、複数のタイムスタンプを生成してもよい。例えば、購読サービスから異なるデバイスにメディアを同時にストリーミングする要求の数が、購読サービスからユーザに利用可能なストリームの数を超える、インスタンスの数を検出することに基づいて、制御回路３０４は、記憶装置３０８内のリストの中に各インスタンスと関連付けられるタイムスタンプを記憶する。開始タイムスタンプおよび終了タイムスタンプを分析する上記の実施例を続けると、制御回路３０４は、購読サービスから異なるデバイスにメディアを同時にストリーミングする要求の数が、購読サービスからユーザに利用可能なストリームの数を超える、複数のインスタンスを検出した後、各インスタンスを対応する開始タイムスタンプと関連付ける。例えば、制御回路３０４が、購読サービスから異なるデバイスにメディアを同時にストリーミングする要求の数が購読サービスからユーザに利用可能なストリームの数を超える、１２のインスタンスを検出する場合、制御回路３０４は、各タイムスタンプが１２のインスタンスのうちの１つに対応する、タイムスタンプのリストを生成し、記憶装置３０８の中に記憶する。
【０１１１】
いくつかの実施形態では、制御回路３０４は、複数のタイムスタンプのそれぞれを、購読サービスのための購読期間に対応するタイムスタンプの範囲と比較し、購読期間中に起こった複数のインスタンスの数を判定してもよい。例えば、制御回路３０４が１２のタイムスタンプを生成する場合には、制御回路３０４は、１２のタイムスタンプのそれぞれを購読サービスのための購読期間と比較し、購読期間に入るインスタンスの数を（それらの対応するタイムスタンプに基づいて）判定する。以前に議論されたように、購読期間は、開始タイムスタンプおよび終了タイムスタンプによって定義されてもよい。次いで、制御回路３０４は、１２のタイムスタンプのそれぞれを比較し、各タイムスタンプが購読期間の開始および終了タイムスタンプによって定義される時間の範囲内に入るかどうかを判定する。範囲内に入るタイムスタンプの数に基づいて、制御回路３０４は、購読期間中に起こった複数のインスタンスの数を判定してもよい。例えば、制御回路３０４は、１２の生成されたタイムスタンプのうち、９つが購読期間の開始および終了タイムスタンプによって定義される時間の範囲内に入ることを判定する。
【０１１２】
いくつかの実施形態では、制御回路３０４は、サーバにおいて、購読期間中に起こった複数のインスタンスの数を購読期間の閾値数と比較してもよい。例えば、閾値数は、その後にユーザが利用可能なストリームの不足に不満を感じ得る、インスタンスの数を示してもよい。閾値数を超えたかどうかを判定することによって、制御回路は、ユーザが付加的ストリームを取得することを所望する可能性が高いかどうかを判定してもよい。以下でより明白となるように、制御回路３０４は、購読期間の閾値数を判定するために、異なるアプローチを利用してもよい。したがって、単一の静的閾値に依拠する代わりに、制御回路は、個々のユーザが利用不可能なストリームを許容する様々な能力を有するため、ユーザの視聴習慣から導出される閾値を適用してもよい。例えば、制御回路３０４は、購読サービスからユーザに利用可能なストリームの数を閾値数の基礎とする。例えば、制御回路３０４は、利用不可能なストリームに常に直面しているユーザを標的にする。その目的で、制御回路３０４が、購読サービスからユーザに利用可能なストリームの数（例えば、９つのストリーム）が購読サービスの平均的ユーザに利用可能なストリームの平均数よりも大きい（例えば、平均的ユーザが２つだけのストリームと関連付けられ得る）ことを判定する場合、制御回路３０４は、閾値数をより小さい数（例えば、４）に設定する。複数のストリームと関連付けられる購読におけるユーザが、ストリーミング対立を最小限にするように、余分なストリームを前もって追加している場合があるため、そのようなユーザは、さらなるストリーミング対立を体験することにすでに敏感であり得る。したがって、制御回路３０４は、ストリーミング対立の数がより低い閾値を超えるときに、そのようなシステムにおけるユーザを標的にしてもよい。
【０１１３】
いくつかの実施形態では、制御回路３０４は、購読期間中に起こった複数のインスタンスの数が購読期間の閾値数を超えることを判定するステップに応答して、通信ネットワーク４１４を介して、サーバから異なるデバイスのうちの１つにメッセージを伝送してもよい。メッセージを伝送することによって、制御回路３０４は、コンテンツをストリーミングできないことに対するユーザの不満に対処してもよく、かつユーザが利用可能なストリームの不十分な数量という問題に対処する機会を提供してもよい。制御回路３０４は、データストリーム入力および出力メトリックと比較したときに、他の変数（例えば、価格）を制御しながら、代替購読サービス／プランがユーザに利用可能なストリーム数を向上させ得るかどうかを判定してもよい。該当する場合、制御回路は、（例えば、付加的ストリームが購入するために利用可能であることを示す）代替購読サービス／プランを推奨するメッセージを伝送してもよい。例えば、購読期間中に起こった複数のインスタンスの数（例えば、１２）が閾値数（例えば、８）を超えることを判定するステップに応答して、制御回路３０４は、デバイスと関連付けられるユーザが付加的ストリームを購入できることを示す、メッセージをサーバからデバイスに伝送する。制御回路３０４は、頻繁なストリーミング対立に起因して、ユーザが付加的ストリームを購入できることを示すようにメッセージを生成してもよい。制御回路３０４は、ユーザテレビ機器４０２、ユーザコンピュータ機器４０４、または無線通信デバイス４０６のディスプレイ３１２上に表示するためにメッセージを伝送してもよい。例えば、制御回路３０４は、ユーザテレビ機器４０２のディスプレイ３１２上に表示される、番組一覧表示１００内で表示するためにメッセージを生成する。
【０１１４】
いくつかの実施形態では、制御回路３０４は、購読期間の時間の長さに基づいて、複数の潜在的閾値数から購読期間の閾値数を選択してもよい。制御回路３０４は、記憶装置３０８の中に記憶された購読と関連付けられるデータにアクセスすることによって、購読期間と関連付けられる時間の長さを判定してもよい。例えば、制御回路３０４は、購読期間の開始タイムスタンプおよび終了タイムスタンプに基づいて、購読期間の長さを判定する。例えば、制御回路３０４は、１ヶ月の購読期間を判定する。本実施例では、購読サービスからメディアを同時にストリーミングする要求の数が購読サービスからユーザに利用可能なストリームの数を超える、インスタンスの数が多くなりそうにないため、ユーザがストリームの数を増加させる、または自分の視聴習慣を改変する必要性を知覚しない場合に、ユーザがメッセージに従って行動することに関心がない場合があるため、低い閾値を設定することは望ましくない場合がある。その目的で、制御回路３０４は、平均して、購読サービスからメディアを同時にストリーミングする要求の数が、例えば、６ヶ月の期間と比較して、１ヶ月の期間中に、購読サービスからユーザに利用可能なストリームの数を超える、少数のインスタンスがあり得るという事実を考慮するよう、低い閾値数（例えば、１０）を選択する。故に、制御回路３０４は、時間の長さがより長い（例えば、１年）と判定される場合、より大きい閾値を設定する。
【０１１５】
いくつかの実施形態では、制御回路３０４は、記憶装置３０８の中に購読期間と関連する複数の閾値を記憶してもよい。例えば、制御回路３０４は、ストリーミング対立（例えば、購読サービスからメディアを同時にストリーミングする要求の数が、購読サービスからユーザに利用可能なストリームの数を超える、インスタンスの数）が、どれだけ頻繁に所与の長さの購読期間中に起こるかを分析する。制御回路３０４はさらに、対立が購読期間中に起こったインスタンスを、ユーザが自分の購読に関連するアクションを行ったインスタンスと相関させる。例えば、制御回路３０４は、いくつかの対立が起こった時間の前後に、ユーザが新しいストリームを自分の購読に追加したこと（例えば、ユーザがストリーミング対立に不満を感じ、利用可能なストリームの数を増加させることによって、将来のストリーミング対立を回避するように作用した状況）を判定する。別の実施例では、制御回路３０４は、ある数の対立が起こった時間の前後に、ユーザが自分の購読をキャンセルしたこと（例えば、ユーザがストリーミング対立に不満を感じ、故に、自分の購読をキャンセルするように作用した状況）を判定する。制御回路３０４は、購読期間長と関連付ける有効閾値数を判定するために、購読に行われるアクションがある数のストリーミング対立と相関させられる、これらのインスタンスに統計分析を行ってもよい。このようにして、制御回路３０４は、有用なメッセージを伝送する一方で、同時に、ストリーミング対立に対する不満を体験する可能性が低くあり得る他のユーザの妨害を回避することによって、ストリーミング対立によって不満を感じたユーザを効果的に標的にすることを可能にするであろう、閾値数を判定する。制御回路３０４は、記憶装置３０８内の所与の購読期間と関連付けられる記録の中に閾値数を保存してもよい。
【０１１６】
いくつかの実施形態では、制御回路３０４は、購読サービスからユーザに利用可能なストリームの数に基づいて、複数の潜在的閾値数から購読期間の閾値数を選択してもよい。例えば、１つまたは２つだけのストリームが利用可能であるときに、ストリーミング対立が起こる可能性がより高いため、購読サービスからユーザに利用可能な少数のストリームによって特徴付けられる購読のユーザは、メディアを同時にストリーミングする要求の数が、どれだけ頻繁に購読サービスからユーザに利用可能なストリームの数を超えるかを理解しようとする可能性がより高い。その一方で、殆どのストリーミング対立を回避するために、ユーザの購読の中にすでに十分なストリームがある可能性がより高いため、購読サービスからユーザに利用可能な多数のストリームによって特徴付けられる購読のユーザは、メディアを同時にストリーミングする要求の数が、どれだけ頻繁に購読サービスからユーザに利用可能なストリームの数を超えるかを理解することに関心がある可能性が低い。
【０１１７】
いくつかの実施形態では、制御回路３０４は、記憶装置３０８の中に購読サービスからユーザに利用可能なストリームの数と関連する複数の閾値を記憶してもよい。例えば、制御回路３０４は、対立（例えば、購読サービスからメディアを同時にストリーミングする要求の数が、購読サービスからユーザに利用可能なストリームの数を超える、インスタンスの数）が、どれだけ頻繁にユーザに潜在的に利用可能にされ得るストリームの数毎に起こるかを分析する。例えば、制御回路３０４は、１つだけのストリームがユーザに利用可能であるとき、２つのストリームが利用可能であるとき等に起こる、対立の平均数を判定する。制御回路３０４はさらに、利用可能なストリームの数毎に起こる対立の平均数を、ユーザが自分の購読に関連するアクションを行ったインスタンスと相関させてもよい。例えば、制御回路３０４は、１つだけの利用可能なストリームがあるときに、ユーザが頻繁に新しいストリームを自分の購読に追加すること（例えば、ユーザがメディアを１つだけのデバイスにストリーミングすることができ、したがってユーザが、利用可能なストリームの数を増加させることによって、将来のストリーミング対立を回避するように作用した状況）を判定する。別の実施例では、制御回路３０４は、ある数の対立が起こった時間の前後に、ユーザが自分の購読をキャンセルしたこと（例えば、ユーザがストリーミング対立に不満を感じ、したがって、自分の購読をキャンセルするように作用した状況）を判定する。制御回路３０４は、購読期間長と関連付ける閾値数を判定するために、購読に行われるアクションが利用可能なストリームの数と相関させられる、これらのインスタンスに統計分析を行ってもよい。次いで、制御回路３０４は、記憶装置３０８内の購読と関連付けられる記録の中に閾値数を保存してもよい。
【０１１８】
いくつかの実施形態では、制御回路３０４は、複数のタイムスタンプのそれぞれを、購読サービスのための購読期間の一部に対応するタイムスタンプの範囲と比較し、購読期間の一部の間に起こった複数のインスタンスの数を判定してもよい。例えば、制御回路３０４は、タイムスタンプのそれぞれを、人気の番組が放送される購読期間の一部（例えば、番組「Ｔｈｅ  Ｓｉｍｐｓｏｎｓ」の新しいエピソードの放送に対応する、水曜日の午後７時から午後９時のタイムスロットに対応し得る購読期間の全ての部分）に対応するタイムスタンプの範囲と比較し、購読期間の一部に対応するタイムスタンプの範囲内の１０のタイムスタンプの発生を判定する。
【０１１９】
いくつかの実施形態では、制御回路３０４は、その間にユーザが頻繁にメディアをストリーミングする、１日、１週間、または１ヶ月の間の時間を識別することによって、購読期間の一部を判定してもよい。例えば、制御回路３０４は、記憶装置３０８内のログの中に記憶されたデータを分析することによって、全ストリーム消費のある割合（例えば、７５％）に対応する１週間の時間を識別することに基づいて、購読期間の部分を識別する。例えば、制御回路３０４は、購読期間中の全てのメディアストリーミングの７５％が午後６時〜午後１２時の間に（例えば、ユーザが仕事または学校から帰った後に）起こったことを判定する。次いで、制御回路３０４は、毎日午後６時〜午後１２時によって定義される時間範囲のみを含むように購読期間の一部を定義する。
【０１２０】
さらに、制御回路３０４は、サーバにおいて、購読期間の一部の間に起こった複数のインスタンスの数を購読期間の一部の閾値数と比較してもよい。例えば、制御回路３０４は、購読期間の一部の間に起こった複数のインスタンスの数（例えば、８）を閾値数（例えば、６）と比較する。
【０１２１】
いくつかの実施形態では、制御回路３０４は、購読期間の一部の間に起こった複数のインスタンスの数が購読期間の一部の閾値数を超えることを判定するステップに応答して、サーバから異なるデバイスのうちの１つへ伝送されるメッセージを修正してもよい。例えば、制御回路３０４は、購読期間の一部の間に起こった複数のインスタンスの数（例えば、８）が閾値数（例えば、６）を超えることを判定する。応答して、制御回路３０４は、例えば、メディアを同時にストリーミングする要求の数が、多くの場合、購読期間の対応する部分の間に（例えば、番組「Ｔｈｅ  Ｓｉｍｐｓｏｎｓ」の新しいエピソードの放送に対応し得る、水曜日の午後７時〜午後９時の間のタイムスロットの間に）購読サービスからユーザに利用可能なストリームの数を超えることを示すことによって、サーバからデバイスのうちの１つに伝送される、メッセージを修正する。例えば、制御回路３０４は、「あなたの購読と関連付けられる他のユーザが、おそらく新しいＴｈｅ  Ｓｉｍｐｓｏｎｓエピソードを鑑賞する予定のため、本日、午後７時前に番組を視聴することを検討して下さい」等のメッセージを生成する。代替として、制御回路３０４は、購読期間の一部の間に起こった複数のインスタンスの数（例えば、８）が閾値数（例えば、６）を超えることを判定するステップに応答して、付加的ストリームが購入され得ることを示す、メッセージを生成してもよい。例えば、制御回路３０４は「あなたの購読はあなたの視聴習慣をサポートしていないようです。あなたの購読の中のストリームの数を増加させる方法を知りたいですか？」等のメッセージを生成する。
【０１２２】
いくつかの実施形態では、制御回路３０４は、購読期間の時間の長さに基づいて、複数の潜在的閾値数から購読期間の一部の閾値数を選択してもよい。例えば、購読期間の時間の長さに基づいて、複数の潜在的閾値数から購読期間の閾値数を選択することに関連して上記で説明されるように、制御回路３０４は、購読期間の一部の閾値数を選択するように、類似原理を適用してもよい。
【０１２３】
いくつかの実施形態では、制御回路３０４は、購読期間の一部に対応する日付に基づいて、複数の潜在的閾値数から購読期間の一部の閾値数を選択してもよい。例えば、制御回路３０４は、通信ネットワーク４１４を介してクエリをコンテンツアグリゲータ４３０に送信することによって、人気のテレビ番組（例えば、「Ｔｈｅ  Ｓｉｍｐｓｏｎｓ」）のシーズンプレミアが購読期間の一部に入ることを判定する。制御回路３０４は、応答して、購読のユーザの大多数が人気のテレビ番組（例えば、「Ｔｈｅ  Ｓｉｍｐｓｏｎｓ」）のシーズンのエピソードを視聴することに関心があるという事実を考慮するよう、購読期間の一部のために低い閾値数を選択してもよい。このようにして、ユーザは、ユーザがストリーミング対立を気に掛ける可能性がより高い時間に、ストリーミング対立について知らされる可能性がより高くあり得る。別の実施例では、制御回路３０４は、夏の月（例えば、６月、７月、および８月）に対応する日付が購読期間の一部内で起こることを判定する。夏の月は、通常、より少ない新しいテレビ番組が放送されていることと関連付けられる。加えて、子供のいるユーザは、メディアをストリーミングすることに少ない時間を費やす可能性がより高く、したがって、ユーザは、代わりに、他の季節の月と比較して、より多くの時間を休暇および屋外で過ごし得る。したがって、夏の月の間に、ユーザは、ストリーミング対立によって不満をあまり感じない場合があり、ストリーミング対立はまた、起こる可能性が低くあり得る。故に、制御回路３０４は、６月、７月、または８月の月に入る購読期間の一部に対応する日付に基づいて、複数の潜在的閾値数から購読期間の一部のために高い閾値を設定してもよい。このようにして、ユーザは、ユーザがメディアを低頻度でストリーミングし得る月の間に、存在する場合、より少ないメッセージを受信してもよい。
【０１２４】
いくつかの実施形態では、制御回路３０４は、購読期間の一部に対応する時刻に基づいて、複数の潜在的閾値数から購読期間の一部の閾値数を選択してもよい。例えば、制御回路３０４は、購読と関連付けられるプロファイルにアクセスすることによって、ユーザの視聴履歴を監視する。一実施例では、制御回路３０４は、ユーザテレビ機器４０２、ユーザコンピュータ機器４０４、または無線ユーザ通信デバイス４０６上の購読データの中に記憶されたユーザ履歴にクエリを行う。異なる実施例では、制御回路３０４は、メディアガイドデータソースの記憶装置３０８上のユーザ履歴にクエリを行う。制御回路３０４は、ユーザ履歴を分析することによって、その間にユーザがメディアをストリーミングする可能性が最も高い時間を判定する。一実施例では、制御回路３０４は、殆どのユーザが夜間に（例えば、仕事または学校から帰った後に）メディアをストリーミングすることを判定する。制御回路３０４は、ユーザが自分の視聴習慣およびストリーミングの必要性を理解することに役立つために、その間にユーザがメディアをストリーミングする可能性が最も高い時間のために低い閾値数を選択してもよい。例えば、購読期間の一部（例えば、所与の日の間の午後８時〜午後１０時の間のタイムスロット）が、購読のユーザがメディアをストリーミングする可能性が最も高い時間に対応することを判定するステップに応答して、制御回路３０４は、（例えば、ユーザが仕事および学校から帰った後に、ストリーミング対立が起こる可能性がより高いという事実を考慮するように）低い閾値数を選択する。
【０１２５】
いくつかの実施形態では、制御回路３０４は、購読期間の一部の間に購読サービスから利用可能になったメディアアセットの数に基づいて、複数の潜在的閾値数から購読期間の一部の閾値数を選択してもよい。例えば、いくつかの購読サービスは、新しいメディアアセットを定期的に追加することによって、それらのコンテンツ提供を改良する。これが起こるならば、ユーザは、新しいメディアアセットが利用可能になる前にユーザが有したよりも多くのメディアをストリーミングすることに関心を持ち得る。したがって、より多くのストリーミング対立が起こる可能性が高い。制御回路３０４は、購読期間の一部の間に購読サービスメディア提供に追加されたメディアアセットの数に基づいて、購読期間の一部の間に購読サービスから利用可能になったメディアアセットの数を判定してもよい。制御回路３０４は、通信ネットワーク４０４を経由してクエリをコンテンツアグリゲータ４３０に送信することによって、購読期間の一部の間に購読サービスから利用可能になったメディアアセットの数を判定してもよい。そのようなクエリは、購読期間の一部に対応する時間期間中に購読サービスの提供に追加されたメディアアセットの数を要求してもよい。例えば、購読期間の一部の間に購読サービスから利用可能になったメディアアセットの数が、購読期間の他の部分の間に購読サービスから利用可能になったメディアアセットの数と比較して大きい場合、制御回路３０４は、購読のユーザが、（例えば、最近追加されたため）以前にストリーミングされていないメディアアセットをストリーミングする可能性がより高く、したがって、どれだけ頻繁に要求の数が購読サービスからユーザに利用可能なストリームの数を超えるかを理解することを所望する可能性がより高くあり得るという事実を考慮するよう、低い閾値数を設定する。
【０１２６】
いくつかの実施形態では、制御回路３０４は、複数のインスタンスの頻度を低減させるための推奨を含む、メッセージを伝送してもよい。例えば、購読期間中に起こった複数のインスタンスの数が購読期間の閾値数を超えることを判定するステップに応じて、制御回路３０４は、サーバから異なるデバイスのうちの１つにメッセージを伝送する。メッセージは、複数のインスタンスの頻度を低減させるための推奨を含んでもよい。例えば、制御回路３０４は、ユーザがある時間外に（例えば、ユーザがストリーミングすることに関心がある、番組「Ｔｈｅ  Ｓｉｍｐｓｏｎｓ」の新しいエピソードの放送に対応し得る、水曜日の午後７時から午後９時のタイムスロット外に）メディアを正常にストリーミングする可能性がより高いであろうことをユーザに知らせる。メッセージは、ストリーミング対立についてユーザに知らせるときに有用であり得る、情報を含んでもよい。例えば、そのような情報は、メディアアセットの名称、ユーザの名前、購読期間中に起こるストリーミング対立の数、購読の中のストリームの数を増加または減少させるための命令、および将来のストリーミング対立の数を最小限にさせる方法の推奨を含む。
【０１２７】
図５および６は、本開示のいくつかの実施形態による、制御回路（例えば、制御回路３０４）が、購読サービスから異なるデバイスにメディアを同時にストリーミングするインスタンスの数が、購読期間中の利用可能なストリームの数を超える、インスタンスの数を検出するため、かつインスタンスの数がある数を超えるときにメッセージをデバイスのうちの１つに伝送するためのアルゴリズムを提示する。いくつかの実施形態では、本アルゴリズムは、処理回路（例えば、処理回路３０６）によって復号および実行される命令のセットとして、非一過性記憶媒体（例えば、記憶デバイス３０８）上に符号化されてもよい。処理回路は、ひいては、同調、ビデオ生成、符号化、復号、暗号化、解読、スケーリング、アナログ／デジタル変換回路、および同等物等の制御回路３０４内に含有される他のサブ回路に命令を提供してもよい。
【０１２８】
図５のフローチャートは、本開示のいくつかの実施形態による、制御回路（例えば、制御回路３０４）が購読期間内に起こったインスタンスの数を判定するためのアルゴリズムを説明する。
【０１２９】
ステップ５０２では、メディアをストリーミングする要求に基づいて、購読サービスから異なるデバイスにメディアを同時にストリーミングする要求の数が、利用可能なストリームの数を超える、購読期間内に起こったインスタンスの数を検出するアルゴリズムが、始まるであろう。いくつかの実施形態では、これは、直接または間接的のいずれかで、（例えば、制御回路３０４またはユーザ入力インターフェース３１０によって受信される信号からの）ユーザアクションまたは入力に応答して行われてもよい。例えば、アルゴリズムは、制御回路３０４がユーザ入力インターフェース３１０から信号を受信することに直接応答して開始してもよい、または制御回路３０４は、アルゴリズムを起動することに先立って、（例えば、ディスプレイ３１２上に表示されるプロンプトを生成することによって）表示を使用して自分の入力を確認するようにユーザを促してもよい。
【０１３０】
ステップ５０４では、制御回路３０４は続いて、記憶されたメモリからタイムスタンプの次のインスタンスを読み出す。いくつかの実施形態では、制御回路３０４は、タイムスタンプの値を表す単一の基本データ構造を受信してもよい。いくつかの実施形態では、値は、より大きいデータ構造の一部として記憶されてもよく、制御回路３０４は、より大きいデータ構造から値を読み出すように適切なアクセサ方法を実行することによって、値を読み出してもよい。
【０１３１】
ステップ５０６では、制御回路３０４は続けて、読み出されたタイムスタンプの値を、購読期間と関連付けられる開始タイムスタンプの記憶された値および終了タイムスタンプの記憶された値と比較する。いくつかの実施形態では、購読期間と関連付けられる開始タイムスタンプの値および終了タイムスタンプの記憶された値は、アルゴリズムを開始することに先立って、（例えば、記憶デバイス３０８上に）記憶されてもよい。いくつかの実施形態では、購読と関連付けられる開始タイムスタンプの値および終了タイムスタンプの値はまた、読み出されたタイムスタンプのありとあらゆるインスタンスについて読み出されてもよく、購読と関連付けられる開始タイムスタンプおよび終了タイムスタンプの値は、反復によって変化し得る。いくつかの実施形態では、制御回路３０４は、それぞれ、メモリから値にアクセスし、値の比較を行うことによって、購読と関連付けられる開始タイムスタンプの値および終了タイムスタンプの記憶された値を、読み出されたタイムスタンプの値と直接比較してもよい。いくつかの事例では、制御回路３０４は、読み出されたタイムスタンプおよび購読と関連付けられる開始タイムスタンプおよび終了タイムスタンプの記憶された値を比較するように、（例えば、物体間比較のための）比較関数を呼び出してもよい。
【０１３２】
ステップ５０８では、制御回路３０４は、読み出されたタイムスタンプの値および購読と関連付けられる終了タイムスタンプの記憶された値を比較し、読み出されたタイムスタンプの値が、購読と関連付けられる終了タイムスタンプの値を上回るかどうかを判定する。条件が満たされる場合、アルゴリズムは、ステップ５１０に進んでもよい。条件が満たされない場合、アルゴリズムは、代わりにステップ５１２に進んでもよい。
【０１３３】
ステップ５１０では、制御回路３０４は、ステップ５０８における条件が満たされていることに基づいて、読み出されたタイムスタンプと関連付けられるインスタンスを無視するようにサブルーチンを実行するであろう。サブルーチンが実行された後、アルゴリズムは、ステップ５１６に進んでもよく、読み出されたタイムスタンプの全てのインスタンスが考慮され、さらなる反復が必要とされるかどうかが判定される。
【０１３４】
ステップ５１２では、制御回路３０４は、読み出されたタイムスタンプおよび開始タイムスタンプの値を比較し、読み出されたタイムスタンプの値が開始タイムスタンプの値を上回るかどうかを判定する。条件が満たされた場合、アルゴリズムは、ステップ５１４に進んでもよい。条件が満たされない場合、アルゴリズムは、代わりにステップ５１６に進んでもよい。
【０１３５】
ステップ５１４では、制御回路３０４は、ステップ５１２の条件が満たされていることに基づいて、識別されたタイムスタンプと関連付けられるインスタンスを、購読期間内にあるインスタンスのカウントに追加するようにサブルーチンを実行するであろう。サブルーチンが実行された後、アルゴリズムは、ステップ５１６に進んでもよく、タイムスタンプの全てのインスタンスが考慮され、さらなる反復が必要とされるかどうかが判定される。
【０１３６】
ステップ５１６では、制御回路３０４は、タイムスタンプの全てのインスタンスが考慮されるかどうかをチェックするであろう。インスタンスの全てが評価された場合、制御回路３０４は、ステップ５１８に進んでもよい。例えば、制御回路３０４は、タイムスタンプの次の要素があるかどうかを確認する関数を呼び出してもよい。関数が真（すなわち、依然として処理される必要があるインスタンスがある）を返す場合、制御回路３０４は、ステップ５０４に進んでもよい。
【０１３７】
ステップ５１８では、制御回路３０４は、識別されたインスタンスの総数を閾値数と比較するようにサブルーチンを実行するであろう。
【０１３８】
図５の説明は、本開示の任意の他の実施形態とともに使用され得ることが考慮される。加えて、図５のアルゴリズムに関して説明される説明は、本開示の目的を促進するように、代替的な順序で、または並行して行われてもよい。例えば、５０８および５１２におけるもの等の条件文および論理評価は、システムまたは方法の遅延を低減させる、または速度を増加させるように、任意の順序で、または並行して、または同時に行われてもよい。さらなる実施例として、いくつかの実施形態では、いくつかのタイムスタンプのインスタンスは、複数の論理プロセッサスレッドを使用して、並行して評価されてもよい、またはアルゴリズムは、分岐予測を組み込むことによって拡張されてもよい。さらに、図５のアルゴリズムは、適切に構成されたソフトウェアおよびハードウェアの組み合わせ上に実装されてもよく、アルゴリズムの１つまたはそれを上回る部分を実装するために、図３−４に関して議論されるデバイスまたは機器のいずれかが使用され得ることに留意されたい。
【０１３９】
図６の擬似コードは、本開示のいくつかの実施形態による、メディアをストリーミングする要求に基づいて始まるであろう、購読サービスから異なるデバイスにメディアを同時にストリーミングする要求の数が、利用可能なストリームの数を超える、購読期間内に起こったインスタンスの数を検出するアルゴリズムを説明する。図６の擬似コードによって説明されるプロセスは、任意の数のプログラミング言語および種々の異なるハードウェアで実装され得、スタイルおよび形式は、限定的として解釈されるべきではなく、本開示のいくつかの実施形態を実装するために使用されるコードと一致するであろうステップおよびプロシージャの一般的テンプレートとして解釈されるべきであることが、当業者に明白となるであろう。
【０１４０】
ライン６０１では、アルゴリズムは、ライン６０５上で始まる、変数を初期化し、購読期間内に起こったインスタンスの数を判定することを準備するようにサブルーチンを起動してもよい。例えば、いくつかの実施形態では、制御回路３０４は、初期化段階中に、非一過性の記憶媒体（例えば、記憶デバイス３０８）からＲＡＭの中へ、または処理回路３０６用のキャッシュの中へ命令をコピーしてもよい。加えて、いくつかの実施形態では、比較に使用されている、記憶された購読期間開始タイムスタンプの値および記憶された購読期間終了時間の値が、６０１において読み出され、設定され、および記憶されてもよい。
【０１４１】
ライン６０５では、制御回路３０４は、タイムスタンプのインスタンスを受信してもよい。いくつかの実施形態では、これらのインスタンスは、記憶されたメモリから読み出されてもよい。制御回路３０４は、例えば、タイムスタンプの値のアレイへのポインタを受信することによって、タイムスタンプのインスタンスを受信する。別の実施例では、制御回路３０４は、タイムスタンプの要素を含有するイテレータオブジェクト等のクラスのオブジェクトを受信する。
【０１４２】
ライン６０６では、制御回路３０４は、タイムスタンプの種々のインスタンスを通して反復してもよく、単一のインスタンスのみが利用可能である場合、ループは、一度だけ実行するであろう。本ループは、図６のアルゴリズムを実装するために使用されるハードウェアおよびソフトウェア言語の選択肢に応じて、複数の様式で実装されてもよく、例えば、これは、「ｆｏｒ」または「ｗｈｉｌｅ」ループの一部として実装されてもよい。
【０１４３】
ライン６０７では、制御回路３０４は、タイムスタンプの値を一時変数「Ａ」の中に記憶するであろう。いくつかの実施形態では、タイムスタンプの値は、より大きいデータ構造またはクラスの一部として記憶され、タイムスタンプの値は、適切なアクセサ方法を通して取得されてもよい。いくつかの実施形態では、タイムスタンプは、適切なハッシングアルゴリズムを用いて、文字列または他の非数値データタイプから数値データタイプに変換されてもよい。いくつかの実施形態では、制御回路３０４は、購読期間開始時間への読み出されたタイムスタンプの比較を行う関数を呼び出してもよい。いくつかの実施形態では、タイムスタンプは、基本データ構造として符号化されてもよく、一時変数を使用するのではなく、読み出されたタイムスタンプは、ライン６１０および６１２における比較で直接使用されてもよい。
【０１４４】
ライン６０８では、制御回路３０４は、購読期間開始タイムスタンプの値を一時変数「Ｂ」の中に記憶するであろう。タイムスタンプと同様に、いくつかの実施形態では、購読期間開始タイムスタンプの値は、より大きいデータ構造またはクラスの一部として記憶され、購読期間開始タイムスタンプの値は、アクセサ方法を通して取得されてもよい。いくつかの実施形態では、購読期間開始タイムスタンプは、適切なハッシングアルゴリズムを用いて、文字列または他の非数値データタイプから数値データタイプに変換されてもよい、または購読期間開始タイムスタンプは、基本データ構造であってもよく、ライン６１２における比較で直接使用されてもよい。
【０１４５】
ライン６０９では、制御回路３０４は、購読期間終了時間の値を一時変数「Ｃ」の中に記憶するであろう。開始タイムスタンプと同様に、いくつかの実施形態では、購読期間終了タイムスタンプの値は、より大きいデータ構造またはクラスの一部として記憶され、購読期間終了タイムスタンプの値は、アクセサ方法を通して取得されてもよい。いくつかの実施形態では、購読期間終了タイムスタンプは、適切なハッシングアルゴリズムを用いて、文字列または他の非数値データタイプから数値データタイプに変換されてもよい、または購読期間終了タイムスタンプは、基本データ構造であってもよく、ライン６１０における比較で直接使用されてもよい。
【０１４６】
ライン６１０では、制御回路３０４は、ＡおよびＣの値を比較して、ＡがＣを上回るかどうかを判定するであろう。
【０１４７】
ライン６１１では、制御回路３０４は、ライン６１０における条件が満たされている場合に、読み出されたタイムスタンプ制御回路と関連付けられるインスタンスを無視するようにサブルーチンを実行するであろう。
【０１４８】
ライン６１２では、制御回路３０４は、ＡおよびＢの値を比較し、ＡがＢを上回るかどうかを判定するであろう。
【０１４９】
ライン６１３では、制御回路３０４は、ライン６１２における条件が満たされている場合に、識別されたタイムスタンプと関連付けられるインスタンスを、購読期間内にあるインスタンスのカウントに追加するようにサブルーチンを実行するであろう。
【０１５０】
ライン６１５では、制御回路３０４は、ライン６１０または６１２における条件のいずれも満たされていない場合に、タイムスタンプと関連付けられる全てのインスタンスが制御回路３０４を使用して考慮されるかどうかを判定するように、サブルーチンを実行するであろう。
【０１５１】
ライン６１７では、制御回路３０４は、アルゴリズムがその機能を果たした後に終了サブルーチンを起動してもよい。例えば、いくつかの実施形態では、制御回路３０４は、変数を破壊する、ガベージコレクションを行う、メモリを解放する、または処理回路３０６のキャッシュを消去してもよい。
【０１５２】
図６の擬似コードによって説明されるアルゴリズムは、任意の数のプログラミング言語および種々の異なるハードウェアで実装され得、原始関数、論理評価、および機能評価の特定の選択肢および場所は、限定的であることを意図していないことが、当業者に明白となるであろう。また、コードは、種々の論理評価の順序を操作する、単一の反復ループではなくていくつかの反復を並行して行う、または入力または最終出力を根本的に変更することなく、実行時間および性能メトリックを別様に操作して最適化するように、リファクタリングされ得る、または書き換えられ得ることも明白となるであろう。例えば、いくつかの実施形態では、ブレイク条件が、動作を加速するためにライン６１０および６１２後に課されてもよい、または条件文が、ケーススイッチと置換されてもよい。いくつかの実施形態では、ステップ６０６においてタイムスタンプの全てのインスタンスにわたって反復するのではなく、いくつかの実施形態では、制御回路３０４が複数のプロセッサまたはプロセッサスレッド上で同時にタイムスタンプの複数のインスタンスを評価するように命令され、必要とされる反復の数を削減し、潜在的に計算時間を加速するように、コードが書き換えられてもよい。
【０１５３】
図７および８は、本開示のいくつかの実施形態による、制御回路（例えば、制御回路３０４）が、購読サービスから異なるデバイスにメディアを同時にストリーミングするインスタンスの数が、購読期間の一部の間に利用可能なストリームの数を超える、インスタンスの数を検出するため、かつインスタンスの数がある数を超えるときにメッセージをデバイスのうちの１つに伝送するためのアルゴリズムを提示する。いくつかの実施形態では、本アルゴリズムは、処理回路（例えば、処理回路３０６）によって復号および実行される命令のセットとして、非一過性の記憶媒体（例えば、記憶デバイス３０８）上に符号化されてもよい。処理回路は、ひいては、同調、ビデオ生成、符号化、復号、暗号化、解読、スケーリング、アナログ／デジタル変換回路、および同等物等の制御回路３０４内に含有される他のサブ回路に命令を提供してもよい。
【０１５４】
図７のフローチャートは、本開示のいくつかの実施形態による、制御回路（例えば、制御回路３０４）が購読期間の一部の間に起こったインスタンスの数を判定するためのアルゴリズムを説明する。
【０１５５】
ステップ７０２では、メディアをストリーミングする要求に基づいて、購読サービスから異なるデバイスにメディアを同時にストリーミングする要求の数が、利用可能なストリームの数を超える、購読期間の一部内に起こったインスタンスの数を検出するアルゴリズムが、始まるであろう。いくつかの実施形態では、これは、直接または間接的のいずれかで、（例えば、制御回路３０４またはユーザ入力インターフェース３１０によって受信される信号からの）ユーザアクションまたは入力に応答して行われてもよい。例えば、アルゴリズムは、制御回路３０４がユーザ入力インターフェース３１０から信号を受信することに直接応答して始まってもよい、または制御回路３０４は、アルゴリズムを起動することに先立って、（例えば、ディスプレイ３１２上に表示されるプロンプトを生成することによって）表示を使用して自分の入力を確認するようにユーザを促してもよい。
【０１５６】
ステップ７０４では、制御回路３０４は続いて、記憶されたメモリからタイムスタンプの次のインスタンスを読み出す。いくつかの実施形態では、制御回路３０４は、タイムスタンプの値を表す単一の基本データ構造を受信してもよい。いくつかの実施形態では、値は、より大きいデータ構造の一部として記憶されてもよく、制御回路３０４は、より大きいデータ構造から値を読み出すように適切なアクセサ方法を実行することによって、値を読み出してもよい。
【０１５７】
ステップ７０６では、制御回路３０４は続けて、読み出されたタイムスタンプの値を、購読期間の一部と関連付けられる開始タイムスタンプの記憶された値および終了タイムスタンプの記憶された値と比較する。いくつかの実施形態では、購読期間の一部と関連付けられる開始タイムスタンプの値および終了タイムスタンプの記憶された値は、アルゴリズムを開始することに先立って、（例えば、記憶デバイス３０８上に）記憶されてもよい。いくつかの実施形態では、購読の一部と関連付けられる開始タイムスタンプの値および終了タイムスタンプの値はまた、読み出されたタイムスタンプのありとあらゆるインスタンスについて読み出されてもよく、購読期間の一部と関連付けられる開始タイムスタンプおよび終了タイムスタンプの値は、反復によって変化し得る。いくつかの実施形態では、制御回路３０４は、それぞれ、メモリから値にアクセスし、値の比較を行うことによって、購読の一部と関連付けられる開始タイムスタンプの値および終了タイムスタンプの記憶された値を、読み出されたタイムスタンプの値と直接比較してもよい。いくつかの事例では、制御回路３０４は、読み出されたタイムスタンプおよび購読期間の一部と関連付けられる開始タイムスタンプおよび終了タイムスタンプの記憶された値を比較するように、（例えば、オブジェクト間比較のための）比較関数を呼び出してもよい。
【０１５８】
ステップ７０８では、制御回路３０４は、読み出されたタイムスタンプおよび購読期間の一部と関連付けられる終了タイムスタンプの値を比較し、読み出されたタイムスタンプの値が、購読の一部と関連付けられる終了タイムスタンプの値を上回るかどうかを判定する。条件が満たされた場合、アルゴリズムは、ステップ７１０に進んでもよい。条件が満たされない場合、アルゴリズムは、代わりにステップ７１２に進んでもよい。
【０１５９】
ステップ７１０では、制御回路３０４は、ステップ７０８における条件が満たされていることに基づいて、読み出されたタイムスタンプと関連付けられるインスタンスを無視するようにサブルーチンを実行するであろう。サブルーチンが実行された後、アルゴリズムは、ステップ７１６に進んでもよく、読み出されたタイムスタンプの全てのインスタンスが考慮され、さらなる反復が必要とされるかどうかが判定される。
【０１６０】
ステップ７１２では、制御回路３０４は、読み出されたタイムスタンプおよび開始タイムスタンプの値を比較し、読み出されたタイムスタンプの値が開始タイムスタンプの値を上回るかどうかを判定する。条件が満たされた場合、アルゴリズムは、ステップ７１４に進んでもよい。条件が満たされない場合、アルゴリズムは、代わりにステップ７１６に進んでもよい。
【０１６１】
ステップ７１４では、制御回路３０４は、ステップ７１２の条件が満たされていることに基づいて、識別されたタイムスタンプと関連付けられるインスタンスを、購読期間の一部内にあるインスタンスのカウントに追加するようにサブルーチンを実行するであろう。サブルーチンが実行された後、アルゴリズムは、ステップ７１６に進んでもよく、タイムスタンプの全てのインスタンスが考慮され、さらなる反復が必要とされるかどうかが判定される。
【０１６２】
ステップ７１６では、制御回路３０４は、タイムスタンプの全てのインスタンスが考慮されるかどうかをチェックするであろう。インスタンスの全てが評価された場合、制御回路３０４は、ステップ７１８に進んでもよい。例えば、制御回路３０４は、タイムスタンプの次の要素があるかどうかを確認する関数を呼び出してもよい。関数が真（すなわち、依然として処理される必要があるインスタンスがある）を返す場合、制御回路３０４は、ステップ７０４に進んでもよい。
【０１６３】
ステップ７１８では、制御回路３０４は、識別されたインスタンスの総数を閾値数と比較するようにサブルーチンを実行するであろう。
【０１６４】
図７の説明は、本開示の任意の他の実施形態とともに使用され得ることが考慮される。加えて、図７のアルゴリズムに関して説明される説明は、本開示の目的を促進するように、代替的な順序で、または並行して行われてもよい。例えば、７０８および７１２におけるもの等の条件文および論理評価は、システムまたは方法の遅延を低減させる、または速度を増加させるように、任意の順序で、または並行して、または同時に行われてもよい。さらなる実施例として、いくつかの実施形態では、いくつかのタイムスタンプのインスタンスは、複数の論理プロセッサスレッドを使用して、並行して評価されてもよい、またはアルゴリズムは、分岐予測を組み込むことによって拡張されてもよい。さらに、図７のアルゴリズムは、適切に構成されたソフトウェアおよびハードウェアの組み合わせ上に実装されてもよく、アルゴリズムの１つまたはそれを上回る部分を実装するために、図３−４に関して議論されるデバイスまたは機器のいずれかが使用され得ることに留意されたい。
【０１６５】
図８の擬似コードは、本開示のいくつかの実施形態による、メディアをストリーミングする要求に基づいて始まるであろう、購読サービスから異なるデバイスにメディアを同時にストリーミングする要求の数が、利用可能なストリームの数を超える、購読期間の一部内に起こったインスタンスの数を検出するアルゴリズムを説明する。図８の擬似コードによって説明されるアルゴリズムは、任意の数のプログラミング言語および種々の異なるハードウェアで実装され得、スタイルおよび形式は、限定的として解釈されるべきではなく、本開示のいくつかの実施形態を実装するために使用されるコードと一致するであろうステップおよびプロシージャの一般的テンプレートとして解釈されるべきであることが、当業者に明白となるであろう。
【０１６６】
ライン８０１では、アルゴリズムは、ライン８０５上で始まる、変数を初期化し、購読期間の一部内に起こったインスタンスの数を判定することを準備するようにサブルーチンを起動してもよい。例えば、いくつかの実施形態では、制御回路３０４は、初期化段階中に、非一過性の記憶媒体（例えば、記憶デバイス３０８）からＲＡＭの中へ、または処理回路３０６用のキャッシュの中へ命令をコピーしてもよい。加えて、いくつかの実施形態では、比較に使用されている、購読期間の一部の記憶された開始−時間の値および購読期間の一部の記憶された終了時間の値が、８０１において読み出され、設定され、および記憶されてもよい。
【０１６７】
ライン８０５では、制御回路３０４は、タイムスタンプのインスタンスを受信してもよい。いくつかの実施形態では、これらのインスタンスは、記憶されたメモリから読み出されてもよい。制御回路３０４は、例えば、タイムスタンプの値のアレイへのポインタを受信することによって、タイムスタンプのインスタンスを受信してもよい。別の実施例では、制御回路３０４は、タイムスタンプの要素を含有するイテレータオブジェクト等のクラスのオブジェクトを受信してもよい。
【０１６８】
ライン８０６では、制御回路３０４は、タイムスタンプの種々のインスタンスを通して反復してもよく、単一のインスタンスのみが利用可能である場合、ループは、一度だけ実行するであろう。本ループは、図８のアルゴリズムを実装するために使用されるハードウェアおよびソフトウェア言語の選択肢に応じて、複数の様式で実装されてもよく、例えば、これは、「ｆｏｒ」または「ｗｈｉｌｅ」ループの一部として実装されてもよい。
【０１６９】
ライン８０７では、制御回路３０４は、タイムスタンプの値を一時変数「Ａ」の中に記憶するであろう。いくつかの実施形態では、タイムスタンプの値は、より大きいデータ構造またはクラスの一部として記憶され、タイムスタンプの値は、適切なアクセサ方法を通して取得されてもよい。いくつかの実施形態では、タイムスタンプは、適切なハッシングアルゴリズムを用いて、文字列または他の非数値データタイプから数値データタイプに変換されてもよい。いくつかの実施形態では、制御回路３０４は、購読期間の一部の開始時間への読み出されたタイムスタンプの比較を行う関数を呼び出してもよい。いくつかの実施形態では、タイムスタンプは、基本データ構造として符号化されてもよく、一時変数を使用するのではなく、読み出されたタイムスタンプは、ライン８１０および８１２における比較で直接使用されてもよい。
【０１７０】
ライン８０８では、制御回路３０４は、購読期間の一部の開始時間の値を一時変数「Ｂ」の中に記憶するであろう。タイムスタンプと同様に、いくつかの実施形態では、購読期間の一部の開始時間のタイムスタンプの値は、より大きいデータ構造またはクラスの一部として記憶され、購読期間開始タイムスタンプの値は、アクセサ方法を通して取得されてもよい。いくつかの実施形態では、購読期間の一部の開始タイムスタンプは、適切なハッシングアルゴリズムを用いて、文字列または他の非数値データタイプから数値データタイプに変換されてもよい、または購読期間の一部の開始タイムスタンプは、基本データ構造であってもよく、ライン８１２における比較で直接使用されてもよい。
【０１７１】
ライン８０９では、制御回路３０４は、購読期間の一部の終了タイムスタンプの値を一時変数「Ｃ」の中に記憶するであろう。開始タイムスタンプと同様に、いくつかの実施形態では、購読期間終了タイムスタンプの値は、より大きいデータ構造またはクラスの一部として記憶され、購読期間の一部の終了タイムスタンプの値は、アクセサ方法を通して取得されてもよい。いくつかの実施形態では、購読期間の一部の終了タイムスタンプは、適切なハッシングアルゴリズムを用いて、文字列または他の非数値データタイプから数値データタイプに変換されてもよい、または購読期間の一部の終了タイムスタンプは、基本データ構造であってもよく、ライン８１０における比較で直接使用されてもよい。
【０１７２】
ライン８１０では、制御回路３０４は、ＡおよびＣの値を比較して、ＡがＣを上回るかどうかを判定するであろう。
【０１７３】
ライン８１１では、制御回路３０４は、ライン８１０における条件が満たされている場合に、読み出されたタイムスタンプ制御回路と関連付けられるインスタンスを無視するようにサブルーチンを実行するであろう。
【０１７４】
ライン８１２では、制御回路３０４は、ＡおよびＢの値を比較して、ＡがＢを上回るかどうかを判定するであろう。
【０１７５】
ライン８１３では、制御回路３０４は、ライン８１２における条件が満たされている場合に、識別されたタイムスタンプと関連付けられるインスタンスを、購読期間部分内にあるインスタンスのカウントに追加するようにサブルーチンを実行するであろう。
【０１７６】
ライン８１４では、制御回路３０４は、ライン８１０または８１２においていずれの条件も満たされていないかどうかを判定するであろう。いずれの条件も満たされていない場合には、ライン８１５における命令が評価されて実行されてもよい。
【０１７７】
ライン８１７では、制御回路３０４は、アルゴリズムがその機能を果たした後に終了サブルーチンを起動してもよい。例えば、いくつかの実施形態では、制御回路３０４は、変数を破壊する、ガベージコレクションを行う、メモリを解放する、または処理回路３０６のキャッシュを消去してもよい。
【０１７８】
図８の擬似コードによって説明されるアルゴリズムは、任意の数のプログラミング言語および種々の異なるハードウェアで実装され得、原始関数、論理評価、および機能評価の特定の選択肢および場所は、限定的であることを意図していないことが、当業者に明白となるであろう。また、コードは、種々の論理評価の順序を操作する、単一の反復ループではなくいくつかの反復を並行して行う、または入力または最終出力を根本的に変更することなく、実行時間および性能メトリックを別様に操作して最適化するように、リファクタリングされ得る、または書き換えられ得ることも明白となるであろう。例えば、いくつかの実施形態では、ブレイク条件が、動作を加速するためにライン８１０および８１２後に課されてもよい、または条件文が、ケーススイッチと置換されてもよい。いくつかの実施形態では、ステップ８０６においてタイムスタンプの全てのインスタンスにわたって反復するのではなく、いくつかの実施形態では、制御回路３０４が複数のプロセッサまたはプロセッサスレッド上で同時にタイムスタンプの複数のインスタンスを評価するように命令され、必要とされる反復の数を削減し、潜在的に計算時間を加速するように、コードが書き換えられてもよい。
【０１７９】
図９は、インスタンスの数がある数を超えるときにメッセージをデバイスに伝送することに関与する例証的ステップのフローチャートである。プロセス９００またはその任意のステップは、図３−４に示されるデバイスのうちのいずれかの上で起こり得る、またはそれによって提供され得ることに留意されたい。例えば、プロセス９００は、インスタンスの数がある数を超えるときを検出するため、かつメッセージをデバイスに伝送するために、ユーザ機器４０２、４０４、および／または４０６（図４）上に実装される制御回路によって命令されるように、制御回路３０４（図３）によって実行されてもよい。加えて、プロセス９００の１つまたはそれを上回るステップは、任意の他のプロセスまたは実施形態の１つまたはそれを上回るステップに組み込まれてもよい、またはそれと組み合わせられてもよい。
【０１８０】
プロセス９００は、ステップ９０２から始まり、制御回路３０４は、購読サービスから異なるデバイスにメディアを同時にストリーミングする要求の数が、購読サービスからユーザに利用可能なストリームの数を超える、複数のインスタンスを検出する。制御回路３０４は、購読サービスにアクセスするユーザによって使用される種々のデバイスから要求を受信する。これらのデバイスは、ユーザテレビ機器４０２、ユーザコンピュータ機器４０４、および無線ユーザ通信デバイス４０６を含んでもよい。一実施例では、制御回路３０４は、１２のインスタンスにおいて、購読サービスから異なるデバイスにメディアを同時にストリーミングする要求の数が、購読サービスからユーザに利用可能なストリームの数を超えることを検出する。換言すると、１２の機会に、少なくとも１人の購読のユーザは、コンテンツ購読サービスからコンテンツをストリーミングすることができなかった。
【０１８１】
ステップ９０４では、制御回路３０４は、複数のインスタンスのそれぞれと対応する、複数のタイムスタンプを生成する。例えば、購読サービスから異なるデバイスにメディアを同時にストリーミングする要求の数が、購読サービスからユーザに利用可能なストリームの数を超える、インスタンスの数を検出することに基づいて、制御回路３０４は、記憶装置３０８内のリストの中に各インスタンスと関連付けられるタイムスタンプを記憶する。例えば、制御回路３０４が、購読サービスから異なるデバイスにメディアを同時にストリーミングする要求の数が購読サービスからユーザに利用可能なストリームの数を超える、１２のインスタンスを検出するならば、制御回路３０４は、各タイムスタンプが１２のインスタンスのうちの１つに対応する、タイムスタンプのリストを生成し、記憶装置３０８の中に記憶する。
【０１８２】
ステップ９０６では、制御回路３０４は、複数のタイムスタンプのそれぞれを、購読サービスのための購読期間に対応するタイムスタンプの範囲と比較し、購読期間中に起こった複数のインスタンスの数を判定することによって、タイムスタンプに基づいて購読期間内に起こったインスタンスの数を判定する。例えば、制御回路３０４が１２のタイムスタンプを生成する場合には、制御回路３０４は、１２のタイムスタンプのそれぞれを購読サービスのための購読期間と比較する。次いで、制御回路３０４は、１２のタイムスタンプのそれぞれを比較し、各タイムスタンプが購読期間の開始および終了タイムスタンプによって定義される時間の範囲内に入るかどうかを判定する。範囲内に入るタイムスタンプの数に基づいて、制御回路３０４は、購読期間中に起こった複数のインスタンスの数を判定する。例えば、制御回路３０４は、１２の生成されたタイムスタンプのうち、９つが購読期間の開始および終了タイムスタンプによって定義される時間の範囲内に入ることを判定する。
【０１８３】
ステップ９０８では、制御回路３０４は、購読期間中に起こった複数のインスタンスの数を購読期間の閾値数と比較する。制御回路３０４は、購読期間の閾値数を判定するために、異なるアプローチを利用する。例えば、制御回路３０４は、購読サービスからユーザに利用可能なストリームの数を閾値数の基礎とする。例えば、制御回路３０４は、利用不可能なストリームを常に取り扱っているユーザを標的にしてもよい。その目的で、制御回路３０４が、購読サービスからユーザに利用可能なストリームの数（例えば、９つのストリーム）が購読サービスの平均的ユーザに利用可能なストリームの平均数よりも大きい（例えば、平均的ユーザが２つだけのストリームと関連付けられ得る）ことを判定するならば、制御回路３０４は、閾値数をより大きい数（例えば、１２）に設定する。
【０１８４】
ステップ９１０では、制御回路３０４は、購読期間内に起こったインスタンスの数が閾値数を超える場合に、メッセージをデバイスに伝送する。例えば、制御回路３０４は、購読期間中に起こった複数のインスタンスの数が購読期間の閾値数を超えることを判定するステップに応答して、通信ネットワーク４１４を介して、サーバから異なるデバイスのうちの１つにネットワークを介してメッセージを伝送する。例えば、購読期間中に起こった複数のインスタンスの数（例えば、１２）が閾値数（例えば、８）を超えることを判定するステップに応答して、制御回路３０４は、デバイスと関連付けられるユーザが付加的ストリームを購入できることを示す、メッセージをサーバからデバイスに伝送する。一実施例では、制御回路３０４は、頻繁なストリーミング対立に起因して、ユーザが付加的ストリームを購入できることを示すようにメッセージを生成する。制御回路３０４は、ユーザテレビ機器４０２、ユーザコンピュータ機器４０４、または無線通信デバイス４０６のディスプレイ３１２上に表示するためにメッセージを伝送する。例えば、制御回路３０４は、ユーザテレビ機器４０２のディスプレイ３１２上に表示される、番組一覧表示１００内で表示するためにメッセージを生成する。
【０１８５】
図９のステップまたは説明は、本開示の任意の他の実施形態とともに使用され得ることが考慮される。加えて、図９に関して説明されるステップおよび説明は、本開示の目的を促進するように、代替的な順序で、または並行して行われてもよい。例えば、これらのステップのそれぞれは、システムまたは方法の遅延を低減させる、または速度を増加させるように、任意の順序で、または並行して、または実質的に同時に行われてもよい。
【０１８６】
本発明に関与する方法が、コンピュータ使用可能および／または可読媒体を含む、コンピュータプログラム製品内で具現化され得ることが、当業者に明白となるであろう。例えば、そのようなコンピュータ使用可能媒体は、その上に記憶されたコンピュータ可読プログラムコードを有する、ＣＤ−ＲＯＭディスクまたは従来のＲＯＭデバイス等の読取専用メモリデバイス、またはハードドライブデバイスまたはコンピュータディスケット等のランダムアクセスメモリから成ってもよい。また、本発明に関与する方法、技法、およびプロセスは、処理回路を使用して実行され得ることを理解されたい。例えば、ユーザと関連付けられるソーシャルメディア相互作用の検出は、処理回路、例えば、図３の処理回路３０６によって行われてもよい。処理回路は、例えば、機器デバイス３００、メディアコンテンツプロバイダ４１６、またはコンテンツアグリゲータ４３０内の汎用プロセッサ、カスタマイズされた集積回路（例えば、ＡＳＩＣ）、またはフィールドプログラマブルゲートアレイ（ＦＰＧＡ）であってもよい。例えば、本明細書に説明されるようなメディアアセットメタデータは、図３の記憶装置３０８または図４のコンテンツアグリゲータ４３０内に記憶され、そこから読み出されてもよい。さらに、処理回路またはコンピュータプログラムは、ユーザプロファイル属性等のユーザと関連付けられる設定を更新し、図３の記憶装置３０８または図４のコンテンツアグリゲータ４３０内に記憶された情報を更新してもよい。
【０１８７】
上記で議論されるプロセスは、限定的ではなく、例証的であることを意図している。当業者は、本明細書で議論されるプロセスのステップが、省略され、修正され、組み合わせられる、および／または並べ替えられ得る、任意の付加的ステップが、本発明の範囲から逸脱することなく行われ得ることを理解するであろう。より一般的には、上記の開示は、限定的ではなく、例示的であることを意図する。続く請求項のみが、本発明が包含するものに関する境界を設定することを意図する。さらに、いずれか１つの実施形態で説明される特徴および制限は、本明細書の任意の他の実施形態に適用され得、一実施形態に関するフローチャートまたは実施例は、好適な様式で任意の他の実施形態と組み合わせられ、異なる順序で行われ、または並行して行われ得ることに留意されたい。加えて、本明細書で説明されるシステムおよび方法は、リアルタイムで行われてもよい。また、上記で説明されるシステムおよび／または方法は、他のシステムおよび／または方法に適用され、またはそれらに従って使用され得ることにも留意されたい。
【０１８８】
いくつかの実施形態では、制御回路３０４は、コンテンツアグリゲータサービスから認証情報を自動的に受信してもよい。例えば、制御回路３０４上に実装されるメディアガイドアプリケーションは、制御回路３０４がユーザに購読サービスを購読させる要求を受信する前に、認証情報を受信し、認証情報をユーザアカウントと関連付けてもよい。次いで、制御回路３０４は、ユーザに購読サービスを購読させる要求を受信し、したがって、アカウントの正当性を立証し、購読サービスの提供へのアクセスをユーザに許可してもよい。
【０１８９】
いくつかの側面では、制御回路３０４は、購読サービスと関連付けられるコンテンツプロバイダサーバ（例えば、Ｈｕｌｕ）において、第２の購読サービスと関連付けられるコンテンツアグリゲータサーバ（例えば、Ｒｏｖｉ  Ｓｕｐｅｒ  Ａｇｇｒｅｇａｔｏｒ）から第１の認証キーを受信してもよく、第１の認証キーは、ユーザが第１の購読サービスを購読する前に受信される。例えば、ユーザは、コンテンツアグリゲータサービス（すなわち、第２の購読サービス）を購読してもよい。いったんユーザが第２の購読サービスへの自分の登録を完了すると、第２の購読サービスと関連付けられるコンテンツアグリゲータサーバ上に実装される制御回路３０４は、ユーザを、コンテンツアグリゲータ購読の一部として利用可能である購読サービスのうちのいくつかまたは全てと関連付けるように認証キーを生成し、生成された認証キーを、第１の購読サービスを含む、各購読サービスと関連付けられるサーバに転送してもよい。各認証キーは、キーの中に記憶された情報が各購読サービスと関連付けられるサーバにセキュアに伝送されることを確実にするために、符号化されてもよい。加えて、各認証キーは、ユーザおよび第２の購読サービス（例えば、Ｒｏｖｉ  Ｓｕｐｅｒ  Ａｇｇｒｅｇａｔｏｒ）を識別する情報を含んでもよい。次いで、第１の購読サービスと関連付けられるコンテンツプロバイダサーバ上に実装される制御回路３０４は、コンテンツアグリゲータサーバから生成された認証キーを受信してもよい。いくつかの事例では、コンテンツプロバイダサーバ上に実装される制御回路３０４は、認証キーを復号し、キーの中に記憶された情報を抽出してもよい。制御回路３０４は、加えて、コンテンツプロバイダサーバ上に認証キーを記憶してもよい。そのようにして、制御回路３０４は、ユーザにアカウントを手動で作成することを負担させることなく、第１のユーザと関連付けられる認証情報を第１の購読サービスに伝送してもよい。
【０１９０】
いくつかの事例では、ユーザが第２の購読サービスに登録された後であるが、コンテンツアグリゲータサーバ上に実装される制御回路３０４が、ユーザが第１の購読サービスを購読することを所望することを検出する前に、コンテンツプロバイダサーバ上に実装される制御回路３０４は、コンテンツアグリゲータサーバから第１の認証キーを受信してもよい。例えば、第２の購読サービス（例えば、Ｒｏｖｉ  Ｓｕｐｅｒ  Ａｇｇｒｅｇａｔｏｒ）を提供するエンティティは、割引料金で、第１の購読サービスの購読を第２の購読サービスのユーザに提供するように、第１の購読サービス（例えば、Ｈｕｌｕ）を提供するエンティティと合意に達してもよい。ユーザが第１の購読サービスを購読する前に、コンテンツアグリゲータサーバ上に実装される制御回路３０４は、第１の認証キーをコンテンツアグリゲータサーバに伝送してもよい。
【０１９１】
いくつかの事例では、第２の購読サービスと関連付けられるコンテンツアグリゲータサーバ上に実装される制御回路３０４は、ユーザを、コンテンツアグリゲータ購読の一部として利用可能である購読サービスのうちのいくつかまたは全てと関連付けるように認証キーを生成し、生成された認証キーを、第１の購読サービスを含む、各購読サービスと関連付けられるサーバに転送してもよい。各認証キーは、キーの中に記憶された情報が各購読サービスと関連付けられるサーバにセキュアに伝送されることを確実にするために、暗号化されてもよい。例えば、認証キーは、コンテンツプロバイダサーバおよびコンテンツアグリゲータサーバの両方にアクセス可能であり得る、公開キーを介して暗号化されてもよい。加えて、各認証キーは、ユーザおよび第２の購読サービス（例えば、Ｒｏｖｉ  Ｓｕｐｅｒ  Ａｇｇｒｅｇａｔｏｒ）を識別する情報を含んでもよい。一実施例では、認証キーは、第２の購読サービス上のユーザと関連付けられるユーザ名およびパスワードを備えてもよい。次いで、第１の購読サービスと関連付けられるコンテンツプロバイダサーバ上に実装される制御回路３０４は、コンテンツアグリゲータサーバから生成された認証キーを受信してもよい。いくつかの事例では、コンテンツプロバイダサーバ上に実装される制御回路３０４は、認証キーを解読し、キーの中に記憶された情報を抽出してもよい。制御回路３０４は、加えて、コンテンツプロバイダサーバ上に認証キーを記憶してもよい。そのようにして、制御回路３０４は、ユーザにアカウントを手動で作成することを負担させることなく、第１のユーザと関連付けられる認証情報を第１の購読サービスに伝送してもよい。
【０１９２】
いくつかの事例では、コンテンツプロバイダサーバ上に実装される制御回路３０４は、第１の認証キーを第１の複数の容認可能な認証キーと比較し、第１の認証キーに基づいて、第１の購読サービスのために第１のユーザアカウントを生成するかどうかを判定してもよい。例えば、コンテンツプロバイダサーバ上に実装される制御回路３０４は、第１の認証キーの中に記憶された情報を抽出し、第２の購読サービスの識別子に関連するキーの一部に列挙される購読サービスの名称（例えば、Ｒｏｖｉ  Ｓｕｐｅｒ  Ａｇｇｒｅｇａｔｏｒ）を判定してもよい。次いで、コンテンツプロバイダサーバ上に実装される制御回路３０４は、制御回路３０４が第１の購読サービス上でアカウントを生成することを可能にされるように以前に識別された、購読サービスのリストを読み出し、購読サービスの名称を読み出されたリストの中の各購読サービスと比較してもよい。事実上、コンテンツプロバイダサーバ上に実装される制御回路３０４は、作成されるアカウントに対する制御を維持しながら、コンテンツアグリゲータ（すなわち、第２の購読サービス）から新しいユーザについての情報をセキュアに受信することができる。例えば、第１の購読サービスは、割引価格で第１の購読サービス上の購読を提供するように、第２の購読サービスとの契約を結んでもよい。さらに、認証キーの中に第２のプロバイダについての情報をカプセル化することによって、第１の購読サービスは、信頼されるコンテンツアグリゲータと関連付けられるユーザのアカウントのみが作成されることを確実にする。
【０１９３】
いくつかの事例では、コンテンツプロバイダサーバ上に実装される制御回路３０４は、第１の認証キーの中に記憶された情報を抽出し、ユーザのユーザ名を判定してもよい。次いで、制御回路３０４は、制御回路３０４が第１の購読サービス上でアカウントを生成することを可能にされるように以前に識別された、ユーザ名のリストを読み出し、抽出されたユーザ名を各識別されたユーザ名と比較してもよい。
【０１９４】
いくつかの側面では、コンテンツプロバイダサーバ上に実装される制御回路３０４は、第１の認証キーが第１の複数の容認可能な認証キーのうちの１つに合致することを判定するステップに応答して、コンテンツプロバイダサーバにおいて第１のユーザアカウントを生成してもよい。例えば、制御回路３０４は、コンテンツプロバイダサーバ上でアカウントを生成するために必要な情報を作成するために、ユーザ名、パスワード、および購読サービス名等の認証キーに含有される情報を抽出してもよい。いくつかの事例では、制御回路３０４は、アカウントの正当性が立証されていないことを規定する、第１のアカウントと関連付けられるインジケーションを記憶してもよい。ユーザまたは第２の購読サービス上に実装される制御回路３０４が、将来、アカウントの正当性を立証することを決定するならば、コンテンツプロバイダサーバ上に実装される制御回路３０４は、以下でさらに詳細に説明されるであろうように、ユーザからの要求された入力を殆どまたは全く伴わずに、アカウントの正当性を効率的に立証してもよい。
【０１９５】
いくつかの側面では、コンテンツプロバイダサーバ上に実装される制御回路３０４は、第１のユーザアカウントが第１の認証キーに対応することを示すデータベースエントリの中に第１のユーザアカウントを記憶してもよい。例えば、コンテンツプロバイダサーバ上に実装される制御回路３０４は、生成されたユーザアカウントに関連する情報をデータベースの中に記憶されたエントリの中に記憶してもよい。制御回路３０４はまた、例えば、認証キーの場所へのポインタをユーザアカウントと関連付けられるデータベースエントリの中に記憶することによって、ユーザアカウントを認証キーと関連付けてもよい。記憶されたユーザアカウントを第１の認証キーと関連付けることによって、コンテンツアグリゲータサーバ上に実装される制御回路３０４は、第２の購読またはユーザが第１の購読サービス上でアカウントの正当性を立証することを決定する場合に、アカウントの正当性が迅速に立証されることを確実にしてもよい。いくつかの事例では、制御回路３０４は、記憶装置３０８内の場所に第１の認証キーを記憶してもよく、場所は、ディレクトリまたはファイルパスによって識別される。次いで、制御回路３０４は、第１のユーザアカウントに対応するデータベースエントリ内の場所へのパスを記憶してもよい。
【０１９６】
いくつかの側面では、コンテンツプロバイダサーバ上に実装される制御回路３０４は、第１のユーザアカウントを記憶するステップに続いて、コンテンツプロバイダサーバにおいて、ユーザに第１の購読サービスを購読させる要求をコンテンツアグリゲータサーバから受信してもよく、要求は、第２の認証キーを含む。制御回路３０４は、第１の購読サービスを購読するユーザ要求に応答して、第２の認証キーを受信してもよい。例えば、コンテンツアグリゲータサーバ上に実装される制御回路３０４は、第２の購読サービス（例えば、Ｒｏｖｉ  Ｓｕｐｅｒ  Ａｇｇｒｅｇａｔｏｒ）のユーザが第１の購読サービス（例えば、Ｈｕｌｕ）を購読することを所望することを検出してもよい。異なる実施例では、第２のサービス上に実装される制御回路３０４は、第１のサービスを購読するコストがコスト基準を満たすときに、要求を第１のサービスに自動的に送信してもよい。第１の購読サービス上の制御回路３０４は、第２のキーの中に記憶された情報を解読し、第２のキーの中に記憶された情報を読み出し、コンテンツプロバイダサーバ上に認証キーを記憶してもよい。第２の認証キーを受信する枠組みを提供することによって、コンテンツプロバイダサーバ上に実装される制御回路は、ユーザのためのアカウントの正当性をセキュアに立証してもよい。
【０１９７】
いくつかの側面では、コンテンツプロバイダサーバ上に実装される制御回路３０４は、第１の認証キーを第２の認証キーと比較してもよい。例えば、コンテンツプロバイダサーバ上に実装される制御回路３０４は、キーと関連付けられるユーザの名前と関連する第２のキーから情報を読み出してもよく、次いで、識別されたユーザと関連付けられるアカウントが存在するかどうかを判定するように、データベースにクエリを行ってもよい。随意に、次いで、制御回路３０４は、識別されたユーザのアカウントと関連付けられる第１の認証キーを（すなわち、記憶装置３０８から、またはデータベースから）読み出してもよい。制御回路３０４はさらに、キーの中に記憶されたデータを解読することを伴って、または伴わずに、第２の認証キーを第１の認証キーと比較してもよい。
【０１９８】
いくつかの側面では、コンテンツプロバイダサーバ上に実装される制御回路３０４は、第１の認証キーが第２の認証キーに合致することを判定するステップに応答して、第１のユーザアカウントの正当性を立証してもよい。例えば、第２の認証キーとの第１の認証キーの比較に基づいて、次いで、コンテンツプロバイダサーバ上に実装される制御回路３０４は、いずれかのキーと関連付けられるユーザアカウントを識別してもよい。次いで、制御回路３０４は、アカウントを識別するようにデータベースにクエリを行い、アカウントの正当性が立証されていることを規定するインジケーションを記憶してもよい。一実施例では、制御回路３０４は、識別されたアカウントと関連付けられるデータベース記録を識別し、アカウントの正当性が立証されているかどうかと関連付けられるフィールド（例えば、フィールドＩＳ＿ＶＡＬＩＤＡＴＥＤ）を、アカウントの正当性が立証されていることを示す値（例えば、ＴＲＵＥ）に設定してもよい。アカウントの正当性を立証することによって、コンテンツプロバイダサーバ上に実装される制御回路３０４は、ユーザがアカウントを作成する必要なく、コンテンツプロバイダサーバによって認証されるユーザが、第１の購読サービスによって提供されるメディアコンテンツにアクセスすることを可能にする。
【０１９９】
いくつかの実施形態では、第１のユーザアカウントの正当性を立証するステップに応答して、第１のアカウント上に実装される制御回路３０４は、第１のユーザアカウントを通した第１の購読サービスへのアクセスを許可してもよい。例えば、コンテンツプロバイダサーバ上に実装される制御回路３０４は、アカウントが使用のために利用可能であることを示すメッセージを生成し、コンテンツアグリゲータサーバに伝送してもよい。したがって、コンテンツプロバイダサーバ上に実装される制御回路３０４は、第２の購読サービスの提供がユーザによってアクセスされ得ることをユーザに通知することができる。
【０２００】
いくつかの側面では、第１の認証キーは、第２の購読サービスによって割り当てられるユーザのためのユーザ名およびパスワードに基づく暗号化キーである。例えば、認証キーは、コンテンツアグリゲータサーバ上のユーザのアカウントに対応するユーザ名およびパスワードを含んでもよい。別の実施例では、コンテンツアグリゲータサーバ上の制御回路３０４は、第１の購読サービスのパスワード要件に準拠するパスワードを生成してもよい。コンテンツアグリゲータサーバ上に生成される制御回路３０４は、解読することが困難である無作為化文字列を生成し、コンテンツプロバイダサーバにアクセスするために必要とされる認証情報が、平均的ユーザが通常選択するであろうよりも強力であることを確実にするように設計され得る、パスワード生成モジュールを利用してもよい。例えば、自分のパスワードを容易に覚えるために、コンテンツプロバイダサーバ上にアカウントを作成するためのパスワード要件が、パスワードが文字および数字のみから成ることを可能にする場合、平均的ユーザは、パスワード（例えば、「ｍｙｐｅｔｓｎａｍｅ１」）のために短いキーワードおよび数字を選択してもよい。その一方で、コンテンツアグリゲータサーバ上に実装される制御回路３０４は、小文字および大文字、数字、および特殊文字の混合の長い文字列を作成するために、パスワードネジェレータモジュールを利用してもよい。制御回路３０４は、各購読サービスへのパスワード規則を伴って事前に構成されてもよい。例えば、パスワード規則は、第１の購読サービス（例えば、Ｈｕｌｕ）が、１５文字の最大長のパスワードを可能にし、アンパサンド記号がパスワードの一部として可能にされないことを示してもよい。第１の購読サービス（例えば、Ｈｕｌｕ）のためのパスワード規則に基づいて、制御回路３０４は、第１の購読サービスの要件に適合するセキュアなパスワード（例えば、「ｙ＃Ｅ％ｆ４ｖ３Ｔｔ＄８０ｕ」）を生成してもよい。このようにして、コンテンツプロバイダサーバ上のユーザのアカウントは、パスワードハッキング試行の影響を受けにくくなる。ユーザのユーザ名は、コンテンツプロバイダサーバ上のユーザの認証情報のセキュリティをさらに増加させるように、同様に生成されてもよい。
【０２０１】
いくつかの実施形態では、第１の複数の容認可能な認証キーは、コンテンツアグリゲータサーバからコンテンツプロバイダサーバにおいて受信される。例えば、コンテンツプロバイダサーバにおいて実装される制御回路３０４は、規則的間隔で第２の購読サービスから認証キーのリストを受信してもよい。例えば、コンテンツアグリゲータサーバ上に実装される制御回路３０４は、日常的に、第２の購読サービスとアカウントを作成した全ての新しいユーザと関連付けられる認証キーを伝送してもよい。いくつかの事例では、コンテンツプロバイダサーバ上に実装される制御回路３０４は、以前に説明されたように、第１の認証キーを複数の容認可能な認証キーと比較するために、データベースの中に受信された認証キーのリストを記憶してもよい。
【０２０２】
いくつかの側面では、コンテンツプロバイダサーバに記憶されたデータベースエントリは、第１のユーザアカウントへのポインタを含む第１のデータベースフィールドと、第１の認証キーを含む第２のデータベースフィールドとを含む。本明細書で使用されるような用語「ポインタ」は、その値が記憶装置の中に位置する別の値のアドレスを含有する、データを指す。例えば、コンテンツプロバイダサーバ上のデータベースエントリは、ユーザのユーザ名、パスワード、および購読レベル等のユーザのアカウントについての情報を含有する、第２のデータベースエントリを指す、第１のデータベースフィールドの中に記憶されたポインタを含んでもよい。データベースエントリは、第１の認証キーを含有し得る、第２のデータベースフィールドを含んでもよい。例えば、第１の認証キーは、第２のデータベースフィールドの中に値として記憶されてもよい、または代替として、第２のデータベースフィールドは、第１の認証キーの場所へのポインタを含んでもよい。
【０２０３】
いくつかの実施形態では、コンテンツプロバイダサーバに記憶されたデータベースエントリは、第１の購読サービスのための購読規約を含む、第３のデータベースフィールドを含む。購読規約は、その間にユーザが、購読サービスからユーザに利用可能にされたコンテンツにアクセスし得る、日付の範囲を備えてもよい。例えば、ユーザは、１月１日から３月３１日まで第１の購読サービス（例えば、Ｈｕｌｕ）を購読していてもよい。さらに、購読規約は、どのようにしてユーザがコンテンツにアクセスし得るか、およびいずれのコンテンツが選定された購読に基づいて利用可能にされるかに関連する、情報を含んでもよい。例えば、購読規約は、４つのストリームの最大数が、ユーザの購読を通してコンテンツにアクセスし得ることを特定してもよい。別の実施例では、購読規約は、ユーザが「プレミアム」購読の一部として全てのコンテンツにアクセスし得るが、「基本」購読の下では最新映画にアクセスするために料金を支払わなければならないことを示してもよい。購読の規約は、購読の価格を判定してもよく、ユーザが購読するために負担する価格もまた、第３のデータベースフィールドの中に記憶されてもよい。
【０２０４】
いくつかの実施形態では、ユーザに第１の購読サービスを購読させるコンテンツアグリゲータサーバからの要求は、ユーザがコンテンツアグリゲータサーバにおいて第２の購読サービスのための購読レベルを選択することに応答して、さらなるユーザ入力を伴わずにコンテンツアグリゲータサーバから伝送される。例えば、ユーザが第２の購読サービス（例えば、Ｒｏｖｉ  Ｓｕｐｅｒ  Ａｇｇｒｅｇａｔｏｒ）のための登録の一部として情報を入力するとき、コンテンツアグリゲータサーバ上に実装される制御回路３０４は、２つの購読レベル、すなわち、１つの購読サービスの購読を含み得る、「標準」レベル、および２つの購読サービスの購読を含み得る、「デラックス」レベルを生成してもよい。第１の購読が、「デラックス」レベル購読の一部のみとして提供される場合、コンテンツアグリゲータサーバ上に実装される制御回路３０４は、ユーザが「デラックス」レベル購読を選択したことを判定することのみに応答して、ユーザから第２の購読サービスに要求を伝送してもよい。異なる実施例では、ユーザは、購読の「標準」レベルをすでに購読していてもよい。第１の購読が「デラックス」レベル購読の一部のみとして提供されることを知ることに応じて、ユーザは、自分の購読を「デラックス」レベルにアップグレードすることを決定してもよい。さらなるユーザ入力を伴わずに、コンテンツアグリゲータサーバから第１の購読に要求を伝送することによって、コンテンツアグリゲータサーバ上に実装される制御回路３０４は、ユーザ側では最小入力を伴って、第１の購読サービスによって提供されるコンテンツへのアクセスをユーザに迅速に提供してもよい。
【０２０５】
いくつかの実施形態では、コンテンツプロバイダサーバ上に実装される制御回路３０４は、第１のユーザアカウントの正当性を立証するステップに応答して、コンテンツプロバイダサーバからコンテンツアグリゲータサーバに確認を伝送してもよい。例えば、いったん制御回路３０４がユーザアカウントの正当性を立証すると、制御回路３０４は、確認を備えるメッセージをコンテンツアグリゲータサーバに伝送してもよい。確認を伝送することによって、第２のサービスのユーザは、ユーザが第１の購読サービスと関連付けられるメディアにアクセスできることを知らされてもよい。異なる実施例では、第２の購読サービス上に実装される制御回路３０４が、第１の購読サービスと第２の購読サービスとの間の接続を介して、第１の購読サービスのメディアコンテンツにアクセスするように構成されるならば、第２の購読サービス上に実装される制御回路３０４は、確認の受信に応じて、第１の購読サービスのメディアを列挙するように構成されることができる。
【０２０６】
いくつかの実施形態では、コンテンツプロバイダサーバ上に実装される制御回路３０４は、コンテンツアグリゲータサーバから、第１のユーザアカウントを通して第１の購読サービスのメディアコンテンツにアクセスする第２の要求を受信してもよい。コンテンツ集約サービスのユーザは、コンテンツにアクセスするために、各コンテンツ購読サービスに手動でログインするタスクに不満を感じるようになり得る。購読サービスとユーザテレビ機器４０２との間に作成される直接接続は、ユーザのための合理化された視聴体験を促進してもよい。例えば、コンテンツプロバイダサーバ上に実装される制御回路３０４は、コンテンツアグリゲータサーバからパスされる、メディアコンテンツ（例えば、テレビ番組「Ｔｈｅ  Ｓｉｍｐｓｏｎｓ」のエピソード）にアクセスするユーザ要求を受信してもよい。コンテンツアグリゲータサーバから、第１のユーザアカウントを通して第１の購読サービスのメディアコンテンツにアクセスする要求を受信するステップに応答して、コンテンツアグリゲータサーバまたはコンテンツプロバイダサーバ上に実装される制御回路３０４は、通信ネットワーク４１４を経由して、コンテンツプロバイダサーバとユーザテレビ機器４０２との間の直接接続を作成してもよい。直接接続は、コンテンツプロバイダとユーザテレビ機器４０２との間のネットワーク状態にかかわらず、コンテンツプロバイダサーバからユーザテレビ機器４０２にメディアをストリーミングするユーザ要求が常にハンドリングされるように、コンテンツプロバイダとユーザテレビ機器４０２との間のある量の帯域幅を留保してもよい。コンテンツプロバイダサーバ上に実装される制御回路３０４は、さらなる認証を行うことなく、直接接続を使用して、メディアコンテンツをユーザテレビ機器４０２に転送してもよい。さらに、直接接続を作成し、コンテンツプロバイダサーバからコンテンツアグリゲータサーバにメディアを転送することによって、メディアコンテンツは、ユーザのための視聴体験を合理化して、第２の購読サービスにアクセスするために使用されるユーザインターフェース内に表示されてもよい。
【０２０７】
いくつかの実施形態では、コンテンツアグリゲータサーバ上に実装される制御回路３０４は、コンテンツプロバイダサーバとユーザテレビ機器４０２との間の直接接続の作成に応答して、第１の購読サービスと関連付けられるユーザインターフェーススキンを読み出してもよい。例えば、第１の購読サービスと関連付けられるユーザインターフェーススキンは、第１の購読サービスと関連付けられるユーザインターフェースの背景色、フォント、およびメニュー場所等のユーザインターフェース要素の外観を定義してもよい。加えて、インターフェーススキンは、画面上の定義された場所で表示されることができる、第１の購読サービスと関連付けられるロゴと、画面要素の背景色を定義することができる、第１の購読サービスと関連付けられるカラーパレットとを含んでもよい。制御回路３０４は、ユーザインターフェーススキンと関連付けられるパラメータを抽出し、パラメータを第２の購読サービスと関連付けられるユーザインターフェーススキンに適用してもよい。コンテンツアグリゲータサーバ上に実装される制御回路３０４は、第２の購読サービスと関連付けられるメディアコンテンツ一覧ユーザインターフェーススキンを表示するために生成してもよい。このようにして、第１の購読サービスは、第２の購読サービスを使用して提示されるコンテンツの感覚を制御することが可能であり得る。
【０２０８】
いくつかの実施形態では、コンテンツプロバイダサーバ上に実装される制御回路３０４は、コンテンツアグリゲータサーバから、メディアコンテンツ一覧の第１のユーザアカウントを通したユーザ選択を受信してもよい。例えば、コンテンツアグリゲータサーバ上に実装される制御回路３０４は、コンテンツプロバイダサーバ上で利用可能なコンテンツのメディアコンテンツ一覧を読み出すために、コンテンツプロバイダサーバとコンテンツアグリゲータサーバとの間に作成される接続を利用してもよい。次いで、コンテンツアグリゲータサーバ上に実装される制御回路３０４は、ユーザによって作成されるメディアコンテンツ一覧の選択を検出してもよく、ユーザは、コンテンツアグリゲータサーバ上のアカウントと関連付けられる。いったんコンテンツアグリゲータサーバ上に実装される制御回路３０４が選択を受信すると、制御回路３０４は、ユーザによって選択されるメディアコンテンツ一覧に対応するメディアアセットを表示するために生成してもよい。例えば、ユーザテレビ機器４０２上に実装される制御回路３０４は、コンテンツプロバイダとユーザテレビ機器４０２との間に作成される直接接続を使用して、メディアアセットを読み出してもよい。１つの事例では、コンテンツプロバイダサーバ上に実装される制御回路３０４は、メディアコンテンツ（例えば、テレビ番組「Ｔｈｅ  Ｓｉｍｐｓｏｎｓ」のエピソード）の要求を受信してもよい。制御回路３０４は、直接接続を使用して、コンテンツプロバイダサーバからユーザテレビ機器４０２にメディアの部分を転送することによって、メディアをストリーミングし始めてもよい。異なる実施例では、コンテンツプロバイダサーバ上に実装される制御回路３０４は、メディアアセットへのパスをコンテンツアグリゲータサーバ上に実装される制御回路３０４に提供してもよい。応答して、コンテンツアグリゲータサーバ上に実装される制御回路３０４は、パスの中で参照されるファイルにアクセスし、メディアファイルを、コンテンツアグリゲータサーバに、または代替として、ユーザテレビ機器４０２、ユーザコンピュータ機器４０４、または無線ユーザ通信デバイス４０６にダウンロードしてもよい。
【０２０９】
図１０および１１は、本開示のいくつかの実施形態による、ユーザが第１のサービスを購読する前に、制御回路（例えば、制御回路３０４）が、第１の購読サービスと関連付けられるコンテンツプロバイダサーバ上でユーザアカウントを生成するためのアルゴリズムを提示する。いくつかの実施形態では、本アルゴリズムは、処理回路（例えば、処理回路３０６）によって復号および実行される命令のセットとして、非一過性の記憶媒体（例えば、記憶デバイス３０８）上に符号化されてもよい。処理回路は、ひいては、同調、ビデオ生成、符号化、復号、暗号化、解読、スケーリング、アナログ／デジタル変換回路、および同等物等の制御回路３０４内に含有される他のサブ回路に命令を提供してもよい。
【０２１０】
図１０のフローチャートは、本開示のいくつかの実施形態による、制御回路（例えば、制御回路３０４）が、コンテンツアグリゲータサーバから第１の認証キーを受信することに基づいて、コンテンツプロバイダサーバ上でアカウントを生成するためのアルゴリズムを説明する。
【０２１１】
ステップ１００２では、コンテンツプロバイダサーバ上でアカウントを生成するアルゴリズムが、コンテンツアグリゲータサーバから第１の認証キーを受信することに基づいて始まるであろう。いくつかの実施形態では、これは、直接または間接的のいずれかで、（例えば、制御回路３０４またはユーザ入力インターフェース３１０によって受信される信号からの）ユーザアクションまたは入力に応答して行われてもよい。例えば、アルゴリズムは、制御回路３０４がユーザ入力インターフェース３１０から信号を受信することに直接応答して始まってもよい、または制御回路３０４は、アルゴリズムを起動することに先立って、（例えば、ディスプレイ３１２上に表示されるプロンプトを生成することによって）表示を使用して自分の入力を確認するようにユーザを促してもよい。
【０２１２】
ステップ１００４では、制御回路３０４は続いて、記憶されたメモリから容認可能な認証キーの次のインスタンスを読み出す。いくつかの実施形態では、制御回路３０４は、容認可能な認証キーの値を表す単一の基本データ構造を受信してもよい。いくつかの実施形態では、値は、より大きいデータ構造の一部として記憶されてもよく、制御回路３０４は、より大きいデータ構造から値を読み出すように適切なアクセサ方法を実行することによって、値を読み出してもよい。
【０２１３】
ステップ１００６では、制御回路３０４は続けて、読み出された容認可能な認証キーの値を、コンテンツアグリゲータサーバから受信される第１の認証キーの記憶された値と比較する。いくつかの実施形態では、コンテンツアグリゲータサーバから受信される第１の認証キーの値は、アルゴリズムを開始することに先立って、（例えば、記憶デバイス３０８上に）記憶されてもよい。いくつかの実施形態では、コンテンツアグリゲータサーバから受信される第１の認証キーの値はまた、容認可能な認証キーのありとあらゆるインスタンスについて読み出されてもよく、コンテンツアグリゲータサーバから受信される第１の認証キーの値は、反復によって変化し得る。いくつかの実施形態では、制御回路３０４は、それぞれ、メモリから値にアクセスし、値の比較を行うことによって、コンテンツアグリゲータサーバから受信される第１の認証キーの値を容認可能な認証キーの値と直接比較してもよい。いくつかの事例では、制御回路３０４は、容認可能な認証キーおよびコンテンツアグリゲータサーバから受信される第１の認証キーを比較するように、（例えば、オブジェクト間比較のための）比較関数を呼び出してもよい。
【０２１４】
ステップ１００８では、制御回路３０４は、容認可能な認証キーおよびコンテンツアグリゲータサーバから受信される第１の認証キーの値を比較し、容認可能な認証キーの値がコンテンツアグリゲータサーバから受信される第１の認証キーの値と等しいかかどうかを判定する。条件が満たされた場合、アルゴリズムは、ステップ１０１０に進んでもよい。条件が満たされない場合、アルゴリズムは、代わりにステップ１０１２に進んでもよい。
【０２１５】
ステップ１０１０では、制御回路３０４は、ステップ１００８における条件が満たされていることに基づいて、第１のユーザアカウントを生成するようにサブルーチンを実行するであろう。サブルーチンが実行された後、アルゴリズムは、ステップ１０１２に進んでもよく、容認可能な認証キーの全てのインスタンスが考慮され、さらなる反復が必要とされるかどうかが判定される。
【０２１６】
ステップ１０１４では、制御回路３０４がステップ１０１０でユーザアカウントを前もって生成した場合に、制御回路３０４は、ユーザアカウントを記憶するようにサブルーチンを実行するであろう。
【０２１７】
図１０の説明は、本開示の任意の他の実施形態とともに使用され得ることが考慮される。加えて、図１０のアルゴリズムに関して説明される説明は、本開示の目的を促進するように、代替的な順序で、または並行して行われてもよい。例えば、１００８におけるもの等の条件文および論理評価は、システムまたは方法の遅延を低減させる、または速度を増加させるように、任意の順序で、または並行して、または同時に行われてもよい。さらなる実施例として、いくつかの実施形態では、容認可能な認証キーのいくつかのインスタンスは、複数の論理プロセッサスレッドを使用して、並行して評価されてもよい、またはアルゴリズムは、分岐予測を組み込むことによって拡張されてもよい。さらに、図１０のアルゴリズムは、適切に構成されたソフトウェアおよびハードウェアの組み合わせ上に実装されてもよく、アルゴリズムの１つまたはそれを上回る部分を実装するために、図３−４に関して議論されるデバイスまたは機器のいずれかが使用され得ることに留意されたい。
【０２１８】
図１１の擬似コードは、本開示のいくつかの実施形態による、コンテンツアグリゲータサーバから第１の認証キーを受信することに基づいて、コンテンツプロバイダサーバ上でアカウントを生成するアルゴリズムを説明する。図１１の擬似コードによって説明されるアルゴリズムは、任意の数のプログラミング言語および種々の異なるハードウェアで実装され得、スタイルおよび形式は、限定的として解釈されるべきではく、本開示のいくつかの実施形態を実装するために使用されるコードと一致するであろうステップおよびプロシージャの一般的テンプレートとして解釈されるべきであることが、当業者に明白となるであろう。
【０２１９】
ライン１１０１では、アルゴリズムは、ライン１１０５上で始まる、変数を初期化し、コンテンツアグリゲータサーバから第１の認証キーを受信することに基づいて、コンテンツプロバイダサーバ上でアカウントを生成することを準備するようにサブルーチンを起動してもよい。例えば、いくつかの実施形態では、制御回路３０４は、初期化段階中に、非一過性の記憶媒体（例えば、記憶デバイス３０８）からＲＡＭの中へ、または処理回路３０６用のキャッシュの中へ命令をコピーしてもよい。加えて、いくつかの実施形態では、比較に使用されている第１の認証キーの値、または２つの値が本質的に同等であるかどうかを判定するための許容レベルが、１１０１において読み出され、設定され、および記憶されてもよい。
【０２２０】
ライン１１０５では、制御回路３０４は、容認可能な認証キーのインスタンスを受信してもよい。いくつかの実施形態では、これらのインスタンスは、記憶されたメモリから読み出されてもよい。制御回路３０４は、例えば、容認可能な認証キーの値のアレイへのポインタを受信することによって、容認可能な認証キーのインスタンスを受信してもよい。別の実施例では、制御回路３０４は、容認可能な認証キーの要素を含有するイテレータオブジェクト等のクラスのオブジェクトを受信してもよい。
【０２２１】
ライン１１０６では、制御回路３０４は、容認可能な認証キーの種々のインスタンスを通して反復してもよく、単一のインスタンスのみが利用可能である場合、ループは、一度だけ実行するであろう。本ループは、図１１のアルゴリズムを実装するために使用されるハードウェアおよびソフトウェア言語の選択肢に応じて、複数の様式で実装されてもよく、例えば、これは、「ｆｏｒ」または「ｗｈｉｌｅ」ループの一部として実装されてもよい。
【０２２２】
ライン１１０７では、制御回路３０４は、容認可能な認証キーの値を一時変数「Ａ」の中に記憶するであろう。いくつかの実施形態では、容認可能な認証キーの値は、より大きいデータ構造またはクラスの一部として記憶され、容認可能な認証キーの値は、適切なアクセサ方法を通して取得されてもよい。いくつかの実施形態では、容認可能な認証キーは、適切なハッシングアルゴリズムを用いて、文字列または他の非数値データタイプから数値データタイプに変換されてもよい。いくつかの実施形態では、制御回路３０４は、第１の認証キーへの容認可能な認証キーの比較を行う関数を呼び出してもよい。いくつかの実施形態では、容認可能な認証キーは、基本データ構造として符号化されてもよく、一時変数を使用するのではなく、容認可能な認証キーは、ライン１１０９における比較で直接使用されてもよい。
【０２２３】
ライン１１０８では、制御回路３０４は、第１の認証キーの値を一時変数「Ｂ」の中に記憶するであろう。容認可能な認証キーと同様に、いくつかの実施形態では、第１の認証キーの値は、より大きいデータ構造またはクラスの一部として記憶され、第１の認証キーの値は、アクセサ方法を通して取得されてもよい。いくつかの実施形態では、第１の認証キーは、適切なハッシングアルゴリズムを用いて、文字列または他の非数値データタイプから数値データタイプに変換されてもよい、または第１の認証キーは、基本データ構造であってもよく、ライン１１０９における比較で直接使用されてもよい。
【０２２４】
ライン１１０９では、制御回路３０４は、Ａの値をＢの値と比較して、それらが同等であるかどうかを確認する。
【０２２５】
ライン１１１０では、制御回路３０４は、ライン１１０９における条件が満たされている場合に、第１のユーザアカウントを生成するようにサブルーチンを実行するであろう。
【０２２６】
ライン１１１２では、制御回路３０４は、ライン１１０９における条件が満たされていない場合に、次の容認可能な認証キーを読み出すようにサブルーチンを実行するであろう。
【０２２７】
ライン１１１３では、制御回路３０４がライン１１１０でアカウントを前もって生成していた場合に、制御回路３０４は、生成されたユーザアカウントを記憶するようにサブルーチンを実行するであろう。制御回路３０４は、アカウントを記憶装置３０８に記憶してもよい。
【０２２８】
ライン１１１５では、制御回路３０４は、アルゴリズムがその機能を果たした後に終了サブルーチンを起動してもよい。例えば、いくつかの実施形態では、制御回路３０４は、変数を破壊する、ガベージコレクションを行う、メモリを解放する、または処理回路３０６のキャッシュを消去してもよい。
【０２２９】
図１１の擬似コードによって説明されるアルゴリズムは、任意の数のプログラミング言語および種々の異なるハードウェアで実装され得、原始関数、論理評価、および機能評価の特定の選択肢および場所は、限定的であることを意図していないことが、当業者に明白となるであろう。また、コードは、種々の論理評価の順序を操作する、単一の反復ループではなくていくつかの反復を並行して行う、または入力または最終出力を根本的に変更することなく、実行時間および性能メトリックを別様に操作して最適化するように、リファクタリングされ得る、または書き換えられ得ることも明白となるであろう。例えば、いくつかの実施形態では、ブレイク条件が、動作を加速するためにライン１１１０および１１１２後に課されてもよい、または条件文が、ケーススイッチと置換されてもよい。いくつかの実施形態では、ステップ１００６において容認可能な認証キーの全てのインスタンスにわたって反復するのではなく、いくつかの実施形態では、制御回路３０４が複数のプロセッサまたはプロセッサスレッド上で同時に容認可能な認証キーの複数のインスタンスを評価するように命令され、必要とされる反復の数を削減し、潜在的に計算時間を加速するように、コードが書き換えられてもよい。
【０２３０】
図１２および１３は、本開示のいくつかの実施形態による、制御回路（例えば、制御回路３０４）が、認証キーの可能性として考えられる値を含有するデータベースを使用して、要求に基づいて第１のユーザアカウントの正当性を立証するためのアルゴリズムを提示する。図１０および１１によって説明されるアルゴリズムと同様に、いくつかの実施形態では、本アルゴリズムは、処理回路（例えば、処理回路３０６）によって復号および実行される命令のセットとして、非一過性の記憶媒体（例えば、記憶デバイス３０８）上に符号化されてもよい。処理回路は、ひいては、同調、ビデオ生成、符号化、復号、暗号化、解読、スケーリング、アナログ／デジタル変換回路、および同等物等の制御回路３０４内に含有される他のサブ回路に命令を提供してもよい。
【０２３１】
図１２のフローチャートは、本開示のいくつかの実施形態による、制御回路（例えば、制御回路３０４）が、要求に基づいてデータベースを検索し、第１のユーザアカウントの正当性を立証するためのアルゴリズムを説明する。
【０２３２】
ステップ１２０２では、データベースを検索し、第１のユーザアカウントの正当性を立証するアルゴリズムが、要求に基づいて始まるであろう。いくつかの実施形態では、これは、直接または間接的のいずれかで、（例えば、制御回路３０４またはユーザ入力インターフェース３１０によって受信される信号からの）ユーザアクションまたは入力に応答して行われてもよい。
【０２３３】
ステップ１２０４では、制御回路３０４は続いて、記憶されたメモリから次の認証キーの次のインスタンスを読み出す。いくつかの実施形態では、制御回路３０４は、認証キーの値を表す単一の基本データ構造を読み出してもよい。いくつかの実施形態では、制御回路３０４は、より大きいクラスまたはデータ構造から値を読み出してもよい。
【０２３４】
ステップ１２０６では、制御回路３０４は、認証キーのタイプの可能性として考えられる値を含有する、データベースにアクセスする。いくつかの実施形態では、本データベースは、アルゴリズムを開始することに先立って、ローカルに（例えば、記憶デバイス３０８上に）記憶されてもよい。いくつかの実施形態では、データベースはまた、通信ネットワーク（例えば、通信ネットワーク４１４）を横断して、情報を遠隔記憶デバイス（例えば、コンテンツアグリゲータ４３０）上に実装されるデータベースに伝送するために、通信回路を使用することによって、アクセスされてもよい。
【０２３５】
ステップ１２０８では、制御回路３０４は、認証キーに合致するエントリについてデータベーステーブルを検索する。いくつかの実施形態では、これは、識別子、例えば、データベースの内側で使用される識別子のタイプに合致する認証キーを表す、文字列または整数を比較することによって、行われてもよい。いくつかの実施形態では、制御回路３０４は、認証キーに合致するテーブルエントリについて一般的クエリをデータベースにサブミットしてもよく、制御回路３０４は、インデックスのリスト、またはデータベースコンテンツの一部を含有するデータ構造を受信してもよい。いくつかの実施形態では、データベースは、ひいては他のデータベースからのエントリを相互参照する、交差テーブルを実装してもよい。この場合、制御回路３０４は、ひいては第２のデータベースから情報を読み出すために使用されることができる、第１のデータベースからインデックスを読み出してもよい。明確にする目的で、単一のデータベースと相互作用する制御回路３０４を説明し得るが、図１２のアルゴリズムは、複数の独立または相互参照データベースを使用して実装され得ることが理解される。
【０２３６】
ステップ１２１０では、制御回路３０４は、認証キーに合致するデータベースエントリがあるかどうかを判定してもよい。いくつかの実施形態では、制御回路３０４は、合致するエントリがないことを示す信号をデータベースから受信してもよい。いくつかの実施形態では、制御回路３０４は代わりに、ＮＵＬＬまたはダミー値を伴うインデックスのリストまたはデータ構造を受信してもよい。制御回路３０４が、認証キーに合致するデータベースエントリがあることを識別する場合、アルゴリズムは、ステップ１２１２に進み、そうでなければ、アルゴリズムは、ステップ１２１４に進む。
【０２３７】
ステップ１２１２では、制御回路３０４は、ユーザアカウントの正当性を立証するようにサブルーチンを実行するであろう。その後、アルゴリズムは、ステップ１２１４に進んでもよく、考慮される必要がある認証キーのさらなるインスタンスがあるかどうかが判定される。
【０２３８】
ステップ１２１４では、制御回路３０４は、認証キーの全てのインスタンスが考慮されるかどうか、およびさらなる反復が必要とされるかどうかを判定するであろう。さらなる反復が必要とされる場合、アルゴリズムは、ステップ１２０４に戻り、制御回路３０４は、認証キーの次のインスタンスを読み出すであろう。さらなる反復が必要とされない場合、アルゴリズムは、ステップ１２１６に進むであろう。
【０２３９】
ステップ１２１６では、制御回路３０４は、第１の購読へのアクセスを許可するようにサブルーチンを実行するであろう。
【０２４０】
図１２の説明は、本開示の任意の他の実施形態とともに使用され得ることが考慮される。加えて、図１２のアルゴリズムに関して説明される説明は、本開示の目的を促進するように、代替的な順序で、または並行して行われてもよい。例えば、制御回路３０４は、複数のクエリをデータベースに並行してサブミットしてもよい、またはアルゴリズムの実行の遅延を低減させる、または加速するために、複数のクエリを複数の類似データベースにサブミットしてもよい。さらに、図１２のアルゴリズムは、適切に構成されたソフトウェアおよびハードウェアの組み合わせ上に実装されてもよく、アルゴリズムのうちの１つまたはそれを上回る部分を実装するために、図３−４に関して議論されるデバイスまたは機器のいずれかが使用され得ることに留意されたい。
【０２４１】
図１３の擬似コードは、本開示のいくつかの実施形態による、要求に基づいて第１のユーザアカウントの正当性を立証するアルゴリズムを説明する。図１３の擬似コードによって説明されるアルゴリズムは、任意の数のプログラミング言語および種々の異なるハードウェアで実装され得、スタイルおよび形式は、限定的として解釈されるべきではなく、本開示のいくつかの実施形態を実装するために使用されるコードと一致するであろうステップおよびプロシージャの一般的テンプレートとして解釈されるべきであることが、当業者に明白となるであろう。
【０２４２】
ライン１３０１では、アルゴリズムは、ライン１３０５上で始まる、変数を初期化し、要求に基づいて第１のユーザアカウントの正当性を立証することを準備するようにサブルーチンを起動してもよい。例えば、いくつかの実施形態では、制御回路３０４は、初期化段階中に、非一過性の記憶媒体（例えば、記憶デバイス３０８）からＲＡＭの中へ、または処理回路３０６用のキャッシュの中へ命令をコピーしてもよい。
【０２４３】
ライン１３０５では、制御回路３０４は、容認可能な認証キーのインスタンスを受信してもよい。いくつかの実施形態では、これらのインスタンスは、記憶されたメモリから読み出されてもよい。
【０２４４】
ライン１３０６では、制御回路３０４は、容認可能な認証キーの種々のインスタンスを通して反復してもよく、単一のインスタンスのみが利用可能である場合、ループは、一度だけ実行するであろう。本ループは、図１３のアルゴリズムを実装するために使用されるハードウェアおよびソフトウェア言語の選択肢に応じて、複数の様式で実装されてもよく、例えば、これは、いくつかのプログラミング言語において「ｆｏｒ」または「ｗｈｉｌｅ」ループの一部として実装されてもよい。いくつかの実施形態では、内部方法の一部としてループを実施するであろう、単一クラスまたはカプセル化データ構造の中に容認可能な認証キーのインスタンスを記憶することが便宜的であり得る。
【０２４５】
ライン１３０７では、制御回路３０４は、容認可能な認証キーに合致するエントリについてデータベースにクエリを行ってもよい。どのようにしてデータベースが実装されるか、およびどのようにして容認可能な認証キーが記憶されるかに応じて、断続的ステップが、容認可能な認証キーをデータベースと一致する形態に変換するために要求され得る。例えば、容認可能な認証キーは、クエリの一部として制御回路３０４によってデータベースに伝送されることに先立って、適切なハッシングアルゴリズムを使用して、文字列または整数に符号化されてもよい。いくつかの実施形態では、容認可能な認証キーは、基本データ構造として符号化されてもよく、制御回路３０４は、クエリとして容認可能な認証キーをデータベースに直接サブミットしてもよい。データベースにクエリを行った後、制御回路３０４は、容認可能な認証キーに合致するデータベースエントリのセットを受信してもよい。いくつかの実施形態では、制御回路３０４は、データ構造、データベースのインデックスのリスト、または別の相互参照データベースのインデックスのセットのリストの形態で、これらのエントリを受信してもよい。
【０２４６】
ライン１３０９では、制御回路３０４は、容認可能な認証キーに合致するいずれかのデータベースエントリがあるかどうかを判定するであろう。いくつかの実施形態では、制御回路３０４は、ライン１３０９におけるクエリに応答して、データベースが空のデータ構造またはＮＵＬＬ値を返したかどうかをチェックすることによって、これを判定してもよい。合致するデータベースエントリがある場合、アルゴリズムは、ライン１３０９に進んでもよい。合致するデータベースエントリがない場合、アルゴリズムは、代わりにライン１３１２に進んでもよい。
【０２４７】
ライン１３０９では、制御回路３０４は、容認可能な認証キーに合致するデータベースエントリから、第１の認証キーの１つまたはそれを上回る値を読み出してもよい。例えば、制御回路３０４がライン１３０７においてデータベースにクエリを行った後にインデックスのリストを読み出す場合、いくつかの実施形態では、制御回路３０４は、受信されたインデックスに位置する第１の認証キーのためにデータベースエントリを読み出してもよい。いくつかの実施形態では、インデックスは、データベース内に含有される、より大きいデータ構造を指し示してもよく、制御回路３０４は、適切なアクセサ方法を使用して、データ構造内から第１の認証キーの値を読み出してもよい。いくつかの実施形態では、制御回路３０４は、第１の認証キーの値を読み出し、さらに進むことに先立って、ローカルで（例えば、記憶装置３０８の中で）別個のデータ構造の中にそれらを記憶してもよい。第１の認証キーの値を読み出した後に、アルゴリズムは、ライン１３１０に進むであろう。
【０２４８】
ライン１３１０では、制御回路３０４は、第１の認証キーの値を使用し、制御回路を使用して第１のユーザアカウントの正当性を立証するように、サブルーチンを実行するであろう。その後、アルゴリズムは、ライン１３１３に進んでもよい。
【０２４９】
ライン１３１２では、制御回路３０４は、ライン１３０９における条件が満たされていない場合、制御回路３０４を使用して、次の許可された認証キーを読み出すようにサブルーチンを実行するであろう。
【０２５０】
ライン１３１３では、制御回路３０４は、第１のユーザアカウントへのアクセスを許可するようにサブルーチンを実行するであろう。その後、アルゴリズムは、ライン１３１５における終了サブルーチンに進んでもよい。
【０２５１】
ライン１３１５では、制御回路３０４は、アルゴリズムがその機能を果たし、容認可能な認証キーの全てのインスタンスが処理され、データベースに対してチェックされた後に、終了サブルーチンを実行してもよい。例えば、いくつかの実施形態では、制御回路３０４は、変数を破壊する、ガベージコレクションを行う、メモリを解放する、または処理回路３０６のキャッシュを消去してもよい。
【０２５２】
図１３の擬似コードによって説明されるアルゴリズムは、任意の数のプログラミング言語および種々の異なるハードウェアで実装され得、原始関数、論理評価、および機能評価の特定の選択肢および場所は、限定的であることを意図していないことが、当業者に明白となるであろう。また、コードは、種々の論理評価の順序を操作する、単一の反復ループではなくいくつかの反復を並行して行う、または入力または最終出力を根本的に変更することなく、実行時間および性能メトリックを別様に操作して最適化するように、リファクタリングされ得る、または書き換えられ得ることも明白となるであろう。例えば、いくつかの実施形態では、制御回路３０４が、複数のプロセッサまたはプロセッサスレッドを使用して、容認可能な認証キーの複数のインスタンスを評価し、同時に、複数のデータベースクエリをサブミットするように命令されるように、コードが書き換えられてもよい。また、単一のデータベースと相互作用する制御回路３０４を説明し得るが、これは、例証目的のために説明される単一の実施形態にすぎず、図１３のアルゴリズムは、複数の独立または相互参照データベースを使用して実装され得ることも理解される。例えば、ローカルで（例えば、記憶装置３０８上に）記憶されたデータベースは、任意の数の通信チャンネル（例えば、通信ネットワーク４１４）を通してアクセス可能であり得る、遠隔に記憶されたデータベース（例えば、コンテンツアグリゲータ４３０）をインデックス化または相互参照してもよい。いくつかの実施形態では、これは、制御回路３０４が、オンデマンドで遠隔サーバ上に記憶されたより大きいデータベースにアクセスするために、小さいローカルドライブ上に効率的に記憶されたルックアップテーブルまたはデータベースフロントエンドを利用することを可能にし得る。
【０２５３】
図１４は、第１の購読サービス上で第１のユーザアカウントを生成し、正当性を立証することに関与する例証的ステップのフローチャートである。プロセス１４００またはその任意のステップは、図３−４に示されるデバイスのうちのいずれかの上で起こり得る、またはそれによって提供され得ることに留意されたい。例えば、プロセス１４００は、インスタンスの数がある数を超えるときを検出するため、かつメッセージをデバイスに伝送するために、ユーザ機器４０２、４０４、および／または４０６（図４）上に実装される制御回路によって命令されるように、制御回路３０４（図３）によって実行されてもよい。加えて、プロセス１４００の１つまたはそれを上回るステップは、任意の他のプロセスまたは実施形態の１つまたはそれを上回るステップに組み込まれてもよい、またはそれと組み合わせられてもよい。
【０２５４】
プロセス１４００は、ステップ１４０２から始まり、制御回路３０４は、コンテンツアグリゲータサーバから第１の認証キーを受信する。例えば、第２の購読サービス（例えば、Ｒｏｖｉ  Ｓｕｐｅｒ  Ａｇｇｒｅｇａｔｏｒ）を提供するエンティティは、割引料金で、第１の購読サービスの購読を第２の購読サービスのユーザに提供するように、第１の購読サービス（例えば、Ｈｕｌｕ）を提供するエンティティと合意に達してもよい。ユーザが第１の購読サービスを購読する前に、コンテンツアグリゲータサーバ上に実装される制御回路３０４は、第１の認証キーをコンテンツアグリゲータサーバに伝送する。
【０２５５】
ステップ１４０４では、制御回路３０４は、第１の認証キーを第１の複数の容認可能な認証キーと比較する。例えば、コンテンツプロバイダサーバ上に実装される制御回路３０４は、第１の認証キーの中に記憶された情報を抽出し、第２の購読サービスの識別子に関連するキーの一部に列挙される購読サービスの名称（例えば、Ｒｏｖｉ  Ｓｕｐｅｒ  Ａｇｇｒｅｇａｔｏｒ）を判定してもよい。次いで、制御回路３０４は、制御回路３０４が第１の購読サービス上でアカウントを生成することを可能にされるように以前に識別された、購読サービスのリストを読み出し、購読サービスの名称を読み出されたリストの中の各購読サービスと比較してもよい。事実上、コンテンツプロバイダサーバ上に実装される制御回路３０４は、作成されるアカウントに対する制御を維持しながら、コンテンツアグリゲータ（すなわち、第２の購読サービス）から新しいユーザについての情報をセキュアに受信することができる。例えば、第１の購読サービスは、割引価格で第１の購読サービス上の購読を提供するように、第２の購読サービスとの契約を結んでもよい。認証キーの中に第２のプロバイダについての情報をカプセル化することによって、第１の購読サービスは、信頼されるコンテンツアグリゲータと関連付けられるユーザのアカウントのみが作成されることを確実にする。
【０２５６】
ステップ１４０６では、制御回路３０４は、第１の認証キーが第１の複数の容認可能な認証キーのうちの１つに合致することを判定するステップに応答して、第１のユーザアカウントを生成する。例えば、制御回路３０４は、コンテンツプロバイダサーバ上でアカウントを生成するために必要な情報を作成するために、ユーザ名、パスワード、および購読サービス名等の認証キーに含有される情報を抽出してもよい。いくつかの事例では、制御回路３０４は、アカウントの正当性が立証されていないことを規定する、第１のアカウントと関連付けられるインジケーションを記憶してもよい。
【０２５７】
ステップ１４０８では、制御回路３０４は、データベースエントリの中に第１のユーザアカウントを記憶し、例えば、コンテンツプロバイダサーバ上に実装される制御回路３０４は、生成されたユーザアカウントに関連する情報をデータベースの中に記憶されたデータベースエントリの中に記憶してもよい。制御回路３０４はまた、例えば、認証キーの場所へのポインタをユーザアカウントと関連付けられるデータベースエントリの中に記憶することによって、ユーザアカウントを認証キーと関連付けてもよい。記憶されたユーザアカウントを第１の認証キーと関連付けることによって、コンテンツアグリゲータサーバ上に実装される制御回路３０４は、第２の購読またはユーザが第１の購読サービス上でアカウントの正当性を立証することを決定する場合に、アカウントの正当性が迅速に立証されることを確実にしてもよい。いくつかの事例では、制御回路３０４は、記憶装置３０８内の場所に第１の認証キーを記憶してもよく、場所は、パスによって識別される。次いで、制御回路３０４は、第１のユーザアカウントに対応するデータベースエントリ内の場所へのパスを記憶してもよい。
【０２５８】
ステップ１４１０では、制御回路３０４は、第１のユーザアカウントを記憶するステップに続いて、ユーザに第１の購読サービスを購読させる要求をコンテンツアグリゲータサーバから受信する。制御回路３０４は、第１の購読サービスを購読するユーザ要求に応答して、第２の認証キーを受信してもよい。例えば、コンテンツアグリゲータサーバ上に実装される制御回路３０４は、第２の購読サービス（例えば、Ｒｏｖｉ  Ｓｕｐｅｒ  Ａｇｇｒｅｇａｔｏｒ）のユーザが第１の購読サービス（例えば、Ｈｕｌｕ）を購読することを所望することを検出してもよい。異なる実施例では、第２のサービス上に実装される制御回路３０４は、第１のサービスを購読するコストがコスト基準を満たすときに、要求を第１のサービスに自動的に送信してもよい。第１の購読サービス上の制御回路３０４は、第２のキーの中に記憶された情報を解読し、第２のキーの中に記憶された情報を読み出し、コンテンツプロバイダサーバ上に認証キーを記憶してもよい。
【０２５９】
ステップ１４１２では、制御回路３０４は、第１の認証キーを第２の認証キーと比較する。例えば、コンテンツプロバイダサーバ上に実装される制御回路３０４は、キーと関連付けられるユーザの名前と関連する第２のキーから情報を読み出してもよく、次いで、識別されたユーザと関連付けられるアカウントが存在するかどうかを判定するように、データベースにクエリを行ってもよい。随意に、次いで、制御回路３０４は、識別されたユーザのアカウントと関連付けられる第１の認証キーを（すなわち、記憶装置３０８から、またはデータベースから）読み出してもよい。制御回路３０４はさらに、キーの中に記憶されたデータを解読することを伴って、または伴わずに、第２の認証キーを第１の認証キーと比較してもよい。
【０２６０】
ステップ１４１４では、制御回路３０４は、第１の認証キーが第２の認証キーに合致することを判定するステップに応答して、第１のユーザアカウントの正当性を立証する。例えば、第２の認証キーとの第１の認証キーの比較に基づいて、次いで、コンテンツプロバイダサーバ上に実装される制御回路３０４は、いずれかのキーと関連付けられるユーザアカウントを識別してもよい。次いで、制御回路３０４は、アカウントを識別するようにデータベースにクエリを行い、アカウントの正当性が立証されていることを規定するインジケーションを記憶してもよい。一実施例では、制御回路３０４は、識別されたアカウントと関連付けられるデータベース記録を識別し、アカウントの正当性が立証されているかどうかと関連付けられるフィールド（例えば、フィールドＩＳ＿ＶＡＬＩＤＡＴＥＤ）を、アカウントの正当性が立証されていることを示す値に設定してもよい。
【０２６１】
ステップ１４１６では、制御回路３０４は、第１のユーザアカウントの正当性を立証するステップに応答して、第１の購読サービスへのアクセスを許可する。例えば、コンテンツプロバイダサーバ上に実装される制御回路３０４は、アカウントが使用のために利用可能であることを示すメッセージを生成し、コンテンツアグリゲータサーバに伝送してもよい。したがって、コンテンツプロバイダサーバ上に実装される制御回路３０４は、第２の購読サービスの提供がユーザによってアクセスされ得ることをユーザに通知することができる。
【０２６２】
図１４のステップまたは説明は、本開示の任意の他の実施形態とともに使用され得ることが考慮される。加えて、図１４に関して説明されるステップおよび説明は、本開示の目的を促進するように、代替的な順序で、または並行して行われてもよい。例えば、これらのステップはそれぞれ、システムまたは方法の遅延を低減させる、または速度を増加させるように、任意の順序で、または並行して、または実質的に同時に行われてもよい。
【０２６３】
上記で議論されるプロセスは、限定的ではなく、例証的であることを意図している。当業者は、本明細書で議論されるプロセスのステップが、省略され、修正され、組み合わせられる、および／または並べ替えられ得る、任意の付加的ステップが、本発明の範囲から逸脱することなく行われ得ることを理解するであろう。より一般的には、上記の開示は、限定的ではなく、例示的であることを意図する。続く請求項のみが、本発明が包含するものに関する境界を設定することを意図する。
【図１】
2018537735.tif 000003
【図２】
2018537735.tif 000004
【図３】
2018537735.tif 000005
【図４】
2018537735.tif 000006
【図５】
2018537735.tif 000007
【図６】
2018537735.tif 000008
【図７】
2018537735.tif 000009
【図８】
2018537735.tif 000010
【図９】
2018537735.tif 000011
【図１０】
2018537735.tif 000012
【図１１】
2018537735.tif 000013
【図１２】
2018537735.tif 000014
【図１３】
2018537735.tif 000015
【図１４】
2018537735.tif 000016
【国際調査報告】
2018537735.tif 000017
2018537735.tif 000018
2018537735.tif 000019
2018537735.tif 000020