(57)【要約】ユーザがユーザの予定と重複するメディアアセットをそうではないメディアアセットから区別することを可能にするメディアガイドアプリケーションのためのシステムおよび方法が、説明される。具体的には、メディアガイドアプリケーションは、ユーザのカレンダアプリケーションにアクセスし、ユーザのカレンダデータをそのカレンダアプリケーションから受信してもよい。メディアガイドアプリケーションは、任意の重複が存在するかどうかを判定するために、ユーザのカレンダデータとメディアアセットスケジューリングデータを比較してもよい。重複メディアアセット毎に、メディアガイドアプリケーションは、競合インジケータを記憶してもよい。
2019506760.tif 000002
【特許請求の範囲】
【請求項１】
カレンダ情報をメディアガイドアプリケーション内に提示するための方法であって、
カレンダアプリケーションから、ユーザと関連付けられた複数のイベントに関するカレンダデータを受信するステップであって、前記カレンダデータは、関連付けられたイベント開始時間および終了時間を有するイベント時間間隔を備える、ステップと、
前記複数のイベントのイベント時間間隔と第１の複数のメディアアセットのメディアアセット時間間隔とを比較するステップであって、前記第１の複数のメディアアセットの各メディアアセットは、関連付けられたメディアアセット開始時間および終了時間を有し、対応するメディアアセット時間間隔の間、複数のユーザへの伝送のためにスケジュールされている、ステップと、
前記比較に基づいて、対応するメディアアセットデータベースエントリ内に、第２の複数のメディアアセットに対応する第１の複数のメディアアセット識別子に関する競合インジケータを記憶するステップであって、前記第２の複数のメディアアセットは、前記イベント時間間隔のうちの少なくとも１つと少なくとも部分的に重複する関連付けられたメディアアセット時間間隔を有する、前記第１の複数のメディアアセットからのメディアアセットを備える、ステップと、
表示のために、ある時間期間の間の前記複数のユーザへの伝送のためにスケジュールされているメディアアセットに対応する第２の複数のメディアアセット識別子を生成するステップであって、前記第２の複数のメディアアセット識別子は、前記第１の複数のメディアアセット識別子内に含まれるメディアアセット識別子を備える第１の部分および前記第１の複数のメディアアセット識別子内に含まれないメディアアセット識別子を含む第２の部分を備え、前記第１の部分内のメディアアセット識別子は、前記第２の部分内のメディアアセット識別子から視覚的に区別される、ステップと
を含む、方法。
【請求項２】
前記第１の部分内の第１のメディアアセット識別子に対応する第１のメディアアセットの伝送時間と少なくとも部分的に重複する、前記複数のイベントの第１のイベントの第１の優先順位を判定するステップと、
前記第１の部分内の第２のメディアアセット識別子に対応する第２のメディアアセットの伝送時間と少なくとも部分的に重複する、前記複数のイベントの第２のイベントの第２の優先順位を判定するステップと、
前記第２の優先順位と異なる前記第１の優先順位に基づいて、前記第１の部分内の第１のメディアアセット識別子を前記第１の部分内の第２のメディアアセット識別子から視覚的に区別するステップと
をさらに含む、請求項１に記載の方法。
【請求項３】
前記第１の優先順位と関連付けられた第１の視覚的インジケータおよび前記第２の優先順位と関連付けられた第２の視覚的インジケータを記憶するステップと、
表示のために、前記第１の視覚的インジケータを伴う前記第１のメディアアセット識別子および前記第２の視覚的インジケータを伴う前記第２のメディアアセット識別子を生成するステップと
をさらに含む、請求項２に記載の方法。
【請求項４】
前記第１の優先順位を再スケジュールされ得る前記複数のイベントのそれらのイベントに割り当て、前記第２の優先順位を再スケジュールされ得ない前記複数のイベントのそれらのイベントに割り当てるステップと、
前記第１のメディアアセット識別子のユーザ選択に応答して、表示のために、前記第１のイベントと関連付けられたカレンダデータを生成し、前記第１のイベントを再スケジュールするためのオプションをユーザに提供するステップと、
前記第２のメディアアセット識別子のユーザ選択に応答して、表示のために、前記第２のイベントと関連付けられたカレンダデータを生成し、前記第２のメディアアセットを記録するためのオプションを前記ユーザに提供するステップと
をさらに含む、請求項２に記載の方法。
【請求項５】
前記第１の部分内のメディアアセット識別子は、第１のタイプのインジケータによって前記第２の部分内のメディアアセット識別子から視覚的に区別され、前記第１のメディアアセット識別子は、第２のタイプのインジケータを伴う前記第２のメディアアセット識別子から視覚的に区別される、請求項２に記載の方法。
【請求項６】
前記インジケータのタイプは、色、陰影、およびアイコンを備える、請求項５に記載の方法。
【請求項７】
前記複数のイベントのイベント時間間隔と前記第１の複数のメディアアセットのメディアアセット時間間隔とを比較するステップは、
前記複数のイベントの第１のイベントに関して、第１の開始時間および第１の終了時間を読み出すステップと、
前記第１の複数のメディアアセット内の第１のメディアアセットに関して、第２の開始時間および第２の終了時間を読み出すステップと、
前記第１の開始時間と前記第２の開始時間および前記第２の終了時間とを比較し、前記第１の終了時間と前記第２の開始時間および前記第２の終了時間とを比較するステップと、
前記第１の開始時間または前記第１の終了時間が前記第２の開始時間と前記第２の終了時間との間にあることの判定に基づいて、前記第１のメディアアセットに関する第１の競合インジケータを生成するステップと
を含む、請求項１に記載の方法。
【請求項８】
前記第１の部分内の第１のメディアアセット識別子のユーザ選択に応答して、表示のために、前記第１のメディアアセット識別子と関連付けられた第１のメディアアセットに対応する新しいイベントを作成するためのオプションを生成するステップと、
前記オプションのユーザ選択に応答して、それぞれ、前記第１のメディアアセットのメディアアセット開始時間およびメディアアセット終了時間に対応するイベント開始時間およびイベント終了時間を有する、前記新しいイベントを作成するステップと、
前記新しいイベントを前記カレンダアプリケーションに伝送するステップと
をさらに含む、請求項１に記載の方法。
【請求項９】
前記カレンダアプリケーションから、異なるユーザと関連付けられた複数のイベントに関するカレンダデータを受信するステップであって、前記異なるユーザと関連付けられたカレンダデータは、関連付けられたイベント開始時間および終了時間を有するイベント時間間隔を備える、ステップと、
前記第２の複数のメディアアセットの前記第１の部分内の第１のメディアアセット識別子のユーザ選択に応答して、前記第１のメディアアセット識別子と関連付けられたメディアアセットの伝送時間が前記異なるユーザと関連付けられた前記イベント時間間隔のうちの少なくとも１つと少なくとも部分的に重複するかどうかを判定するステップと、
前記第１のメディアアセット識別子と関連付けられた前記メディアアセットの伝送時間が前記異なるユーザと関連付けられた前記イベント時間間隔のうちの少なくとも１つと少なくとも部分的に重複しないことの判定に基づいて、表示のために、前記第１のメディアアセット識別子と関連付けられたメディアアセットを消費するように前記異なるユーザを招待するためのオプションを生成するステップと
をさらに含む、請求項１に記載の方法。
【請求項１０】
ソーシャルネットワーキングアプリケーションと関連付けられたサーバから、前記ユーザの友達と関連付けられた複数のユーザ識別子を読み出すステップと、
前記複数のユーザ識別子内のユーザ識別子毎に、各友達と関連付けられた複数のイベントに関するカレンダデータを読み出すステップであって、前記カレンダデータは、関連付けられたイベント開始時間および終了時間を有するイベント時間間隔を備える、ステップと、
前記第２の複数のメディアアセット識別子内の第１のメディアアセット識別子のユーザ選択に応答して、表示のために、前記第１のメディアアセット識別子に対応するメディアアセットを消費するようにスケジュールされている前記ユーザのそれらの友達と関連付けられた１つまたはそれを上回るユーザ識別子を生成するステップと
をさらに含む、請求項１に記載の方法。
【請求項１１】
カレンダ情報をメディアガイドアプリケーション内に提示するためのシステムであって、
記憶デバイスと、
通信回路と、
制御回路であって、
カレンダアプリケーションから、通信回路を介して、ユーザと関連付けられた複数のイベントに関するカレンダデータを受信することであって、前記カレンダデータは、関連付けられたイベント開始時間および終了時間を有するイベント時間間隔を備える、ことと、
前記複数のイベントのイベント時間間隔と第１の複数のメディアアセットのメディアアセット時間間隔とを比較することであって、前記第１の複数のメディアアセットの各メディアアセットは、関連付けられたメディアアセット開始時間および終了時間を有し、対応するメディアアセット時間間隔の間、複数のユーザへの伝送のためにスケジュールされる、ことと、
前記比較に基づいて、前記記憶デバイスにおいて、対応するメディアアセットデータベースエントリ内に、第２の複数のメディアアセットに対応する第１の複数のメディアアセット識別子に関する競合インジケータを記憶することであって、前記第２の複数のメディアアセットは、前記イベント時間間隔のうちの少なくとも１つと少なくとも部分的に重複する関連付けられたメディアアセット時間間隔を有する、前記第１の複数のメディアアセットからのメディアアセットを備える、ことと、
表示のために、ある時間期間の間の前記複数のユーザへの伝送のためにスケジュールされているメディアアセットに対応する第２の複数のメディアアセット識別子を生成することであって、前記第２の複数のメディアアセット識別子は、前記第１の複数のメディアアセット識別子内に含まれるメディアアセット識別子を備える第１の部分および前記第１の複数のメディアアセット識別子内に含まれないメディアアセット識別子を含む第２の部分を備え、前記第１の部分内のメディアアセット識別子は、前記第２の部分内のメディアアセット識別子から視覚的に区別される、ことと
を行うように構成される、制御回路と、
を備える、システム。
【請求項１２】
前記制御回路はさらに、
前記第１の部分内の第１のメディアアセット識別子に対応する第１のメディアアセットの伝送時間と少なくとも部分的に重複する、前記複数のイベントの第１のイベントの第１の優先順位を判定することと、
前記第１の部分内の第２のメディアアセット識別子に対応する第２のメディアアセットの伝送時間と少なくとも部分的に重複する、前記複数のイベントの第２のイベントの第２の優先順位を判定することと、
前記第２の優先順位と異なる前記第１の優先順位に基づいて、前記第１の部分内の第１のメディアアセット識別子を前記第１の部分内の第２のメディアアセット識別子から視覚的に区別することと
を行うように構成される、請求項１１に記載のシステム。
【請求項１３】
前記制御回路はさらに、
前記記憶デバイス内に、前記第１の優先順位と関連付けられた第１の視覚的インジケータおよび前記第２の優先順位と関連付けられた第２の視覚的インジケータを記憶することと、
表示のために、前記第１の視覚的インジケータを伴う前記第１のメディアアセット識別子および前記第２の視覚的インジケータを伴う前記第２のメディアアセット識別子を生成することと
を行うように構成される、請求項１２に記載のシステム。
【請求項１４】
前記制御回路はさらに、
前記第１の優先順位を再スケジュールされ得る前記複数のイベントのそれらのイベントに割り当て、前記第２の優先順位を再スケジュールされ得ない前記複数のイベントのそれらのイベントに割り当てることと、
前記第１のメディアアセット識別子のユーザ選択に応答して、表示のために、前記第１のイベントと関連付けられたカレンダデータを生成し、前記第１のイベントを再スケジュールするためのオプションをユーザに提供することと、
前記第２のメディアアセット識別子のユーザ選択に応答して、表示のために、前記第２のイベントと関連付けられたカレンダデータを生成し、前記第２のメディアアセットを記録するためのオプションを前記ユーザに提供することと
を行うように構成される、請求項１２に記載のシステム。
【請求項１５】
前記第１の部分内のメディアアセット識別子は、第１のタイプのインジケータによって前記第２の部分内のメディアアセット識別子から視覚的に区別され、前記第１のメディアアセット識別子は、第２のタイプのインジケータを伴う前記第２のメディアアセット識別子から視覚的に区別される、請求項１２に記載のシステム。
【請求項１６】
前記インジケータのタイプは、色、陰影、およびアイコンを備える、請求項１５に記載のシステム。
【請求項１７】
前記制御回路は、前記複数のイベントのイベント時間間隔と前記第１の複数のメディアアセットのメディアアセット時間間隔とを比較するとき、
前記複数のイベントの第１のイベントに関して、第１の開始時間および第１の終了時間を読み出すことと、
前記第１の複数のメディアアセット内の第１のメディアアセットに関して、第２の開始時間および第２の終了時間を読み出すことと、
前記第１の開始時間と前記第２の開始時間および前記第２の終了時間とを比較し、前記第１の終了時間と前記第２の開始時間および前記第２の終了時間とを比較することと、
前記第１の開始時間または前記第１の終了時間が前記第２の開始時間と前記第２の終了時間との間にあることの判定に基づいて、前記第１のメディアアセットに関する第１の競合インジケータを生成することと
を行うようにさらに構成される、請求項１１に記載のシステム。
【請求項１８】
前記制御回路は、
前記第１の部分内の第１のメディアアセット識別子のユーザ選択に応答して、表示のために、前記第１のメディアアセット識別子と関連付けられた第１のメディアアセットに対応する新しいイベントを作成するためのオプションを生成することと、
前記オプションのユーザ選択に応答して、それぞれ、前記第１のメディアアセットのメディアアセット開始時間およびメディアアセット終了時間に対応するイベント開始時間およびイベント終了時間を有する、前記新しいイベントを作成することと、
前記新しいイベントを前記カレンダアプリケーションに伝送することと
を行うようにさらに構成される、請求項１１に記載のシステム。
【請求項１９】
前記制御回路は、
前記カレンダアプリケーションから、異なるユーザと関連付けられた複数のイベントに関するカレンダデータを受信することであって、前記異なるユーザと関連付けられたカレンダデータは、関連付けられたイベント開始時間および終了時間を有するイベント時間間隔を備える、ことと、
前記第２の複数のメディアアセットの前記第１の部分内の第１のメディアアセット識別子のユーザ選択に応答して、前記第１のメディアアセット識別子と関連付けられたメディアアセットの伝送時間が前記異なるユーザと関連付けられた前記イベント時間間隔のうちの少なくとも１つと少なくとも部分的に重複するかどうかを判定することと、
前記第１のメディアアセット識別子と関連付けられた前記メディアアセットの伝送時間が、前記異なるユーザと関連付けられた前記イベント時間間隔のうちの少なくとも１つと少なくとも部分的に重複しないことの判定に基づいて、表示のために、前記第１のメディアアセット識別子と関連付けられたメディアアセットを消費するように前記異なるユーザを招待するためのオプションを生成することと
を行うようにさらに構成される、請求項１１に記載のシステム。
【請求項２０】
前記制御回路は、
ソーシャルネットワーキングアプリケーションと関連付けられたサーバから、前記ユーザの友達と関連付けられた複数のユーザ識別子を読み出すことと、
前記複数のユーザ識別子内のユーザ識別子毎に、各友達と関連付けられた複数のイベントに関するカレンダデータを読み出すことであって、前記カレンダデータは、関連付けられたイベント開始時間および終了時間を有するイベント時間間隔を備える、ことと、
前記第２の複数のメディアアセット識別子内の第１のメディアアセット識別子のユーザ選択に応答して、表示のために、前記第１のメディアアセット識別子に対応するメディアアセットを消費するようにスケジュールされている前記ユーザのそれらの友達と関連付けられた１つまたはそれを上回るユーザ識別子を生成することと
を行うようにさらに構成される、請求項１１に記載のシステム。
【請求項２１】
カレンダ情報をメディアガイドアプリケーション内に提示するためのシステムであって、
カレンダアプリケーションから、ユーザと関連付けられた複数のイベントに関するカレンダデータを受信するための手段であって、前記カレンダデータは、関連付けられたイベント開始時間および終了時間を有するイベント時間間隔を備える、手段と、
前記複数のイベントのイベント時間間隔と第１の複数のメディアアセットのメディアアセット時間間隔とを比較するための手段であって、前記第１の複数のメディアアセットの各メディアアセットは、関連付けられたメディアアセット開始時間および終了時間を有し、対応するメディアアセット時間間隔の間、複数のユーザへの伝送のためにスケジュールされている、手段と、
前記比較に基づいて、対応するメディアアセットデータベースエントリ内に、第２の複数のメディアアセットに対応する第１の複数のメディアアセット識別子に関する競合インジケータを記憶するための手段であって、前記第２の複数のメディアアセットは、前記イベント時間間隔のうちの少なくとも１つと少なくとも部分的に重複する関連付けられたメディアアセット時間間隔を有する、前記第１の複数のメディアアセットからのメディアアセットを備える、手段と、
表示のために、ある時間期間の間の前記複数のユーザへの伝送のためにスケジュールされているメディアアセットに対応する第２の複数のメディアアセット識別子を生成するための手段であって、前記第２の複数のメディアアセット識別子は、前記第１の複数のメディアアセット識別子内に含まれるメディアアセット識別子を備える第１の部分および前記第１の複数のメディアアセット識別子内に含まれないメディアアセット識別子を含む第２の部分を備え、前記第１の部分内のメディアアセット識別子は、前記第２の部分内のメディアアセット識別子から視覚的に区別される、手段と
を備える、システム。
【請求項２２】
前記第１の部分内の第１のメディアアセット識別子に対応する第１のメディアアセットの伝送時間と少なくとも部分的に重複する、前記複数のイベントの第１のイベントの第１の優先順位を判定するための手段と、
前記第１の部分内の第２のメディアアセット識別子に対応する第２のメディアアセットの伝送時間と少なくとも部分的に重複する、前記複数のイベントの第２のイベントの第２の優先順位を判定するための手段と、
前記第２の優先順位と異なる前記第１の優先順位に基づいて、前記第１の部分内の第１のメディアアセット識別子を前記第１の部分内の第２のメディアアセット識別子から視覚的に区別するための手段と
をさらに備える、請求項２１に記載のシステム。
【請求項２３】
前記第１の優先順位と関連付けられた第１の視覚的インジケータおよび前記第２の優先順位と関連付けられた第２の視覚的インジケータを記憶するための手段と、
表示のために、前記第１の視覚的インジケータを伴う前記第１のメディアアセット識別子および前記第２の視覚的インジケータを伴う前記第２のメディアアセット識別子を生成するための手段と
をさらに備える、請求項２２に記載のシステム。
【請求項２４】
前記第１の優先順位を再スケジュールされ得る前記複数のイベントのそれらのイベントに割り当て、前記第２の優先順位を再スケジュールされ得ない前記複数のイベントのそれらのイベントに割り当てるための手段と、
前記第１のメディアアセット識別子のユーザ選択に応答して、表示のために、前記第１のイベントと関連付けられたカレンダデータを生成し、前記第１のイベントを再スケジュールするためのオプションをユーザに提供するための手段と、
前記第２のメディアアセット識別子のユーザ選択に応答して、表示のために、前記第２のイベントと関連付けられたカレンダデータを生成し、前記第２のメディアアセットを記録するためのオプションを前記ユーザに提供するための手段と
をさらに備える、請求項２２に記載のシステム。
【請求項２５】
前記第１の部分内のメディアアセット識別子は、第１のタイプのインジケータによって前記第２の部分内のメディアアセット識別子から視覚的に区別され、前記第１のメディアアセット識別子は、第２のタイプのインジケータを伴う前記第２のメディアアセット識別子から視覚的に区別される、請求項２２に記載のシステム。
【請求項２６】
前記インジケータのタイプは、色、陰影、およびアイコンを備える、請求項２５に記載のシステム。
【請求項２７】
前記複数のイベントのイベント時間間隔と前記第１の複数のメディアアセットのメディアアセット時間間隔とを比較するための手段は、
前記複数のイベントの第１のイベントに関して、第１の開始時間および第１の終了時間を読み出すための手段と、
前記第１の複数のメディアアセット内の第１のメディアアセットに関して、第２の開始時間および第２の終了時間を読み出すための手段と、
前記第１の開始時間と前記第２の開始時間および前記第２の終了時間とを比較し、前記第１の終了時間と前記第２の開始時間および前記第２の終了時間とを比較するための手段と、
前記第１の開始時間または前記第１の終了時間が前記第２の開始時間と前記第２の終了時間との間にあることの判定に基づいて、前記第１のメディアアセットに関する第１の競合インジケータを生成するための手段と
を含む、請求項２１に記載のシステム。
【請求項２８】
前記第１の部分内の第１のメディアアセット識別子のユーザ選択に応答して、表示のために、前記第１のメディアアセット識別子と関連付けられた第１のメディアアセットに対応する新しいイベントを作成するためのオプションを生成するための手段と、
前記オプションのユーザ選択に応答して、それぞれ、前記第１のメディアアセットのメディアアセット開始時間およびメディアアセット終了時間に対応するイベント開始時間およびイベント終了時間を有する、前記新しいイベントを作成するための手段と、
前記新しいイベントを前記カレンダアプリケーションに伝送するための手段と
をさらに備える、請求項２１に記載のシステム。
【請求項２９】
前記カレンダアプリケーションから、異なるユーザと関連付けられた複数のイベントに関するカレンダデータを受信するための手段であって、前記異なるユーザと関連付けられたカレンダデータは、関連付けられたイベント開始時間および終了時間を有するイベント時間間隔を備える、手段と、
前記第２の複数のメディアアセットの前記第１の部分内の第１のメディアアセット識別子のユーザ選択に応答して、前記第１のメディアアセット識別子と関連付けられたメディアアセットの伝送時間が前記異なるユーザと関連付けられた前記イベント時間間隔のうちの少なくとも１つと少なくとも部分的に重複するかどうかを判定するための手段と、
前記第１のメディアアセット識別子と関連付けられた前記メディアアセットの伝送時間が前記異なるユーザと関連付けられた前記イベント時間間隔のうちの少なくとも１つと少なくとも部分的に重複しないことの判定に基づいて、表示のために、前記第１のメディアアセット識別子と関連付けられたメディアアセットを消費するように前記異なるユーザを招待するためのオプションを生成するための手段と
をさらに備える、請求項２１に記載のシステム。
【請求項３０】
ソーシャルネットワーキングアプリケーションと関連付けられたサーバから、前記ユーザの友達と関連付けられた複数のユーザ識別子を読み出すための手段と、
前記複数のユーザ識別子内のユーザ識別子毎に、各友達と関連付けられた複数のイベントに関するカレンダデータを読み出すための手段であって、前記カレンダデータは、関連付けられたイベント開始時間および終了時間を有するイベント時間間隔を備える、手段と、
前記第２の複数のメディアアセット識別子内の第１のメディアアセット識別子のユーザ選択に応答して、表示のために、前記第１のメディアアセット識別子に対応するメディアアセットを消費するようにスケジュールされている前記ユーザのそれらの友達と関連付けられた１つまたはそれを上回るユーザ識別子を生成するための手段と
をさらに備える、請求項２１に記載のシステム。
【請求項３１】
カレンダ情報をメディアガイドアプリケーション内に提示するためのその上に符号化された命令を有する、非一過性コンピュータ可読媒体であって、前記命令は、
カレンダアプリケーションから、ユーザと関連付けられた複数のイベントに関するカレンダデータを受信するための命令であって、前記カレンダデータは、関連付けられたイベント開始時間および終了時間を有するイベント時間間隔を備える、命令と、
前記複数のイベントのイベント時間間隔と第１の複数のメディアアセットのメディアアセット時間間隔とを比較するための命令であって、前記第１の複数のメディアアセットの各メディアアセットは、関連付けられたメディアアセット開始時間および終了時間を有し、対応するメディアアセット時間間隔の間、複数のユーザへの伝送のためにスケジュールされている、命令と、
前記比較に基づいて、対応するメディアアセットデータベースエントリ内に、第２の複数のメディアアセットに対応する第１の複数のメディアアセット識別子に関する競合インジケータを記憶するための命令であって、前記第２の複数のメディアアセットは、前記イベント時間間隔のうちの少なくとも１つと少なくとも部分的に重複する関連付けられたメディアアセット時間間隔を有する、前記第１の複数のメディアアセットからのメディアアセットを備える、命令と、
表示のために、ある時間期間の間の前記複数のユーザへの伝送のためにスケジュールされているメディアアセットに対応する第２の複数のメディアアセット識別子を生成するための命令であって、前記第２の複数のメディアアセット識別子は、前記第１の複数のメディアアセット識別子内に含まれるメディアアセット識別子を備える第１の部分および前記第１の複数のメディアアセット識別子内に含まれないメディアアセット識別子を含む第２の部分を備え、前記第１の部分内のメディアアセット識別子は、前記第２の部分内のメディアアセット識別子から視覚的に区別される、命令と
を備える、非一過性コンピュータ可読媒体。
【請求項３２】
前記命令はさらに、
前記第１の部分内の第１のメディアアセット識別子に対応する第１のメディアアセットの伝送時間と少なくとも部分的に重複する、前記複数のイベントの第１のイベントの第１の優先順位を判定するための命令と、
前記第１の部分内の第２のメディアアセット識別子に対応する第２のメディアアセットの伝送時間と少なくとも部分的に重複する、前記複数のイベントの第２のイベントの第２の優先順位を判定するための命令と、
前記第２の優先順位と異なる前記第１の優先順位に基づいて、前記第１の部分内の第１のメディアアセット識別子を前記第１の部分内の第２のメディアアセット識別子から視覚的に区別するための命令と
を備える、請求項３１に記載の非一過性コンピュータ可読媒体。
【請求項３３】
前記命令はさらに、
前記第１の優先順位と関連付けられた第１の視覚的インジケータおよび前記第２の優先順位と関連付けられた第２の視覚的インジケータを記憶するための命令と、
表示のために、前記第１の視覚的インジケータを伴う前記第１のメディアアセット識別子および前記第２の視覚的インジケータを伴う前記第２のメディアアセット識別子を生成するための命令と
を備える、請求項３２に記載の非一過性コンピュータ可読媒体。
【請求項３４】
前記命令はさらに、
前記第１の優先順位を再スケジュールされ得る前記複数のイベントのそれらのイベントに割り当て、前記第２の優先順位を再スケジュールされ得ない前記複数のイベントのそれらのイベントに割り当てるための命令と、
前記第１のメディアアセット識別子のユーザ選択に応答して、表示のために、前記第１のイベントと関連付けられたカレンダデータを生成し、前記第１のイベントを再スケジュールするためのオプションをユーザに提供するための命令と、
前記第２のメディアアセット識別子のユーザ選択に応答して、表示のために、前記第２のイベントと関連付けられたカレンダデータを生成し、前記第２のメディアアセットを記録するためのオプションを前記ユーザに提供するための命令と
を備える、請求項３２に記載の非一過性コンピュータ可読媒体。
【請求項３５】
前記第１の部分内のメディアアセット識別子は、第１のタイプのインジケータによって前記第２の部分内のメディアアセット識別子から視覚的に区別され、前記第１のメディアアセット識別子は、第２のタイプのインジケータを伴う前記第２のメディアアセット識別子から視覚的に区別される、請求項３２に記載の非一過性コンピュータ可読媒体。
【請求項３６】
前記インジケータのタイプは、色、陰影、およびアイコンを備える、請求項３５に記載の非一過性コンピュータ可読媒体。
【請求項３７】
前記複数のイベントのイベント時間間隔と前記第１の複数のメディアアセットのメディアアセット時間間隔とを比較するための命令はさらに、
前記複数のイベントの第１のイベントに関して、第１の開始時間および第１の終了時間を読み出すための命令と、
前記第１の複数のメディアアセット内の第１のメディアアセットに関して、第２の開始時間および第２の終了時間を読み出すための命令と、
前記第１の開始時間と前記第２の開始時間および前記第２の終了時間とを比較し、前記第１の終了時間と前記第２の開始時間および前記第２の終了時間とを比較するための命令と、
前記第１の開始時間または前記第１の終了時間が前記第２の開始時間と前記第２の終了時間との間にあることの判定に基づいて、前記第１のメディアアセットに関する第１の競合インジケータを生成するための命令と
を備える、請求項３１に記載の非一過性コンピュータ可読媒体。
【請求項３８】
前記命令はさらに、
前記第１の部分内の第１のメディアアセット識別子のユーザ選択に応答して、表示のために、前記第１のメディアアセット識別子と関連付けられた第１のメディアアセットに対応する新しいイベントを作成するためのオプションを生成するための命令と、
前記オプションのユーザ選択に応答して、それぞれ、前記第１のメディアアセットのメディアアセット開始時間およびメディアアセット終了時間に対応するイベント開始時間およびイベント終了時間を有する、前記新しいイベントを作成するための命令と、
前記新しいイベントを前記カレンダアプリケーションに伝送するための命令と
を備える、請求項３１に記載の非一過性コンピュータ可読媒体。
【請求項３９】
前記命令はさらに、
前記カレンダアプリケーションから、異なるユーザと関連付けられた複数のイベントに関するカレンダデータを受信するための命令であって、前記異なるユーザと関連付けられたカレンダデータは、関連付けられたイベント開始時間および終了時間を有するイベント時間間隔を備える、命令と、
前記第２の複数のメディアアセットの前記第１の部分内の第１のメディアアセット識別子のユーザ選択に応答して、前記第１のメディアアセット識別子と関連付けられたメディアアセットの伝送時間が前記異なるユーザと関連付けられた前記イベント時間間隔のうちの少なくとも１つと少なくとも部分的に重複するかどうかを判定するための命令と、
前記第１のメディアアセット識別子と関連付けられた前記メディアアセットの伝送時間が前記異なるユーザと関連付けられた前記イベント時間間隔のうちの少なくとも１つと少なくとも部分的に重複しないことの判定に基づいて、表示のために、前記第１のメディアアセット識別子と関連付けられたメディアアセットを消費するように前記異なるユーザを招待するためのオプションを生成するための命令と
を備える、請求項３１に記載の非一過性コンピュータ可読媒体。
【請求項４０】
前記命令はさらに、
ソーシャルネットワーキングアプリケーションと関連付けられたサーバから、前記ユーザの友達と関連付けられた複数のユーザ識別子を読み出すための命令と、
前記複数のユーザ識別子内のユーザ識別子毎に、各友達と関連付けられた複数のイベントに関するカレンダデータを読み出すための命令であって、前記カレンダデータは、関連付けられたイベント開始時間および終了時間を有するイベント時間間隔を備える、命令と、
前記第２の複数のメディアアセット識別子内の第１のメディアアセット識別子のユーザ選択に応答して、表示のために、前記第１のメディアアセット識別子に対応するメディアアセットを消費するようにスケジュールされている前記ユーザのそれらの友達と関連付けられた１つまたはそれを上回るユーザ識別子を生成するための命令と
を備える、請求項３１に記載の非一過性コンピュータ可読媒体。
【請求項４１】
カレンダ情報をメディアガイドアプリケーション内に提示するための方法であって、
カレンダアプリケーションから、ユーザと関連付けられた複数のイベントに関するカレンダデータを受信するステップであって、前記カレンダデータは、イベント時間間隔を備える、ステップと、
前記イベント時間間隔に基づいて、前記ユーザと関連付けられたイベントと重複する伝送時間を有するメディアアセットに対応する、第１の複数のメディアアセット識別子を判定するステップと、
前記判定に基づいて、表示のために、ある時間期間の間の前記複数のユーザへの伝送のためにスケジュールされているメディアアセットに対応する第２の複数のメディアアセット識別子を生成するステップであって、前記第２の複数のメディアアセット識別子は、前記第１の複数のメディアアセット識別子内に含まれるメディアアセット識別子を備える第１の部分および前記第１の複数のメディアアセット識別子内に含まれないメディアアセット識別子を含む第２の部分を備え、前記第１の部分内のメディアアセット識別子は、前記第２の部分内のメディアアセット識別子から視覚的に区別される、ステップと
を含む、方法。
【請求項４２】
前記第１の部分内の第１のメディアアセット識別子に対応する第１のメディアアセットの伝送時間と少なくとも部分的に重複する、前記複数のイベントの第１のイベントの第１の優先順位を判定するステップと、
前記第１の部分内の第２のメディアアセット識別子に対応する第２のメディアアセットの伝送時間と少なくとも部分的に重複する、前記複数のイベントの第２のイベントの第２の優先順位を判定するステップと、
前記第２の優先順位と異なる前記第１の優先順位に基づいて、前記第１の部分内の第１のメディアアセット識別子を前記第１の部分内の第２のメディアアセット識別子から視覚的に区別するステップと
をさらに含む、請求項４１に記載の方法。
【請求項４３】
前記第１の優先順位と関連付けられた第１の視覚的インジケータおよび前記第２の優先順位と関連付けられた第２の視覚的インジケータを記憶するステップと、
表示のために、前記第１の視覚的インジケータを伴う前記第１のメディアアセット識別子および前記第２の視覚的インジケータを伴う前記第２のメディアアセット識別子を生成するステップと
をさらに含む、請求項４２に記載の方法。
【請求項４４】
前記第１の優先順位を再スケジュールされ得る前記複数のイベントのそれらのイベントに割り当て、前記第２の優先順位を再スケジュールされ得ない前記複数のイベントのそれらのイベントに割り当てるステップと、
前記第１のメディアアセット識別子のユーザ選択に応答して、表示のために、前記第１のイベントと関連付けられたカレンダデータを生成し、前記第１のイベントを再スケジュールするためのオプションをユーザに提供するステップと、
前記第２のメディアアセット識別子のユーザ選択に応答して、表示のために、前記第２のイベントと関連付けられたカレンダデータを生成し、前記第２のメディアアセットを記録するためのオプションを前記ユーザに提供するステップと
をさらに含む、請求項４２または４３に記載の方法。
【請求項４５】
前記第１の部分内のメディアアセット識別子は、第１のタイプのインジケータによって前記第２の部分内のメディアアセット識別子から視覚的に区別され、前記第１のメディアアセット識別子は、第２のタイプのインジケータを伴う前記第２のメディアアセット識別子から視覚的に区別される、請求項４２−４４のいずれか１項に記載の方法。
【請求項４６】
前記イベント時間間隔に基づいて、前記ユーザと関連付けられたイベントと重複するメディアアセットに対応する前記第１の複数のメディアアセット識別子を判定するステップは、
前記複数のイベントのイベント時間間隔と第１の複数のメディアアセットのメディアアセット時間間隔とを比較するステップと、
前記比較に基づいて、前記第２の複数のメディアアセットに対応する前記第１の複数のメディアアセット識別子に関する競合インジケータを記憶するステップであって，前記第２の複数のメディアアセットは、前記イベント時間間隔のうちの少なくとも１つと少なくとも部分的に重複する関連付けられたメディアアセット時間間隔を有する、前記第１の複数のメディアアセットからのメディアアセットを備える、ステップと
を含む、請求項４１−４５のいずれか１項に記載の方法。
【請求項４７】
前記複数のイベントのイベント時間間隔と前記第１の複数のメディアアセットのメディアアセット時間間隔とを比較するステップは、
前記複数のイベントの第１のイベントに関して、第１の開始時間および第１の終了時間を読み出すステップと、
前記第１の複数のメディアアセット内の第１のメディアアセットに関して、第２の開始時間および第２の終了時間を読み出すステップと、
前記第１の開始時間と前記第２の開始時間および前記第２の終了時間とを比較し、前記第１の終了時間と前記第２の開始時間および前記第２の終了時間とを比較するステップと、
前記第１の開始時間または前記第１の終了時間が前記第２の開始時間と前記第２の終了時間との間にあることの判定に基づいて、前記第１のメディアアセットに関する第１の競合インジケータを生成するステップと
を含む、請求項４１−４６のいずれか１項に記載の方法。
【請求項４８】
前記第１の部分内の第１のメディアアセット識別子のユーザ選択に応答して、表示のために、前記第１のメディアアセット識別子と関連付けられた第１のメディアアセットに対応する新しいイベントを作成するためのオプションを生成するステップと、
前記オプションのユーザ選択に応答して、それぞれ、前記第１のメディアアセットのメディアアセット開始時間およびメディアアセット終了時間に対応するイベント開始時間およびイベント終了時間を有する、前記新しいイベントを作成するステップと、
前記新しいイベントを前記カレンダアプリケーションに伝送するステップと
をさらに含む、請求項４１−４７のいずれか１項に記載の方法。
【請求項４９】
前記カレンダアプリケーションから、異なるユーザと関連付けられた複数のイベントに関するカレンダデータを受信するステップであって、前記異なるユーザと関連付けられたカレンダデータは、関連付けられたイベント開始時間および終了時間を有するイベント時間間隔を備える、ステップと、
前記第２の複数のメディアアセットの前記第１の部分内の第１のメディアアセット識別子のユーザ選択に応答して、前記第１のメディアアセット識別子と関連付けられたメディアアセットの伝送時間が前記異なるユーザと関連付けられた前記イベント時間間隔のうちの少なくとも１つと少なくとも部分的に重複するかどうかを判定するステップと、
前記第１のメディアアセット識別子と関連付けられた前記メディアアセットの伝送時間が前記異なるユーザと関連付けられた前記イベント時間間隔のうちの少なくとも１つと少なくとも部分的に重複しないことの判定に基づいて、表示のために、前記第１のメディアアセット識別子と関連付けられたメディアアセットを消費するように前記異なるユーザを招待するためのオプションを生成するステップと
をさらに含む、請求項４１−４８のいずれか１項に記載の方法。
【請求項５０】
ソーシャルネットワーキングアプリケーションと関連付けられたサーバから、前記ユーザの友達と関連付けられた複数のユーザ識別子を読み出すステップと、
前記複数のユーザ識別子内のユーザ識別子毎に、各友達と関連付けられた複数のイベントに関するカレンダデータを読み出すステップであって、前記カレンダデータは、関連付けられたイベント開始時間および終了時間を有するイベント時間間隔を備える、ステップと、
前記第２の複数のメディアアセット識別子内の第１のメディアアセット識別子のユーザ選択に応答して、表示のために、前記第１のメディアアセット識別子に対応するメディアアセットを消費するようにスケジュールされている前記ユーザのそれらの友達と関連付けられた１つまたはそれを上回るユーザ識別子を生成するステップと
をさらに含む、請求項４１−４９のいずれか１項に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
（関連出願の相互参照）
本願は、２０１５年１２月２３日に出願された米国特許出願第１４／９９８，１０９号に対する優先権およびその利益を主張するものであり、該出願は、参照により本明細書中に援用される。
【背景技術】
【０００２】
従来のシステムでは、ユーザは、多数のメディアコンテンツへのアクセスを有する。大部分の場合、ユーザは、メディアガイドアプリケーションを通して、将来利用可能となるであろうコンテンツを確認することができる。同一メディアガイドアプリケーションを通して、ユーザは、ユーザが消費することを所望する具体的コンテンツが伝送されるであろう、チャンネル番号および時間を見出すことができる。しかしながら、ユーザは、多くの場合、ユーザが先約を有し得るため、彼らが所望のメディアアセットを消費することが可能となるかどうかを判定する際に補助を要求する。現在のシステムでは、ユーザは、先約によってユーザが所望のメディアコンテンツを消費することが阻まれるであろうかどうかを判定するために、その個人のカレンダを調べることを余儀なくされる。これは、非効率的であって、時間がかかり、ユーザを混乱させる。
【発明の概要】
【課題を解決するための手段】
【０００３】
故に、ユーザがユーザの予定と重複するメディアアセットをそうではないメディアアセットから区別することを可能にするメディアガイドアプリケーションのためのシステムおよび方法が、本明細書に説明される。具体的には、メディアガイドアプリケーションは、ユーザのカレンダアプリケーションにアクセスし、ユーザのカレンダデータをそのカレンダアプリケーションから受信してもよい。メディアガイドアプリケーションは、任意の重複が存在するかどうかを判定するために、ユーザのカレンダデータ（例えば、予定開始時間および終了時間）とメディアアセットスケジューリングデータ（例えば、メディアアセット開始時間および終了時間）とを比較してもよい。重複メディアアセット毎に、メディアガイドアプリケーションは、競合インジケータを記憶してもよい。メディアガイドアプリケーションは、表示のために、メディアアセット識別子のセット（例えば、番組一覧）を生成してもよく、少なくとも１つのカレンダ予定と重複するメディアアセット識別子は、任意のカレンダ予定と重複しないメディアアセット識別子から視覚的に区別される。
【０００４】
例えば、メディアガイドアプリケーションは、ユーザから、将来の時間のためのメディアアセット識別子（例えば、番組一覧）に関する要求を受信してもよい。メディアガイドアプリケーションは、表示のために、メディアアセット識別子とともに、視覚的インジケータまたは複数の視覚的インジケータを生成し、ユーザに、メディアアセット伝送時間がその将来の時間期間内のユーザの予定と重複するであろうことを知らせてもよい。
【０００５】
いくつかの側面では、メディアガイドアプリケーションは、カレンダアプリケーションから、ユーザと関連付けられた複数のイベントに関するカレンダデータを受信してもよい。カレンダデータは、関連付けられたイベント開始時間およびイベント終了時間を有する、イベント時間間隔を含んでもよい。例えば、ユーザは、サービスプロバイダによってホストされる、関連付けられたカレンダを有してもよい。関連付けられたカレンダは、スケジュールされた開始時間および終了時間を有する、イベント（例えば、ユーザの予定）を含んでもよい。これらのイベントはまた、説明、予定場所、主題、リマインダデータ、優先順位情報等の多数の他のメタデータを含んでもよい。メディアガイドアプリケーションは、その情報をサービスプロバイダと関連付けられたサーバから受信してもよい。開始時間および終了時間は、日付および時間の両方を含むことに留意されたい。メディアガイドアプリケーションは、カレンダデータを複数のカレンダ（例えば、仕事用カレンダおよび個人用カレンダ）から読み出してもよいことに留意されたい。
【０００６】
メディアガイドアプリケーションは、複数のイベントのイベント時間間隔と第１の複数のメディアアセットのメディアアセット時間間隔とを比較してもよい。比較に関わる第１の複数のメディアアセットの各メディアアセットは、関連付けられたメディアアセット開始時間および終了時間を有してもよく、対応するメディアアセット時間間隔の間、複数のユーザへの伝送のためにスケジュールされてもよい。例えば、メディアガイドアプリケーションは、ユーザと関連付けられた多数の予定を受信してもよい。メディアガイドアプリケーションは、予定の開始時間および終了時間とメディアアセットの伝送時間とを比較することによって、受信された予定の時間と重複するメディアアセット伝送時間を判定してもよい。メディアガイドアプリケーションは、具体的メディアアセットが、１つの予定、複数の予定と重複する、または予定と重複しないことを判定してもよい。
【０００７】
メディアガイドアプリケーションは、比較に基づいて、対応するメディアアセットデータベースエントリ内に、第２の複数のメディアアセットに対応する第１の複数のメディアアセット識別子に関する競合インジケータを記憶してもよい。第２の複数のメディアアセットは、イベント時間間隔のうちの少なくとも１つと少なくとも部分的に重複する関連付けられたメディアアセット時間間隔を有する、第１の複数のメディアアセットからのメディアアセットを含んでもよい。いくつかの実施形態では、メディアガイドアプリケーションはまた、対応するメディアアセットデータベースエントリ内の重複イベントと関連付けられた優先順位を含んでもよい。例えば、メディアガイドアプリケーションは、前述の比較の際、１０のメディアアセットがユーザの予定と重複することを判定してもよい。さらに、メディアガイドアプリケーションは、１０のメディアアセットのうち２つが複数の予定と重複することを判定してもよい。本判定に基づいて、メディアガイドアプリケーションは、競合インジケータを対応するメディアアセットデータベースエントリ内に記憶してもよい。代替として、または加えて、メディアガイドアプリケーションは、各重複予定に対応する１つの競合インジケータを記憶してもよい。競合インジケータは、競合を示すバイナリ値であってもよい。加えて、または代替として、競合インジケータは、重複予定についての情報、その情報へのポインタ、および／または予定自体へのポインタを含んでもよい。予定へのポインタは、受信されたカレンダデータ内の予定またはカレンダアプリケーション内の予定をポイントしてもよい。
【０００８】
メディアガイドアプリケーションは、表示のために、ある時間期間の間の複数のユーザへの伝送のためにスケジュールされているメディアアセットに対応する第２の複数のメディアアセット識別子を生成してもよい。第２の複数のメディアアセット識別子は、第１の複数のメディアアセット識別子内に含まれるメディアアセット識別子を備える第１の部分と、第１の複数のメディアアセット識別子内に含まれないメディアアセット識別子を含む第２の部分とを含んでもよい。第１の部分内のメディアアセット識別子は、第２の部分内のメディアアセット識別子から視覚的に区別されてもよい。例えば、メディアガイドアプリケーションは、表示のために、チャンネル１〜５（垂直軸）上の午後５：００〜７：００（水平軸）に伝送されることがスケジュールされているメディアアセットに関するメディアアセット識別子のグリッドを生成してもよい。ユーザが、午後４：３０〜５：３０に医師との面会を有する場合、午後５：００〜５：３０に伝送過程にあるであろうメディアアセットに対応するメディアアセット識別子は、午後５：００〜５：３０に伝送過程にないであろうメディアアセットに対応するメディアアセット識別子から視覚的に区別されるであろう。例えば、メディアガイドアプリケーションは、具体的陰影パターンを重複メディアアセット識別子に追加してもよい。メディアガイドアプリケーションは、陰影パターンを表示されているメディアアセット識別子全体または重複部分のみに追加してもよい。加えて、または代替として、メディアガイドアプリケーションは、アイコンを重複メディアアセット識別子に追加し、競合を示してもよい。
【０００９】
いくつかの実施形態では、メディアガイドアプリケーションは、異なる優先順位のイベントと関連付けられたメディアアセット識別子を視覚的に区別してもよい。具体的には、メディアガイドアプリケーションは、第１の部分内の第１のメディアアセット識別子に対応する第１のメディアアセットの伝送時間と少なくとも部分的に重複する、複数のイベントの第１のイベントの第１の優先順位を判定してもよい。メディアガイドアプリケーションはまた、第１の部分内の第２のメディアアセット識別子に対応する第２のメディアアセットの伝送時間と少なくとも部分的に重複する、複数のイベントの第２のイベントの第２の優先順位を判定してもよい。メディアガイドアプリケーションは、第２の優先順位と異なる第１の優先順位に基づいて、第１の部分内の第１のメディアアセット識別子を第１の部分内の第２のメディアアセット識別子から視覚的に区別してもよい。
【００１０】
例えば、メディアガイドアプリケーションは、高優先順位をビジネスミーティングに対応するイベントに、低優先順位をユーザのジム時間に対応するイベントに割り当ててもよい。メディアガイドアプリケーションは、優先順位情報をカレンダアプリケーションから他のカレンダデータ（すなわち、開始時間、終了時間等）とともに読み出してもよい。いくつかの実施形態では、メディアガイドアプリケーションは、イベントのコンテンツに基づいて、具体的イベントと関連付けられた優先順位を判定してもよい。イベントと関連付けられた優先順位を判定するためのいくつかの可能性として考えられる方法が、以下に議論される。メディアガイドアプリケーションが、表示のために、同一表示画面内に、それぞれ、２つのイベントに対応する２つのメディアアセット識別子を生成するとき、メディアガイドアプリケーションは、２つのイベントを異なる色によって視覚的に区別してもよい（例えば、高優先順位イベントに対応するメディアアセット識別子は、赤色で表示されてもよく、低優先順位イベントに対応するメディアアセット識別子は、緑色で表示されてもよい）。他の色の組み合わせおよびイベント優先順位が、イベントに割り当てられてもよいことに留意されたい。例えば、メディアガイドアプリケーションは、中間優先順位を第３のイベントに割り当て、そのメディアアセット識別子を黄色で表示することによって、対応するメディアアセット識別子を視覚的に区別してもよい。
【００１１】
いくつかの実施形態では、メディアガイドアプリケーションは、表示のために、重複イベントの優先順位に基づいて、異なるインジケータを異なるメディアアセット識別子とともに生成してもよい。具体的には、メディアガイドアプリケーションは、第１の優先順位と関連付けられた第１の視覚的インジケータおよび第２の優先順位と関連付けられた第２の視覚的インジケータを記憶し、表示のために、第１の視覚的インジケータを伴う第１のメディアアセット識別子および第２の視覚的インジケータを伴う第２のメディアアセット識別子を生成してもよい。例えば、メディアガイドアプリケーションは、表示のために、高優先順位イベントと関連付けられたメディアアセット識別子をその中に単語「高」を含むアイコンとともに、低優先順位イベントと関連付けられたメディアアセット識別子をその中に単語「低」を含むアイコンとともに生成してもよい。
【００１２】
いくつかの実施形態では、メディアガイドアプリケーションは、ユーザに、異なる優先順位の重複イベントに対応するメディアアセット識別子の選択に基づいて、異なるオプションを提供してもよい。具体的には、メディアガイドアプリケーションは、第１の優先順位を再スケジュールされ得る複数のイベントのそれらのイベントに割り当て、第２の優先順位を再スケジュールされ得ない複数のイベントのそれらのイベントに割り当ててもよい。第１のメディアアセット識別子のユーザ選択に応答して、メディアガイドアプリケーションは、表示のために、第１のイベントと関連付けられたカレンダデータを生成し、第１のイベントを再スケジュールするためのオプションをユーザに提供してもよい。しかしながら、第２のメディアアセット識別子のユーザ選択に応答して、メディアガイドアプリケーションは、表示のために、第２のイベントと関連付けられたカレンダデータを生成し、第２のメディアアセットを記録するためのオプションをユーザに提供してもよい。
【００１３】
例えば、メディアガイドアプリケーションが低優先順位イベントに対応するメディアアセット識別子のユーザ選択を受信すると、メディアガイドアプリケーションは、表示のために、イベントを再スケジュールするためのオプションを生成してもよい。メディアガイドアプリケーションが、ユーザがイベントを再スケジュールするためのオプションを選択したことを検出する場合、メディアガイドアプリケーションは、ユーザが異なる日付および時間を再スケジュールされているイベントのために入力することを可能にしてもよい。メディアガイドアプリケーションはまた、ユーザがイベントの他の部分（例えば、タイトル、説明、リマインダオプション等）を修正することを可能にしてもよい。別の実施例では、メディアガイドアプリケーションが、高優先順位イベントに対応するメディアアセット識別子のユーザ選択を受信すると、メディアガイドアプリケーションは、表示のために、重複イベントを再スケジュールするためのオプションを提供せずに、対応するメディアアセットを記録するためのオプションをユーザに生成してもよい。
【００１４】
いくつかの実施形態では、メディアガイドアプリケーションは、複数のイベントのイベント時間間隔と第１の複数のメディアアセットのメディアアセット時間間隔とを比較するとき、それぞれ、イベントおよびメディアアセットの開始時間および終了時間に基づいて、比較を行ってもよい。具体的には、メディアガイドアプリケーションは、複数のイベントの第１のイベントに関して、第１の開始時間および第１の終了時間を読み出してもよい。メディアガイドアプリケーションはまた、第１の複数のメディアアセット内の第１のメディアアセットに関して、第２の開始時間および第２の終了時間を読み出してもよい。メディアガイドアプリケーションは、第１の開始時間と第２の開始時間および第２の終了時間とを比較し、また、第１の終了時間と第２の開始時間および第２の終了時間とを比較してもよい。第１の開始時間または第１の終了時間が第２の開始時間と第２の終了時間との間にあることの判定に基づいて、メディアガイドアプリケーションは、第１のメディアアセットに関する第１の競合インジケータを生成してもよい。
【００１５】
例えば、メディアガイドアプリケーションは、比較のために、午後１：３０に開始し、午後３：００に終了するようにスケジュールされているビジネスランチを選択してもよい。メディアガイドアプリケーションは、ビジネスランチと午後２：３０〜５：００に伝送されるスポーツイベント（例えば、野球の試合）とを比較してもよい。メディアガイドアプリケーションは、午後１：３０の開始時間と午後２：３０の開始時間および午後５：００の終了時間とを比較し、午後１：３０がそれらの２つの時間の間にないことを判定し得る。したがって、重複は、見出されない。しかしながら、メディアガイドアプリケーションはまた、ビジネスランチの午後３：００の終了時間と野球の試合の午後２：３０の開始時間および午後５：００の終了時間とを比較し、午後３：００が午後２：３０〜５：００にあって、したがって、重複を見出すことを判定し得る。
【００１６】
いくつかの実施形態では、メディアガイドアプリケーションは、視覚的に、第１のタイプのインジケータによって、第１の部分内のメディアアセット識別子を第２の部分内のメディアアセット識別子から区別し、第２のタイプのインジケータを用いて、第１のメディアアセット識別子を第２のメディアアセット識別子から区別してもよい。例えば、メディアガイドアプリケーションは、表示のために、ビジネスミーティングと重複するメディアアセットに対応するメディアアセット識別子と、スケジュールされたジムセッションに対応するメディアアセット識別子とを生成し、それらの両方に重複を示すアイコン（すなわち、あるタイプのインジケータ）を割り当ててもよい。しかしながら、アイコンは、ビジネスミーティングに対応するメディアアセット識別子に関しては赤色であって、スケジュールされたジムセッションに対応するメディアアセット識別子に関しては緑色であってもよい（すなわち、第２のタイプのインジケータ）。いくつかの実施形態では、インジケータのタイプは、色、陰影、アイコン、視覚的キュー、オーディオキュー等を含んでもよい。
【００１７】
いくつかの実施形態では、メディアガイドアプリケーションは、ユーザが消費することを計画しているメディアアセットの伝送時間に対応する新しいスケジュールされたイベントを作成するためのオプションをユーザに提供してもよい。具体的には、メディアガイドアプリケーションは、第１の部分内の第１のメディアアセット識別子のユーザ選択に応答して、表示のために、第１のメディアアセット識別子と関連付けられた第１のメディアアセットに対応する新しいイベントを作成するためのオプションを生成してもよい。メディアガイドアプリケーションは、オプションのユーザ選択に応答して、それぞれ、第１のメディアアセットのメディアアセット開始時間およびメディアアセット終了時間に対応するイベント開始時間およびイベント終了時間を有する、新しいイベントを作成してもよい。メディアガイドアプリケーションは、新しいイベントをカレンダアプリケーションに伝送してもよい。例えば、ユーザが、午後７：００〜１０：００に伝送されることがスケジュールされているバスケットボールの試合を観戦を所望する場合、メディアガイドアプリケーションは、ユーザがバスケットボールの試合と関連付けられたメディアアセット識別子を選択することに応答して、新しいイベントを作成するためのオプションをユーザに提供してもよい。いったんメディアガイドアプリケーションが、新しいイベントを作成するためのオプションのユーザ選択を受信すると、メディアガイドアプリケーションは、イベントを作成し、新しいイベントをカレンダアプリケーションに伝送するためのルーチンを実行してもよい。いくつかの実施形態では、メディアガイドアプリケーションは、イベントをカレンダアプリケーションに伝送する前に、ユーザが新しく作成されたイベントを編集することを可能にしてもよい。
【００１８】
いくつかの実施形態では、メディアガイドアプリケーションは、ユーザがメディアアセットを消費するように別のユーザを招待することを可能にしてもよい。具体的には、メディアガイドアプリケーションは、カレンダアプリケーションから、異なるユーザと関連付けられた複数のイベントに関するカレンダデータを受信してもよい。異なるユーザと関連付けられたカレンダデータは、関連付けられたイベント開始時間および終了時間を有するイベント時間間隔を含んでもよい。第２の複数のメディアアセットの第１の部分内の第１のメディアアセット識別子のユーザ選択に応答して、メディアガイドアプリケーションは、第１のメディアアセット識別子と関連付けられたメディアアセットの伝送時間が異なるユーザと関連付けられたイベント時間間隔のうちの少なくとも１つと少なくとも部分的に重複するかどうかを判定してもよい。第１のメディアアセット識別子と関連付けられたメディアアセットが異なるユーザと関連付けられたイベント時間間隔のうちの少なくとも１つと少なくとも部分的に重複しないことの判定に基づいて、メディアガイドアプリケーションは、表示のために、第１のメディアアセット識別子と関連付けられたメディアアセットを消費するように異なるユーザを招待するためのオプションを生成してもよい。
【００１９】
例えば、ユーザは、ユーザが消費することを計画している同一メディアアセットを消費するようにその配偶者または友達を招待することを所望し得る。メディアガイドアプリケーションは、ユーザからの入力を受け取り、ユーザの友達または配偶者と関連付けられたユーザ識別子（例えば、電子メールアドレス）を提供してもよい。メディアガイドアプリケーションは、友達または配偶者と関連付けられたカレンダデータを読み出し、次いで、メディアアセットの伝送の間、友達または配偶者が先約を有するかどうかを判定してもよい。カレンダデータに基づいて、先約が見出されない場合、メディアガイドアプリケーションは、メディアアセットを消費するようにユーザの友達または配偶者を招待するためのオプションをユーザに提供してもよい。メディアガイドアプリケーションは、電子メール、カレンダ招待、ショートメッセージサービス（「ＳＭＳ」）メッセージ、または任意の他の方法を介して、招待を伝送してもよい。メディアガイドアプリケーションは、他のユーザのカレンダの完全詳細にアクセスを有していなくてもよいことに留意されたい。したがって、メディアガイドアプリケーションは、他のユーザと関連付けられた空き／非空き情報のみを読み出してもよい。
【００２０】
いくつかの実施形態では、メディアガイドアプリケーションは、表示のために、具体的メディアアセットを消費するようにスケジュールされているユーザの「友達」のリストを生成してもよい。具体的には、メディアガイドアプリケーションは、ソーシャルネットワーキングアプリケーションと関連付けられたサーバから、ユーザの友達と関連付けられた複数のユーザ識別子を読み出してもよい。メディアガイドアプリケーションは、複数のユーザ識別子内のユーザ識別子毎に、各友達と関連付けられた複数のイベントに関するカレンダデータを読み出してもよい。カレンダデータは、関連付けられたイベント開始時間および終了時間を有するイベント時間間隔を含んでもよい。前述のように、本事例では、メディアガイドアプリケーションは、友達のカレンダ情報の完全詳細へのアクセスを有していなくてもよく、空き／非空きデータのみを読み出してもよい。第２の複数のメディアアセット識別子内の第１のメディアアセット識別子のユーザ選択に応答して、メディアガイドアプリケーションは、表示のために、第１のメディアアセット識別子に対応するメディアアセットを消費するようにスケジュールされているユーザのそれらの友達と関連付けられた１つまたはそれを上回るユーザ識別子を生成してもよい。
【００２１】
例えば、ユーザに、具体的番組（例えば、大統領候補討論会）を鑑賞または記録することがスケジュールされているその友達のリストを提供することが望ましくあり得る（例えば、ソーシャルネットワーキングアプリケーションから）。メディアガイドアプリケーションは、ユーザから、大統領候補討論会と関連付けられたメディアアセット識別子の選択を受信してもよい。メディアガイドアプリケーションは、表示のために、大統領候補討論会を鑑賞またはそれを記録することがスケジュールされているユーザの友達のリストをソーシャルネットワーキングアプリケーションから生成してもよい。
【図面の簡単な説明】
【００２２】
【図１】図１は、本開示のいくつかの実施形態による、メディアガイドアプリケーション一覧および他のメディアガイド情報を提供するために使用され得る、表示画面の例証的実施形態を示す。
【図２】図２は、本開示のいくつかの実施形態による、メディアガイドアプリケーション一覧を提供するために使用され得る、表示画面の別の例証的実施形態を示す。
【図３】図３は、本開示のいくつかの実施形態による、例証的デバイスのブロック図である。
【図４】図４は、本開示のいくつかの実施形態による、例証的メディアシステムのブロック図である。
【図５】図５は、本開示のいくつかの実施形態による、少なくとも１つのイベントと重複するメディアアセットに対応するメディアアセット識別子をそうではないメディアアセットに対応するメディアアセット識別子から視覚的に区別するステップに関わる例証的プロセスを描写する。
【図６】図６は、本開示のいくつかの実施形態による、ユーザと関連付けられた複数のイベントに関するカレンダデータを受信するステップに関わる例証的プロセスを描写する。
【図７】図７は、本開示のいくつかの実施形態による、ユーザと関連付けられた複数のイベントに関するカレンダデータを受信するステップに関わる例証的擬似コードを描写する。
【図８】図８は、本開示のいくつかの実施形態による、カレンダイベントと重複するメディアアセットを識別するステップに関わる例証的プロセスを描写する。
【図９】図９は、本開示のいくつかの実施形態による、カレンダイベントと重複するメディアアセットを識別するステップに関わる例証的擬似コードを描写する。
【図１０】図１０は、本開示のいくつかの実施形態による、競合インジケータを適切なメディアアセット識別子データベースエントリとともに記憶するステップに関わる例証的プロセスを描写する。
【図１１】図１１は、本開示のいくつかの実施形態による、競合インジケータを適切なメディアアセット識別子データベースエントリとともに記憶するステップに関わる例証的擬似コードを描写する。
【図１２】図１２は、本開示のいくつかの実施形態による、ユーザのカレンダイベントと重複するメディアアセットに対応するメディアアセット識別子を視覚的に区別しながら、表示のために、メディアアセット識別子を生成するステップに関わる例証的プロセスを描写する。
【図１３】図１３は、本開示のいくつかの実施形態による、ユーザのカレンダイベントと重複するメディアアセットに対応するメディアアセット識別子を視覚的に区別しながら、表示のために、メディアアセット識別子を生成するステップに関わる例証的擬似コードを描写する。
【図１４】図１４は、本開示のいくつかの実施形態による、ユーザのカレンダイベントと重複するメディアアセットに対応するメディアアセット識別子が、ユーザのカレンダイベントと重複しないメディアアセットに対応するメディアアセット識別子から視覚的に区別される、画面の例証を描写する。
【発明を実施するための形態】
【００２３】
ユーザがユーザの予定と重複するメディアアセットをそうではないメディアアセットから区別することを可能にする、メディアガイドアプリケーションが、本明細書に説明される。具体的には、メディアガイドアプリケーションは、ユーザのカレンダデータ（例えば、ユーザのカレンダ予定）にアクセスし、ユーザのカレンダデータをそのカレンダアプリケーションから受信してもよい。メディアガイドアプリケーションは、任意の重複が存在するかどうかを判定するために、ユーザのカレンダデータとメディアアセットスケジューリングデータとを比較してもよい。重複メディアアセット毎に、メディアガイドアプリケーションは、競合インジケータを記憶してもよい。メディアガイドアプリケーションは、表示のために、メディアアセット識別子のセット（例えば、番組一覧）を生成してもよく、少なくとも１つのカレンダ予定と重複するメディアアセット識別子は、任意のカレンダ予定と重複しないメディアアセット識別子から視覚的に区別される。
【００２４】
さらに、メディアガイドアプリケーションは、異なる優先順位のイベントと重複するメディアアセット識別子間を視覚的に区別してもよい。それらの事例では、メディアガイドアプリケーションは、表示のために、１つの視覚的インジケータを用いて、１つの優先順位のイベントと重複するメディアアセットに対応するメディアアセット識別子を、第２の視覚的インジケータを用いて、第２の優先順位のイベントと重複するメディアアセットに対応するメディアアセット識別子を生成してもよい。メディアガイドアプリケーションは、ユーザが、低優先順位イベントと重複するメディアアセットを再スケジュールすることを可能にするが、高優先順位イベントと重複するメディアアセットに対してはそうではなくてもよい。
【００２５】
メディアガイドアプリケーションはまた、ユーザが消費することを所望するメディアアセットに基づいて、ユーザが新しいカレンダイベントを作成することを可能にしてもよい。メディアガイドアプリケーションは、イベントをユーザのカレンダアプリケーションに伝送し、ユーザがイベントをそのカレンダ内で確認することを可能にしてもよい。メディアガイドアプリケーションは、ユーザがメディアアセットを消費するように異なるユーザを招待することを可能にしてもよい。さらに、メディアガイドアプリケーションは、ユーザが特定のメディアアセットを消費または記録することを計画しているユーザの友達を確認することを可能にしてもよい。
【００２６】
任意の所与のコンテンツ配信システムでユーザに利用可能なコンテンツの量が、膨大であり得る。その結果、多くのユーザは、ユーザがコンテンツの選択を効率的にナビゲートし、所望し得るコンテンツを容易に識別することを可能にする、インターフェースを通したメディアガイドの形態を所望している。そのようなガイドを提供するアプリケーションは、本明細書では、双方向メディアガイドアプリケーションと称されるが、メディアガイドアプリケーションまたはガイドアプリケーションと称されることもある。
【００２７】
双方向メディアガイドアプリケーションは、ガイドを提供するコンテンツに応じて、種々の形態をとってもよい。典型的なタイプのメディアガイドアプリケーションの１つは、双方向テレビ番組ガイドである。双方向テレビ番組ガイド（電子番組ガイドと称される場合もある）は、とりわけ、ユーザが、多くのタイプのコンテンツまたはメディアアセット間をナビゲートし、それを特定することが可能である、公知のガイドアプリケーションである。双方向メディアガイドアプリケーションは、ユーザが、コンテンツ間をナビゲートし、それを特定および選択することを可能にする、グラフィカルユーザインターフェース画面を生成してもよい。本明細書で参照されるように、用語「メディアアセット」および「コンテンツ」とは、電子的に消費可能なユーザアセット、例えば、テレビ番組、および有料番組、オンデマンド番組（ビデオオンデマンド（ＶＯＤ）システムにおけるような）、インターネットコンテンツ（例えば、ストリーミングコンテンツ、ダウンロード可能コンテンツ、ウェブキャスト等）、ビデオクリップ、オーディオ、コンテンツ情報、写真、回転画像、ドキュメント、再生一覧、ウェブサイト、記事、書籍、電子書籍、ブログ、広告、チャットセッション、ソーシャルメディア、アプリケーション、ゲーム、および／または任意の他のメディアまたはマルチメディア、および／またはそれらの組み合わせを意味すると理解されたい。ガイドアプリケーションはまた、ユーザが、コンテンツ間をナビゲートし、それを特定することを可能にする。本明細書で参照されるように、用語「マルチメディア」とは、前述の少なくとも２つの異なるコンテンツ形態、例えば、テキスト、オーディオ、画像、ビデオ、または双方向コンテンツ形態を利用する、コンテンツを意味すると理解されたい。コンテンツは、ユーザ機器デバイスによって、録画、再生、表示、またはアクセスされてもよいが、また、ライブパーフォーマンスの一部であることも可能である。
【００２８】
本明細書で論じられる実施形態のいずれかを行うためのメディアガイドアプリケーションおよび／または任意の命令は、コンピュータ可読媒体上に符号化されてもよい。コンピュータ可読媒体は、データを記憶することが可能な任意のメディアを含む。コンピュータ可読媒体は、限定ではないが、電気または電磁信号の伝搬を含む、一過性であってもよく、または限定ではないが、ハードディスク、フロッピー（登録商標）ディスク、ＵＳＢドライブ、ＤＶＤ、ＣＤ、メディアカード、レジスタメモリ、プロセッサキャッシュ、ランダムアクセスメモリ（「ＲＡＭ」）等の揮発性および不揮発性コンピュータメモリまたは記憶デバイスを含む、非一過性であってもよい。
【００２９】
インターネット、モバイルコンピューティング、および高速無線ネットワークの出現に伴って、ユーザは、従来は使用しなかったユーザ機器デバイス上でメディアにアクセスするようになっている。本明細書で参照されるように、語句「ユーザ機器デバイス」、「ユーザ機器」、「ユーザデバイス」、「電子デバイス」、「電子機器」、「メディア機器デバイス」、または「メディアデバイス」は、テレビ、スマートＴＶ、セットトップボックス、衛星テレビに対応するための統合型受信機デコーダ（ＩＲＤ）、デジタル記憶デバイス、デジタルメディア受信機（ＤＭＲ）、デジタルメディアアダプタ（ＤＭＡ）、ストリーミングメディアデバイス、ＤＶＤプレーヤ、ＤＶＤレコーダ、接続型ＤＶＤ、ローカルメディアサーバ、ＢＬＵ−ＲＡＹ（登録商標）プレーヤ、ＢＬＵ−ＲＡＹ（登録商標）レコーダ、パーソナルコンピュータ（ＰＣ）、ラップトップコンピュータ、タブレットコンピュータ、ウェブＴＶボックス、パーソナルコンピュータテレビ（ＰＣ／ＴＶ）、ＰＣメディアサーバ、ＰＣメディアセンター、ハンドヘルドコンピュータ、固定電話、携帯情報端末（ＰＤＡ）、携帯電話、ポータブルビデオプレーヤ、ポータブル音楽プレーヤ、ポータブルゲーム機、スマートフォン、または任意の他のテレビ機器、コンピューティング機器、または無線デバイス、および／またはそれらの組み合わせ等の前述のコンテンツにアクセスするための任意のデバイスを意味すると理解されたい。いくつかの実施形態では、ユーザ機器デバイスは、正面画面および裏面画面、複数の正面画面、または複数の角度付き画面を有してもよい。いくつかの実施形態では、ユーザ機器デバイスは、正面カメラおよび／または背面カメラを有してもよい。これらのユーザ機器デバイス上で、ユーザは、テレビを通して利用可能な同一のコンテンツ間をナビゲートし、それを特定することが可能であってもよい。その結果として、メディアガイドは、これらのデバイス上でも利用可能であってもよい。提供されるガイドは、テレビのみを通して利用可能なコンテンツ、他のタイプのユーザ機器デバイスのうちの１つまたはそれを上回るものみを通して利用可能なコンテンツ、またはテレビおよび他のタイプのユーザ機器デバイスのうちの１つまたはそれを上回るもの両方を通して利用可能なコンテンツのためのものであってもよい。メディアガイドアプリケーションは、ユーザ機器デバイス上で、オンラインアプリケーション（すなわち、ウェブサイト上で提供される）、または独立型アプリケーションまたはクライアントとして提供されてもよい。メディアガイドアプリケーションを実装し得る、種々のデバイスおよびプラットフォームは、以下でより詳細に説明される。
【００３０】
メディアガイドアプリケーションの機能の１つは、メディアガイドデータをユーザに提供することである。本明細書で参照されるように、語句「メディアガイドデータ」または「ガイドデータ」は、コンテンツに関連する任意のデータ、またはガイドアプリケーションを動作させる際に使用されるデータを意味すると理解されたい。例えば、ガイドデータは、番組情報、ガイドアプリケーション設定、ユーザ選好、ユーザプロファイル情報、メディア一覧、メディア関連情報（例えば、放送時間、放送チャンネル、タイトル、内容、評価情報（例えば、ペアレンタルコントロール評価、批評家の評価等）、ジャンルまたはカテゴリ情報、俳優情報、放送会社またはプロバイダのロゴのロゴデータ等）、メディア形式（例えば、標準解像度、高解像度、３Ｄ等）、広告情報（例えば、テキスト、画像、メディアクリップ等）、オンデマンド情報、ブログ、ウェブサイト、およびユーザが所望のコンテンツ選択間をナビゲートし、それを特定するために役立つ、任意の他のタイプのガイドデータを含んでもよい。
【００３１】
図１−２は、メディアガイドデータを提供するために使用され得る、例証的表示画面を示す。図１−２に示される表示画面は、任意の好適なユーザ機器デバイスまたはプラットフォーム上に実装されてもよい。図１−２の表示は、フル画面表示として図示されているが、それらはまた、表示されているコンテンツ上に完全または部分的にオーバーレイされてもよい。ユーザは、表示画面に提供された選択可能なオプション（例えば、メニューオプション、一覧オプション、アイコン、ハイパーリンク等）を選択することによって、またはリモートコントロールまたは他のユーザ入力インターフェースまたはデバイス上の専用ボタン（例えば、「ガイド」ボタン）を押下することによって、コンテンツ情報へのアクセス要望を指示してもよい。ユーザの指示に応答して、メディアガイドアプリケーションは、グリッド内の時間およびチャンネル別、時間別、チャンネル別、ソース別、コンテンツタイプ別、カテゴリ別（例えば、映画、スポーツ、ニュース、子供向け、または他の番組カテゴリ）、カレンダまたは他の所定、ユーザ定義、または他の編成基準等のいくつかの方法のうちの１つにおいて編成されたメディアガイドデータを伴う表示画面を提供してもよい。
【００３２】
図１は、単一表示内の異なるタイプのコンテンツへのアクセスも可能にする、時間およびチャンネル別に配列された番組一覧表示１００の例証的グリッドを示す。表示１００は、以下を伴うグリッド１０２を含んでもよい：（１）各チャンネル／コンテンツタイプ識別子（列内のセル）が利用可能な異なるチャンネルまたはコンテンツのタイプを識別する、チャンネル／コンテンツタイプ識別子１０４の列、および（２）各時間識別子（行内のセル）が番組の時間帯を識別する、時間識別子１０６の行。グリッド１０２はまた、番組一覧１０８等の番組一覧のセルも含み、各一覧は、一覧の関連チャンネルおよび時間の上に提供される、番組のタイトルを提供する。ユーザ入力デバイスを用いて、ユーザは、ハイライト領域１１０を移動させることによって番組一覧を選択することができる。ハイライト領域１１０によって選択される番組一覧に関する情報が、番組情報領域１１２内に提供されてもよい。領域１１２は、例えば、番組タイトル、番組内容、番組が提供される時間（該当する場合）、番組が放送されるチャンネル（該当する場合）、番組の評価、および他の所望の情報を含んでもよい。
【００３３】
線形番組（例えば、所定の時間に複数のユーザ機器デバイスに伝送されるようにスケジューリングされ、スケジューリングに従って提供される、コンテンツ）へのアクセスの提供に加え、メディアガイドアプリケーションはまた、非線形番組（例えば、任意の時間においてユーザ機器デバイスにアクセス可能であって、スケジューリングに従って提供されない、コンテンツ）へのアクセスも提供する。非線形番組は、オンデマンドコンテンツ（例えば、ＶＯＤ）、インターネットコンテンツ（例えば、ストリーミングメディア、ダウンロード可能メディア等）、ローカルに記憶したコンテンツ（例えば、前述の任意のユーザ機器デバイスまたは他の記憶デバイス上に記憶されたコンテンツ）、または時間的制約のない他のコンテンツを含む、異なるコンテンツソースからのコンテンツを含んでもよい。オンデマンドコンテンツは、映画または特定のコンテンツプロバイダ（例えば、「Ｔｈｅ  Ｓｏｐｒａｎｏｓ」や「Ｃｕｒｂ  Ｙｏｕｒ  Ｅｎｔｈｕｓｉａｓｍ」を提供するＨＢＯ  Ｏｎ  Ｄｅｍａｎｄ）によって提供される任意の他のコンテンツを含んでもよい。ＨＢＯ  ＯＮ  ＤＥＭＡＮＤは、Ｔｉｍｅ  ＷａｒｎｅｒＣｏｍｐａｎｙ  Ｌ．Ｐ．らによって所有されるサービスマークであり、ＴＨＥ  ＳＯＰＲＡＮＯＳおよびＣＵＲＢ  ＹＯＵＲ  ＥＮＴＨＵＳＩＡＳＭは、Ｈｏｍｅ  Ｂｏｘ  Ｏｆｆｉｃｅ，  Ｉｎｃ．によって所有される商標である。インターネットコンテンツは、チャットセッションまたはウェブキャスト等のウェブイベント、またはインターネットウェブサイトまたは他のインターネットアクセス（例えば、ＦＴＰ）を通して、ストリーミングコンテンツまたはダウンロード可能なコンテンツとしてオンデマンドで利用可能なコンテンツを含んでもよい。
【００３４】
グリッド１０２は、オンデマンド一覧１１４、録画コンテンツ一覧１１６、およびインターネットコンテンツ一覧１１８を含む、非線形番組のメディアガイドデータを提供してもよい。異なるタイプのコンテンツソースからのコンテンツのためのメディアガイドデータを組み合わせる表示は、「混合メディア」表示と称されることもある。表示１００とは異なる、表示され得るメディアガイドデータのタイプの種々の順列は、ユーザ選択またはガイドアプリケーション定義に基づいてもよい（例えば、録画および放送一覧のみの表示、オンデマンドおよび放送一覧のみの表示等）。例証されるように、一覧１１４、１１６、および１１８は、これらの一覧の選択が、それぞれ、オンデマンド一覧、録画一覧、またはインターネット一覧専用の表示へのアクセスを提供し得ることを示すように、グリッド１０２内に表示される時間帯全体に及ぶものとして示されている。いくつかの実施形態では、これらのコンテンツタイプの一覧は、グリッド１０２に直接含まれてもよい。ユーザがナビゲーションアイコン１２０のうちの１つを選択することに応答して、付加的メディアガイドデータが表示されてもよい（ユーザ入力デバイス上の矢印キーを押下することによって、ナビゲーションアイコン１２０を選択することと同様に表示に影響を及ぼしてもよい）。
【００３５】
表示１００はまた、ビデオ領域１２２、広告１２４、およびオプション領域１２６を含んでもよい。ビデオ領域１２２は、ユーザが、現在利用可能である、今後利用可能となる、またはユーザに利用可能であった番組を視聴および／またはプレビューすることを可能にしてもよい。ビデオ領域１２２のコンテンツは、グリッド１０２に表示される一覧のうちの１つに対応するか、またはそれから独立してもよい。ビデオ領域を含むグリッド表示は、ピクチャインガイド（ＰＩＧ）表示と称されることもある。ＰＩＧ表示およびそれらの機能は、２００３年５月１３日発行のＳａｔｔｅｒｆｉｅｌｄらの米国特許第６，５６４，３７８号、および２００１年５月２９日発行のＹｕｅｎらの米国特許第６，２３９，７９４号でさらに詳細に説明されており、それらは全体として参照することによって本明細書に組み込まれる。ＰＩＧ表示は、本明細書に説明される実施形態の他のメディアガイドアプリケーション表示画面に含まれてもよい。
【００３６】
広告１２４は、（例えば、購読番組に対する）視聴者のアクセス権に応じて、現在視聴が利用可能である、将来視聴が利用可能となる、または決して視聴利用可能とはなり得ない、コンテンツの広告を提供してもよく、グリッド１０２内のコンテンツ一覧のうちの１つまたはそれを上回るものに対応するか、または無関係であってもよい。広告１２４はまた、グリッド１０２内で表示されるコンテンツに関係するか、または無関係である製品またはサービスに対するものであってもよい。広告１２４は、選択可能であってもよく、コンテンツに関するさらなる情報を提供する、製品またはサービスに関する情報を提供する、コンテンツ、製品、またはサービスを購入することを可能にする、広告に関するコンテンツを提供する等を行ってもよい。広告１２４は、ユーザのプロファイル／選好、監視されたユーザ活動、提供される表示のタイプ、または他の好適な標的化された広告基盤に基づいて標的化されてもよい。
【００３７】
広告１２４は、長方形またはバナー形状として示されているが、広告は、ガイドアプリケーション表示内の任意の好適なサイズ、形状、および場所で提供されてもよい。例えば、広告１２４は、グリッド１０２に水平方向に隣接する長方形として提供されてもよい。これは、パネル広告と称されることもある。加えて、広告は、コンテンツまたはガイドアプリケーション表示上にオーバーレイされるか、または表示内に埋め込まれてもよい。広告はまた、テキスト、画像、回転画像、ビデオクリップ、または前述の他のタイプのコンテンツを含んでもよい。広告は、ガイドアプリケーションを有するユーザ機器デバイス内、ユーザ機器に接続されたデータベース内、遠隔場所（ストリーミングメディアサーバを含む）内、または他の記憶手段またはこれらの場所の組み合わせ上に記憶されてもよい。メディアガイドアプリケーションに広告を提供するステップは、例えば、それらの全体で参照することにより本明細書に組み込まれる、２００３年１月１７日出願のＫｎｕｄｓｏｎらの米国特許出願公開第２００３／０１１０４９９号、２００４年６月２９日発行のＷａｒｄ，ＩＩＩらの米国特許第６，７５６，９９７号、および２００２年５月１４日発行のＳｃｈｅｉｎらの米国特許第６，３８８，７１４号で、さらに詳細に論じられている。広告は、本明細書に説明される実施形態の他のメディアガイドアプリケーション表示画面に含まれてもよいことが理解されるであろう。
【００３８】
オプション領域１２６は、ユーザが、異なるタイプのコンテンツ、メディアガイドアプリケーション表示、および／またはメディアガイドアプリケーション特徴にアクセスすることを可能にしてもよい。オプション領域１２６は、ディプレイ１００（および本明細書に説明される他の表示画面）の一部であってもよく、または画面上のオプションを選択すること、またはユーザ入力デバイス上の専用または割当可能ボタンを押下することによって、ユーザによって呼び出されてもよい。オプション領域１２６内の選択可能オプションは、グリッド１０２内の番組一覧に関連する特徴に関してもよく、またはメインメニュー表示から利用可能なオプションを含んでもよい。番組一覧に関連する特徴は、他の放送時間または番組の受信方法の検索、番組の録画、番組の連続録画の有効化、番組および／またはチャンネルをお気に入りとして設定、番組の購入、または他の特徴を含んでもよい。メインメニュー表示から利用可能なオプションは、検索オプション、ＶＯＤオプション、ペアレンタルコントロールオプション、インターネットオプション、クラウドベースのオプション、デバイス同期オプション、第２の画面デバイスオプション、種々のタイプのメディアガイドデータ表示にアクセスするためのオプション、プレミアムサービスを購読するためのオプション、ユーザのプロファイルを編集するためのオプション、ブラウザオーバーレイにアクセスするためのオプション、または他のオプションを含んでもよい。
【００３９】
メディアガイドアプリケーションは、ユーザの選好に基づいて個人化されてもよい。個人化されたメディアガイドアプリケーションは、ユーザが、メディアガイドアプリケーションによって個人化された「体験」を生成するように、表示および特徴をカスタマイズすることを可能にする。この個人化された体験は、ユーザがこれらのカスタマイズを入力できるようにすることによって、および／または種々のユーザ選好を判定するようにメディアガイドアプリケーションがユーザ活動を監視することによって、生成されてもよい。ユーザは、ログインすることによって、または別様にガイドアプリケーションに対して自らを識別することによって、個人化されたガイドアプリケーションにアクセスしてもよい。メディアガイドアプリケーションのカスタマイズは、ユーザプロファイルに従って作成されてもよい。カスタマイズは、提示方式（例えば、表示の色方式、テキストのフォントサイズ等）、表示されるコンテンツ一覧の態様（例えば、ＨＤＴＶ番組のみまたは３Ｄ番組のみ、お気に入りチャンネルオプションに基づいたユーザ指定の放送チャンネル、チャンネルの表示の並び替え、推奨コンテンツ等）、所望の録画特徴（例えば、特定のユーザに対する録画または連続録画、録画品質等）、ペアレンタルコントロール設定、インターネットコンテンツのカスタマイズされた提示（例えば、ソーシャルメディアコンテンツ、電子メール、電子的に配信された記事等の提示）、および他の所望のカスタマイズを変更させるステップを含んでもよい。
【００４０】
メディアガイドアプリケーションは、ユーザが、ユーザプロファイル情報を提供することを可能にしてもよく、またはユーザプロファイル情報を自動的にコンパイルしてもよい。メディアガイドアプリケーションは、例えば、ユーザがアクセスするコンテンツ、および／またはユーザがガイドアプリケーションと行ってもよい他の相互作用を監視してもよい。加えて、メディアガイドアプリケーションは、特定のユーザに関連する他のユーザプロファイルの全体または一部を取得し（例えば、ｗｗｗ．ａｌｌｒｏｖｉ．ｃｏｍ等のユーザがアクセスするインターネット上の他のウェブサイトから、ユーザがアクセスする他のメディアガイドアプリケーションから、ユーザがアクセスする他の双方向アプリケーションから、ユーザの別のユーザ機器デバイスから等）、および／またはメディアガイドアプリケーションがアクセスし得る他のソースから、ユーザに関する情報を取得してもよい。結果として、ユーザの異なるユーザ機器デバイスにわたって、統一されたガイドアプリケーション体験をユーザに提供することができる。このタイプのユーザ体験は、図４に関連して、以下でより詳細に説明される。付加的な個人化されたメディアガイドアプリケーション特徴は、２００５年７月１１日出願のＥｌｌｉｓらの米国特許出願公開第２００５／０２５１８２７号、２００７年１月１６日発行のＢｏｙｅｒらの米国特許出願第７，１６５，０９８号、および２００２年２月２１日発行のＥｌｌｉｓらの米国特許出願第２００２／０１７４４３０号でさらに詳細に説明されており、それらは全体として参照することにより本明細書に組み込まれる。
【００４１】
メディアガイドを提供するための別の表示配列が、図２に示されている。ビデオモザイク表示２００は、コンテンツのタイプ、ジャンル、および／または他の編成基準に基づいて編成されたコンテンツ情報のための選択可能オプション２０２を含む。表示２００では、テレビ一覧オプション２０４が、選択され、したがって、一覧２０６、２０８、２１０、および２１２を放送番組一覧として提供する。表示２００では、一覧は、カバーアート、コンテンツからの静止画像、ビデオクリップのプレビュー、コンテンツからのライブビデオ、または一覧中のメディアガイドデータによって記述されているコンテンツをユーザに示す他のタイプのコンテンツを含む、グラフィック画像を提供してもよい。グラフィック一覧のそれぞれはまた、一覧と関連付けられたコンテンツに関するさらなる情報を提供するように、テキストを伴ってもよい。例えば、一覧２０８は、メディア部分２１４およびテキスト部分２１６を含む、１つより多くの部分を含んでもよい。メディア部分２１４および／またはテキスト部分２１６は、コンテンツをフル画面で視聴するように、またはメディア部分２１４に表示されるコンテンツに関連する情報を閲覧するように（例えば、ビデオが表示されるチャンネルの一覧を閲覧するように）、選択可能であってもよい。
【００４２】
表示２００中の一覧は、異なるサイズである（すなわち、一覧２０６は、一覧２０８、２１０、および２１２より大きい）が、所望の場合、全一覧が同一のサイズであってもよい。一覧は、コンテンツプロバイダの所望に応じて、またはユーザ選好に基づいて、ユーザに関心の程度を示すように、または、あるコンテンツを強調するように、異なるサイズであるか、またはグラフィックが強調されてもよい。表示２００内の一覧はまた、受信されたカレンダデータに基づいて、グラフィックで強調されてもよい。例えば、高優先順位のイベントと重複するメディアアセットに対応する一覧は、赤色で表示されてもよい一方、低優先順位イベントと重複するメディアアセットに対応する一覧は、緑色で表示されてもよい。いくつかの事例では、イベントと重複するメディアアセットに対応する一覧は、ハイライトされる、または重複しないメディアアセットに対応する一覧と異なるサイズで表示されてもよい。コンテンツ一覧をグラフィック的に強調するための種々のシステムおよび方法は、例えば、全体として参照することにより本明細書に組み込まれる、２００９年１１月１２日に出願されたＹａｔｅｓの米国特許出願公開第２０１０／０１５３８８５号で論じられている。
【００４３】
ユーザは、そのユーザ機器デバイスのうちの１つまたはそれを上回るものから、コンテンツおよびメディアガイドアプリケーション（および前述および後述で説明されるその表示画面）にアクセスしてもよい。図３は、例証的ユーザ機器デバイス３００の汎用実施形態を示す。ユーザ機器デバイスのより具体的な実装は、図４に関連して以下で論じられる。ユーザ機器デバイス３００は、入出力（以下「Ｉ／Ｏ」）パス３０２を介して、コンテンツおよびデータを受信してもよい。Ｉ／Ｏパス３０２は、処理回路３０６および記憶装置３０８を含む制御回路３０４に、コンテンツ（例えば、放送番組、オンデマンド番組、インターネットコンテンツ、ローカルエリアネットワーク（ＬＡＮ）または広域ネットワーク（ＷＡＮ）を経由して利用可能なコンテンツ、および／または他のコンテンツ）およびデータを提供してもよい。制御回路３０４は、Ｉ／Ｏパス３０２を使用して、コマンド、要求、および他の好適なデータを送受信するために使用されてもよい。Ｉ／Ｏパス３０２は、制御回路３０４（具体的には、処理回路３０６）を１つまたはそれを上回る通信パス（以下で説明される）に接続してもよい。Ｉ／Ｏ機能は、これらの通信パスのうちの１つまたはそれを上回るものによって提供されてもよいが、図面が複雑になり過ぎることを回避するため、図３では単一パスとして示されている。
【００４４】
制御回路３０４は、処理回路３０６等の任意の好適な処理回路に基づいてもよい。本明細書で参照されるように、処理回路とは、１つまたはそれを上回るマイクロプロセッサ、マイクロコントローラ、デジタル信号プロセッサ、プログラマブル論理デバイス、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、特定用途向け集積回路（ＡＳＩＣ）等に基づく回路を意味すると理解され、マルチコアプロセッサ（例えば、デュアルコア、クアドコア、ヘクサコア、または任意の好適な数のコア）またはスーパーコンピュータを含んでもよい。いくつかの実施形態では、処理回路は、複数の別個のプロセッサまたは処理ユニット、例えば、複数の同一のタイプの処理ユニット（例えば、２つのＩｎｔｅｌ  Ｃｏｒｅ  ｉ７プロセッサ）または複数の異なるプロセッサ（例えば、Ｉｎｔｅｌ  Ｃｏｒｅ  ｉ５プロセッサおよびＩｎｔｅｌ  Ｃｏｒｅ  ｉ７プロセッサ）にわたって分散されてもよい。いくつかの実施形態では、制御回路３０４は、メモリ（すなわち、記憶装置３０８）に記憶されたメディアガイドアプリケーションに対する命令を実行する。具体的には、制御回路３０４は、メディアガイドアプリケーションによって、前述および後述の機能を行うように命令されてもよい。例えば、メディアガイドアプリケーションは、制御回路３０４に、メディアガイド表示を生成するための命令を提供してもよい。いくつかの実装では、制御回路３０４によって行われるいかなるアクションも、メディアガイドアプリケーションから受信した命令に基づいてもよい。
【００４５】
クライアントサーバに基づく実施形態では、制御回路３０４は、ガイドアプリケーションサーバまたは他のネットワークまたはサーバと通信するための好適な通信回路を含んでもよい。前述の機能性を実施するための命令は、ガイドアプリケーションサーバ上に記憶されてもよい。通信回路は、ケーブルモデム、総合デジタル通信網（ＩＳＤＮ）モデム、デジタル加入者回線（ＤＳＬ）モデム、電話モデム、イーサネット（登録商標）カード、または他の機器との通信用無線モデム、または任意の他の好適な通信回路を含んでもよい。そのような通信は、インターネットまたは任意の他の好適な通信ネットワークまたはパスを伴ってもよい（図４に関連してさらに詳細に説明される）。加えて、通信回路は、ユーザ機器デバイスのピアツーピア通信、または相互から遠隔の場所にあるユーザ機器デバイスの通信を可能にする回路を含んでもよい（以下でさらに詳細に説明される）。
【００４６】
メモリは、制御回路３０４の一部である、記憶装置３０８として提供される、電子記憶デバイスであってもよい。本明細書で参照されるように、語句「電子記憶デバイス」または「記憶デバイス」とは、ランダム−アクセスメモリ、読取専用メモリ、ハードドライブ、光学ドライブ、デジタルビデオディスク（ＤＶＤ）レコーダ、コンパクトディスク（ＣＤ）レコーダ、ＢＬＵ−ＲＡＹ（登録商標）ディスク（ＢＤ）レコーダ、ＢＬＵ−ＲＡＹ（登録商標）  ３Ｄディスクレコーダ、デジタルビデオレコーダ（ＤＶＲ（パーソナルビデオレコーダと呼ばれる場合もある、またはＰＶＲ）、固体デバイス、量子記憶デバイス、ゲームコンソール、ゲームメディア、または任意の他の好適な固定またはリムーバブル記憶デバイス、および／または任意のそれらの組み合わせ等の電子データ、コンピュータソフトウェア、またはファームウェアを記憶するための任意のデバイスを意味すると理解されたい。記憶装置３０８は、本明細書に説明される種々のタイプのコンテンツ、および前述のメディアガイドデータを記憶するために使用されてもよい。記憶装置３０８はまた、前述のカレンダアプリケーションから受信されたカレンダデータを記憶するために使用されてもよい。不揮発性メモリもまた、使用されてもよい（例えば、ブートアップルーチンや他の命令を起動するために）。図４に関連して説明される、クラウドベースの記憶が、記憶装置３０８を補完するために使用される、または記憶装置３０８の代わりに使用されてもよい。
【００４７】
制御回路３０４は、１つまたはそれを上回るアナログチューナ、１つまたはそれを上回るＭＰＥＧ−２デコーダ、または他のデジタル復号回路、高解像度チューナ、または任意の他の好適な同調またはビデオ回路、またはそのような回路の組み合わせ等のビデオ生成回路および同調回路を含んでもよい。符号化回路（例えば、記憶のために、無線、アナログ、またはデジタル信号をＭＰＥＧ信号に変換するためのもの）もまた、提供されてもよい。制御回路３０４はまた、コンテンツをユーザ機器３００の好ましい出力形式に上方変換および下方変換するためのスケーラ回路を含んでもよい。回路３０４はまた、デジタルおよびアナログ信号間で変換するためのデジタルからアナログへの変換回路およびアナログからデジタルへの変換回路を含んでもよい。同調および符号化回路は、コンテンツを受信して表示する、再生する、または録画するために、ユーザ機器デバイスによって使用されてもよい。同調および符号化回路はまた、ガイドデータを受信するために使用されてもよい。例えば、同調、ビデオ生成、符号化、復号、暗号化、解読、スケーラ、およびアナログ／デジタル回路を含む、本明細書に説明される回路は、１つまたはそれを上回る汎用または特殊プロセッサ上で起動するソフトウェアを使用して実装されてもよい。複数のチューナが、同時同調機能に対処するように提供されてもよい（例えば、視聴および録画機能、ピクチャインピクチャ（ＰＩＰ）機能、多重チューナ録画機能等）。記憶装置３０８が、ユーザ機器３００とは別のデバイスとして提供される場合、同調および符号化回路（複数のチューナを含む）は、記憶装置３０８と関連付けられてもよい。
【００４８】
ユーザは、ユーザ入力インターフェース３１０を使用して、命令を制御回路３０４に送信してもよい。ユーザ入力インターフェース３１０は、リモートコントロール、マウス、トラックボール、キーパッド、キーボード、タッチ画面、タッチパッド、スタイラス入力、ジョイスティック、音声認識インターフェース、または他のユーザ入力インターフェース等、任意の好適なユーザインターフェースであってもよい。ディスプレイ３１２は、独立型デバイスとして提供されるか、またはユーザ機器デバイス３００の他の要素と統合してもよい。例えば、ディスプレイ３１２は、タッチスクリーンまたはタッチセンサ式表示であってもよい。そのような状況では、ユーザ入力インターフェース３１０は、ディスプレイ３１２と統合される、または組み合わせられてもよい。ディスプレイ３１２は、モニタ、テレビ、モバイルデバイスのための液晶ディスプレイ（ＬＣＤ）、非晶質シリコンディスプレイ、低温ポリシリコンディスプレイ、電子インクディスプレイ、電気泳動ディスプレイ、アクティブマトリクスディスプレイ、エレクトロウェッティングディスプレイ、電気流体ディスプレイ、ブラウン管ディスプレイ、発光ダイオードディスプレイ、エレクトロルミネセントディスプレイ、プラズマ表示パネル、高性能アドレッシングディスプレイ、薄膜トランジスタディスプレイ、有機発光ダイオードディスプレイ、表面伝導型電子放出素子ディスプレイ（ＳＥＤ）、レーザテレビ、カーボンナノチューブ、量子ドットディスプレイ、干渉変調器ディスプレイ、または視覚的画像を表示するための任意の他の好適な機器のうちの１つまたはそれを上回るものであってもよい。いくつかの実施形態では、ディスプレイ３１２は、ＨＤＴＶ対応型であってもよい。いくつかの実施形態では、ディスプレイ３１２は、３Ｄ表示であってもよく、双方向メディアガイドアプリケーションおよび任意の好適なコンテンツは、３Ｄで表示されてもよい。ビデオカードまたはグラフィックカードは、出力をディスプレイ３１２に生成してもよい。ビデオカードは、３Ｄシーンおよび２Ｄグラフィックのレンダリング加速、ＭＰＥＧ−２／ＭＰＥＧ−４復号、ＴＶ出力、または複数のモニタを接続する能力等の種々の機能をもたらしてもよい。ビデオカードは、制御回路３０４に関連する前述の任意の処理回路であってもよい。ビデオカードは、制御回路３０４と統合されてもよい。スピーカ３１４は、ユーザ機器デバイス３００の他の要素との統合として提供されてもよく、または独立型ユニットであってもよい。ディスプレイ３１２上に表示されるビデオおよび他のコンテンツのオーディオコンポーネントは、スピーカ３１４を通して再生されてもよい。いくつかの実施形態では、音声は、スピーカ３１４を介して音声を処理および出力する、受信機（図示せず）に配信されてもよい。
【００４９】
ガイドアプリケーションは、任意の好適なアーキテクチャを使用して実装されてもよい。例えば、それは、ユーザ機器デバイス３００上で完全に実装される、独立型アプリケーションであってもよい。そのようなアプローチでは、アプリケーションの命令は、ローカルに記憶され（例えば、記憶装置３０８内に）、アプリケーションによって使用するためのデータは、周期的にダウンロードされる（例えば、帯域外フィードから、インターネットリソースから、または別の好適なアプローチを使用して）。制御回路３０４は、記憶装置３０８からアプリケーションの命令を読み出し、本明細書で論じられる表示のいずれかを生成するための命令を処理してもよい。処理された命令に基づいて、制御回路３０４は、入力が入力インターフェース３１０から受信されるときに行うアクションを判定してもよい。例えば、表示上のカーソルの上／下への移動は、入力インターフェース３１０が上／下ボタンが選択されたことを示すとき、処理された命令によって示されてもよい。
【００５０】
いくつかの実施形態では、メディアガイドアプリケーションは、クライアントサーバベースのアプリケーションである。ユーザ機器デバイス３００上に実装される、シックまたはシンクライアントによって使用するためのデータは、ユーザ機器デバイス３００の遠隔にあるサーバに要求を発行することによって、オンデマンドで読み出される。クライアントサーバベースのガイドアプリケーションの一実施例では、制御回路３０４は、遠隔サーバによって提供されるウェブページを解釈する、ウェブブラウザを実行する。例えば、遠隔サーバは、記憶デバイス内にアプリケーションのための命令を記憶してもよい。遠隔サーバは、回路（例えば、制御回路３０４）を使用して、記憶された命令を処理し、前述および後述の表示を生成してもよい。クライアントデバイスは、遠隔サーバによって生成される表示を受信してもよく、表示のコンテンツを機器デバイス３００上でローカルに表示してもよい。このように、命令の処理は、サーバによって遠隔で行われる一方、結果として生じる表示は、機器デバイス３００上にローカルに提供される。機器デバイス３００は、入力インターフェース３１０を介して、ユーザからの入力を受信し、対応する表示を処理および生成するために、それらの入力を遠隔サーバに伝送してもよい。例えば、機器デバイス３００は、上／下ボタンが入力インターフェース３１０を介して選択されたことを示す、通信を遠隔サーバに伝送してもよい。遠隔サーバは、その入力に従って命令を処理し、入力に対応するアプリケーションの表示を生成してもよい（例えば、カーソルを上／下に移動させる表示）。生成された表示は、次いで、ユーザへの提示のために、機器デバイス３００に伝送される。
【００５１】
いくつかの実施形態では、メディアガイドアプリケーションは、インタープリタまたは仮想マシン（制御回路３０４によって起動される）によって、ダウンロードされ、解釈または別様に起動される。いくつかの実施形態では、ガイドアプリケーションは、ＥＴＶバイナリ交換形式（ＥＴＶ  Ｂｉｎａｒｙ  Ｉｎｔｅｒｃｈａｎｇｅ  Ｆｏｒｍａｔ／ＥＢＩＦ）で符号化され、好適なフィードの一部として制御回路３０４によって受信され、制御回路３０４上で起動するユーザエージェントによって解釈されてもよい。例えば、ガイドアプリケーションは、ＥＢＩＦアプリケーションであってもよい。いくつかの実施形態では、ガイドアプリケーションは、制御回路３０４によって実行されるローカル仮想マシンまたは他の好適なミドルウェアによって受信および起動される、一連のＪＡＶＡ（登録商標）ベースのファイルによって定義されてもよい。そのような実施形態のうちのいくつか（例えば、ＭＰＥＧ−２または他のデジタルメディア符号化スキームを採用するもの）では、ガイドアプリケーションは、例えば、番組のＭＰＥＧオーディオおよびビデオパケットを用いたＭＰＥＧ−２オブジェクトカルーセルにおいて符号化および伝送されてもよい。
【００５２】
図３のユーザ機器デバイス３００は、ユーザテレビ機器４０２、ユーザコンピュータ機器４０４、無線ユーザ通信デバイス４０６、または非携帯型ゲーム機等のコンテンツにアクセスするために好適な任意の他のタイプのユーザ機器として、図４のシステム４００に実装することができる。簡単にするために、これらのデバイスは、本明細書では総称して、ユーザ機器またはユーザ機器デバイスと称されてもよく、前述のユーザ機器デバイスに実質的に類似してもよい。メディアガイドアプリケーションが実装され得る、ユーザ機器デバイスは、独立型デバイスとして機能してもよく、またはデバイスのネットワークの一部であってもよい。デバイスの種々のネットワーク構成が実装されてもよく、以下でさらに詳細に論じられる。
【００５３】
図３に関連して前述のシステム特徴のうちの少なくともいくつかを利用する、ユーザ機器デバイスは、単に、ユーザテレビ機器４０２、ユーザコンピュータ機器４０４、または無線ユーザ通信デバイス４０６として分類されなくてもよい。例えば、ユーザテレビ機器４０２は、いくつかのユーザコンピュータ機器４０４のように、インターネットコンテンツへアクセスすることを可能にするインターネット対応型であってもよい一方で、ユーザコンピュータ機器４０４は、いくつかのテレビ機器４０２のように、テレビ番組へアクセスすることを可能にするチューナを含んでもよい。メディアガイドアプリケーションはまた、種々の異なるタイプのユーザ機器上で同一レイアウトを有してもよく、またはユーザ機器の表示能力に合わせられてもよい。例えば、ユーザコンピュータ機器４０４上では、ガイドアプリケーションは、ウェブブラウザによってアクセスされるウェブサイトとして提供されてもよい。別の実施例では、ガイドアプリケーションは、無線ユーザ通信デバイス４０６用に縮小されてもよい。
【００５４】
システム４００では、典型的には、各タイプのユーザ機器デバイスが１つを上回って存在するが、図面が複雑になり過ぎることを回避するように、それぞれ１つだけが図４に示されている。加えて、各ユーザは、１つを上回るタイプのユーザ機器デバイスと、また、各タイプのユーザ機器デバイスのうちの１つを上回るものとを利用してもよい。
【００５５】
いくつかの実施形態では、ユーザ機器デバイス（例えば、ユーザテレビ機器４０２、ユーザコンピュータ機器４０４、無線ユーザ通信デバイス４０６）は、「第２の画面デバイス」と称されてもよい。例えば、第２の画面デバイスは、第１のユーザ機器デバイス上に提示されるコンテンツを補完してもよい。第２の画面デバイス上に提示されるコンテンツは、第１のデバイス上に提示されるコンテンツを補完する、任意の好適なコンテンツであってもよい。いくつかの実施形態では、第２の画面デバイスは、第１のデバイスの設定および表示選好を調節するためのインターフェースを提供する。いくつかの実施形態では、第２の画面デバイスは、他の第２の画面デバイスと相互作用する、またはソーシャルネットワークと相互作用するために構成される。第２の画面デバイスは、第１のデバイスと同一の部屋内に、第１のデバイスと異なる部屋であるが、同一の家または建物内、または第１のデバイスと異なる建物内に位置することができる。
【００５６】
ユーザはまた、家庭内デバイスおよび遠隔デバイスにわたって一貫したメディアガイドアプリケーション設定を維持するように、種々の設定を設定してもよい。設定は、本明細書に説明される設定、およびお気に入りのチャンネルおよび番組、番組を推奨するためにガイドアプリケーションが利用する番組選好、表示選好、および他の望ましいガイド設定を含む。例えば、ユーザが、オフィスのパソコンで、例えば、ウェブサイトｗｗｗ．ａｌｌｒｏｖｉ．ｃｏｍの上で、チャンネルをお気に入りとして設定した場合、所望に応じて、同一のチャンネルが、ユーザの家庭内デバイス（例えば、ユーザテレビ機器およびユーザコンピュータ機器）、およびユーザのモバイルデバイス上でお気に入りとして表示されるであろう。加えて、ユーザは、家庭内および遠隔デバイスを横断してカレンダ設定を設定してもよい。例えば、ユーザは、そのカレンダアプリケーションサーバ、ユーザ名、パスワード等を１つのデバイス上に入力してもよく、その情報は、別のデバイスによって検出および使用されてもよい。したがって、同一または異なるタイプのユーザ機器デバイスであるかどうかにかかわらず、１つのユーザ機器デバイス上で行われる変更は、別のユーザ機器デバイス上のガイド体験を変更することができる。さらに、行われる変更は、ユーザによる設定入力、およびガイドアプリケーションによって監視されるユーザ活動に基づいてもよい。
【００５７】
ユーザ機器デバイスは、通信ネットワーク４１４に連結されてもよい。すなわち、ユーザテレビ機器４０２、ユーザコンピュータ機器４０４、および無線ユーザ通信デバイス４０６は、それぞれ、通信パス４０８、４１０、および４１２を介して、通信ネットワーク４１４に連結される。通信ネットワーク４１４は、インターネット、携帯電話ネットワーク、モバイルボイスまたはデータネットワーク（例えば、４ＧまたはＬＴＥネットワーク）、ケーブルネットワーク、公衆交換電話ネットワーク、または他のタイプの通信ネットワーク、または通信ネットワークの組み合わせを含む、１つまたはそれを上回るネットワークであってもよい。パス４０８、４１０、４１２、および４１２は、別個または一緒に、衛星パス、光ファイバパス、ケーブルパス、インターネット通信をサポートするパス（例えば、ＩＰＴＶ）、フリースペース接続（例えば、放送または他の無線信号用）、または任意の他の好適な有線または無線通信パス、またはそのようなパスの組み合わせ等、１つまたはそれを上回る通信パスを含んでもよい。パス４１２は、図４に示された例示的実施形態において、無線パスであることを示すように破線で描かれ、パス４０８および４１０は、有線パスであることを示すように実線で描かれている（しかし、これらのパスは、所望に応じて、無線パスであってもよい）。ユーザ機器デバイスとの通信は、これらの通信パスのうちの１つまたはそれを上回るものによって提供されてもよいが、図４では、図面が複雑になり過ぎることを回避するように、単一パスとして示されている。
【００５８】
通信パスは、ユーザ機器デバイスの間には描かれていないが、これらのデバイスは、パス４０８、４１０、および４１２に関連して上記で説明されるもの、およびＵＳＢケーブル、ＩＥＥＥ１３９４ケーブル、無線パス（例えば、Ｂｌｕｅｔｏｏｔｈ（登録商標）、赤外線、ＩＥＥＥ８０２−１１ｘ等）等の他の短距離ポイントツーポイント通信パス、または有線または無線パスを介した他の短距離通信等の通信パスを介して、相互に直接通信してもよい。ＢＬＵＥＴＯＯＴＨ（登録商標）は、Ｂｌｕｅｔｏｏｔｈ（登録商標）  ＳＩＧ，  ＩＮＣ．によって所有される認証マークである。ユーザ機器デバイスはまた、通信ネットワーク４１４を介した間接的パスを通して、直接相互に通信してもよい。
【００５９】
システム４００は、それぞれ、通信パス４２０および４２２を介して、通信ネットワーク４１４に連結される、コンテンツソース４１６およびメディアガイドデータソース４１８を含む。パス４２０および４２２は、パス４０８、４１０、および４１２に関して上記で説明される通信パスのうちのいずれかを含んでもよい。コンテンツソース４１６およびメディアガイドデータソース４１８との通信は、１つまたはそれを上回る通信パスを介して交信されてもよいが、図４では、図面が複雑になり過ぎることを回避するように、単一パスとして示されている。加えて、コンテンツソース４１６およびメディアガイドデータソース４１８のそれぞれが１つを上回ってあってもよいが、図４では、図面が複雑になり過ぎることを回避するように、それぞれ１つだけが示されている。（これらのソースのそれぞれの異なるタイプを以下で論じる）。所望に応じて、コンテンツソース４１６およびメディアガイドデータソース４１８は、１つのソースデバイスとして統合されてもよい。ソース４１６および４１８と、ユーザ機器デバイス４０２、４０４、および４０６との間の通信は、通信ネットワーク４１４を通したものとして示されているが、いくつかの実施形態では、ソース４１６および４１８は、パス４０８、４１０、および４１２に関連して上記で説明されるもの等の通信パス（図示せず）を介して、ユーザ機器デバイス４０２、４０４、および４０６と直接通信してもよい。
【００６０】
コンテンツソース４１６は、テレビ配信施設、ケーブルシステムヘッドエンド、衛星配信施設、番組ソース（例えば、ＮＢＣ、ＡＢＣ、ＨＢＯ等のテレビ放送会社）、中間配信施設および／またはサーバ、インターネットプロバイダ、オンデマンドメディアサーバ、および他のコンテンツプロバイダを含む、１つまたはそれを上回るタイプのコンテンツ配信機器を含んでもよい。ＮＢＣは、Ｎａｔｉｏｎａｌ  Ｂｒｏａｄｃａｓｔｉｎｇ  Ｃｏｍｐａｎｙ，  Ｉｎｃ．によって所有される商標であり、ＡＢＣは、Ａｍｅｒｉｃａｎ  Ｂｒｏａｄｃａｓｔｉｎｇ  Ｃｏｍｐａｎｙ，  ＩＮＣ．によって所有される商標であり、ＨＢＯは、Ｈｏｍｅ  Ｂｏｘ  Ｏｆｆｉｃｅ，  Ｉｎｃ．によって所有される商標である。コンテンツソース４１６は、コンテンツの発信元であってもよく（例えば、テレビ放送会社、ウェブキャストプロバイダ等）、またはコンテンツの発信元でなくてもよい（例えば、オンデマンドコンテンツプロバイダ、ダウンロード用放送番組のコンテンツのインターネットプロバイダ等）。コンテンツソース４１６は、ケーブルソース、衛星プロバイダ、オンデマンドプロバイダ、インターネットプロバイダ、オーバーザトップコンテンツプロバイダ、または他のコンテンツのプロバイダを含んでもよい。コンテンツソース４１６はまた、ユーザ機器デバイスのうちのいずれかから遠隔の場所にある、異なるタイプのコンテンツ（ユーザによって選択されるビデオコンテンツを含む）を記憶するために使用される、遠隔メディアサーバを含んでもよい。コンテンツの遠隔記憶のため、および遠隔に記憶されたコンテンツをユーザ機器に提供するためのシステムおよび方法は、全体として参照することにより本明細書に組み込まれる、２０１０年７月２０日発行のＥｌｌｉｓらの米国特許出願第７，７６１，８９２号に関連して、さらに詳細に論じられている。
【００６１】
メディアガイドデータソース４１８は、前述のメディアガイドデータ等のメディアガイドデータを提供してもよい。メディアガイドデータは、任意の好適なアプローチを使用して、ユーザ機器デバイスに提供されてもよい。いくつかの実施形態では、ガイドアプリケーションは、データフィード（例えば、継続フィードまたはトリクルフィード）を介して、番組ガイドデータを受信する、独立型双方向テレビ番組ガイドであってもよい。番組スケジューリングデータおよび他のガイドデータは、テレビチャンネルのサイドバンド上で、帯域内デジタル信号を使用して、帯域外デジタル信号を使用して、または任意の他の好適なデータ伝送技術によって、ユーザ機器に提供されてもよい。番組スケジューリングデータおよび他のメディアガイドデータは、複数のアナログまたはデジタルテレビチャンネル上でユーザ機器に提供されてもよい。
【００６２】
いくつかの実施形態では、メディアガイドデータソース４１８からのガイドデータは、クライアントサーバアプローチを使用して、ユーザの機器に提供されてもよい。例えば、ユーザ機器デバイスは、メディアガイドデータをサーバからプルしてもよく、またはサーバは、メディアガイドデータをユーザ機器デバイスにプッシュしてもよい。いくつかの実施形態では、ユーザの機器上に常駐するガイドアプリケーションクライアントは、必要に応じて、例えば、ガイドデータが、古くなっているとき、またはユーザ機器デバイスが、データを受信する要求をユーザから受信するとき、ソース４１８とセッションを開始し、ガイドデータを取得してもよい。メディアガイドは、任意の好適な頻度で（例えば、継続的に、毎日、ユーザ指定期間で、システム指定期間で、ユーザ機器からの要求に応じて等）ユーザ機器に提供されてもよい。メディアガイドデータソース４１８は、ユーザ機器デバイス４０２、４０４、および４０６に、メディアガイドアプリケーション自体、またはメディアガイドアプリケーションのソフトウェア更新を提供してもよい。
【００６３】
いくつかの実施形態では、メディアガイドデータは、視聴者データを含んでもよい。例えば、視聴者データは、現在および／または履歴ユーザアクティビティ情報（例えば、ユーザが典型的に見るコンテンツ、ユーザがコンテンツを見る時刻、ユーザがソーシャルネットワークと相互作用するかどうか、ユーザがソーシャルネットワークと相互作用し、情報をポストする時間、ユーザが典型的に見るコンテンツのタイプ（例えば、有料ＴＶまたは無料ＴＶ）、気分、脳の活動情報等）を含んでもよい。メディアガイドデータはまた、加入データを含んでもよい。例えば、加入データは、所与のユーザが加入するソースまたはサービスおよび／または所与のユーザが以前に加入していたが、後にアクセスを打ち切ったソースまたはサービスを識別してもよい（例えば、ユーザがプレミアムチャンネルに加入しているかどうか、ユーザがプレミアムレベルのサービスを追加したかどうか、ユーザがインターネット速度を加速させたかどうか）。いくつかの実施形態では、視聴者データおよび／または加入データは、１年を上回る期間の間の所与のユーザのパターンを識別してもよい。メディアガイドデータは、所与のユーザがサービス／ソースへのアクセスを打ち切るであろう可能性を示すスコアを生成するために使用される、モデル（例えば、残存者モデル）を含んでもよい。例えば、メディアガイドアプリケーションは、加入データと、所与のユーザが特定のサービスまたはソースへのアクセスを打ち切るであろうかどうかの可能性を示す、値またはスコアを生成するためのモデルとを併用して、視聴者データを処理してもよい。特に、より高いスコアは、ユーザが特定のサービスまたはソースへのアクセスを打ち切るであろう、より高いレベルの信頼性を示し得る。スコアに基づいて、メディアガイドアプリケーションは、ユーザがアクセスを打ち切る可能性が高いであろうものとしてスコアによって示される特定のサービスまたはソースをユーザが維持するように勧誘する宣伝および広告を生成してもよい。
【００６４】
メディアガイドアプリケーションは、例えば、ユーザ機器デバイス上に実装される独立型アプリケーションであってもよい。例えば、メディアガイドアプリケーションは、記憶装置３０８内に記憶され、ユーザ機器デバイス３００の制御回路３０４によって実行され得る、ソフトウェアまたは実行可能命令のセットとして実装されてもよい。いくつかの実施形態では、メディアガイドアプリケーションは、クライアント−サーバアプリケーションであってもよく、その場合、クライアントアプリケーションのみ、ユーザ機器デバイス上に常駐し、サーバアプリケーションは、遠隔サーバ上に常駐する。例えば、メディアガイドアプリケーションは、部分的に、ユーザ機器デバイス３００の制御回路３０４上のクライアントアプリケーションとして、および部分的に遠隔サーバ上で、遠隔サーバの制御回路上で起動するサーバアプリケーションとして（例えば、メディアガイドデータソース４１８）、実装されてもよい。遠隔サーバの制御回路（メディアガイドデータソース４１８等）によって実行されると、メディアガイドアプリケーションは、制御回路に、ガイドアプリケーション表示を生成し、生成された表示をユーザ機器デバイスに伝送するように命令してもよい。サーバアプリケーションは、メディアガイドデータソース４１８の制御回路に、ユーザ機器上での記憶のためのデータを伝送するように命令してもよい。クライアントアプリケーションは、受信用ユーザ機器の制御回路に、ガイドアプリケーション表示を生成するように命令してもよい。
【００６５】
ユーザ機器デバイス４０２、４０４、および４０６に配信されるコンテンツおよび／またはメディアガイドデータは、オーバーザトップ（ＯＴＴ）コンテンツであってもよい。ＯＴＴコンテンツ配信は、前述の任意のユーザ機器デバイスを含む、インターネット対応型ユーザデバイスが、ケーブルまたは衛星接続を経由して受信されるコンテンツに加え、前述の任意のコンテンツを含む、インターネットを経由して転送されるコンテンツを受信することを可能にする。ＯＴＴコンテンツは、インターネットサービスプロバイダ（ＩＳＰ）によって提供されるインターネット接続を介して配信されるが、第三者も、コンテンツを配信する。ＩＳＰは、視聴能力、著作権、またはコンテンツの再配信に関与していなくてもよく、ＯＴＴコンテンツプロバイダによって提供されるＩＰパケットのみ転送してもよい。ＯＴＴコンテンツプロバイダの実施例として、ＩＰパケットを介して、オーディオおよびビデオを提供する、ＹＯＵＴＵＢＥ（登録商標）、ＮＥＴＦＬＩＸ、およびＨＵＬＵが挙げられる。Ｙｏｕｔｕｂｅ（登録商標）は、Ｇｏｏｇｌｅ  Ｉｎｃ．によって所有される商標であり、Ｎｅｔｆｌｉｘは、Ｎｅｔｆｌｉｘ，  Ｉｎｃ．によって所有される商標であり、Ｈｕｌｕは、Ｈｕｌｕ，  ＬＬＣ．によって所有される商標である。ＯＴＴコンテンツプロバイダは、加えて、または代替として、前述のメディアガイドデータを提供してもよい。コンテンツおよび／またはメディアガイドデータに加え、ＯＴＴコンテンツのプロバイダは、メディアガイドアプリケーション（例えば、ウェブベースのアプリケーションまたはクラウドベースのアプリケーション）を配信することができ、またはコンテンツは、ユーザ機器デバイス上に記憶されるメディアガイドアプリケーションによって表示されることができる。
【００６６】
メディアガイドシステム４００は、いくつかのアプローチまたはネットワーク構成を例証することを意図しており、これによって、ユーザ機器デバイスおよびコンテンツおよびガイドデータのソースは、コンテンツにアクセスし、メディアガイドを提供する目的で、相互に通信してもよい。本明細書に説明される実施形態は、これらのアプローチの任意の１つまたは一部において、またはコンテンツを配信し、メディアガイドを提供するための他のアプローチを採用するシステムにおいて、適用されてもよい。以下の４つのアプローチは、図４の汎用実施例の具体的例証を提供する。
【００６７】
あるアプローチでは、ユーザ機器デバイスは、ホームネットワーク内で相互に通信してもよい。ユーザ機器デバイスは、上記で説明される短距離ポイントツーポイント通信方式を介して、ホームネットワーク上に提供されるハブまたは他の類似デバイスを通した間接パスを介して、または通信ネットワーク４１４を介して、直接相互に通信することができる。１つの家庭内の複数の個人のそれぞれが、ホームネットワーク上の異なるユーザ機器デバイスを操作してもよい。結果として、種々のメディアガイド情報または設定が、異なるユーザ機器デバイス間で伝達されることが望ましくてもよい。例えば、２００５年７月１１日出願のＥｌｌｉｓらの米国特許公開第２００５／０２５１８２７号でさらに詳細に説明されているように、ホームネットワーク内の異なるユーザ機器デバイス上で、ユーザが一貫したメディアガイドアプリケーション設定を維持することが望ましくてもよい。ホームネットワーク内の異なるタイプのユーザ機器デバイスがまた、相互に通信し、コンテンツを伝送してもよい。例えば、ユーザは、ユーザコンピュータ機器から携帯用ビデオプレーヤまたは携帯用音楽プレーヤにコンテンツを伝送してもよい。
【００６８】
第２のアプローチでは、ユーザは、複数のタイプのユーザ機器を有してもよく、これによって、コンテンツにアクセスし、メディアガイドを取得する。例えば、一部のユーザは、家庭内およびモバイルデバイスによってアクセスされる、ホームネットワークを有してもよい。ユーザは、遠隔デバイス上に実装されるメディアガイドアプリケーションを介して、家庭内デバイスを制御してもよい。例えば、ユーザは、オフィスのパーソナルコンピュータ、またはＰＤＡまたはウェブ対応携帯電話等のモバイルデバイスを介して、ウェブサイト上のオンラインメディアガイドアプリケーションにアクセスしてもよい。ユーザは、オンラインガイドアプリケーション上で種々の設定（例えば、録画、リマインダ、または他の設定）を設定して、ユーザの家庭内機器を制御してもよい。オンラインガイドは、直接、またはユーザの家庭内機器上のメディアガイドアプリケーションと通信することによって、ユーザの機器を制御してもよい。ユーザ機器デバイスが相互から遠隔の場所にある、ユーザ機器デバイスの通信のための種々のシステムおよび方法は、例えば、その全体を参照することにより本明細書に組み込まれる、Ｅｌｌｉｓらの２０１１年１０月２５日発行の米国特許第８，０４６，８０１号で論じられている。
【００６９】
第３のアプローチでは、家庭内外のユーザ機器デバイスのユーザは、コンテンツソース４１６と直接通信し、コンテンツにアクセスするために、そのメディアガイドアプリケーションを使用することができる。具体的には、家庭内では、ユーザテレビ機器４０２およびユーザコンピュータ機器４０４のユーザは、メディアガイドアプリケーションにアクセスし、所望のコンテンツ間をナビゲートし、それを特定してもよい。ユーザはまた、無線ユーザ通信デバイス４０６を使用して、家庭外のメディアガイドアプリケーションにアクセスし、所望のコンテンツ間をナビゲートし、それを特定してもよい。
【００７０】
第４のアプローチでは、ユーザ機器デバイスは、クラウドコンピューティング環境内で操作し、クラウドサービスにアクセスしてもよい。クラウドコンピューティング環境では、コンテンツ共有、記憶、または配信のための種々のタイプのコンピューティングサービス（例えば、ビデオ共有サイトまたはソーシャルネットワーキングサイト）が、「クラウド」と称される、ネットワーク−アクセス可能コンピューティングおよび記憶リソースの集合によって提供される。例えば、クラウドは、ネットワークを介して接続される、種々のタイプのユーザおよびデバイスにクラウドベースのサービス、例えば、通信ネットワーク４１４を介したインターネットを提供する、中央または分散場所に位置し得る、サーバコンピューティングデバイスの集合を含むことができる。これらのクラウドリソースは、１つまたはそれを上回るコンテンツソース４１６および１つまたはそれを上回るメディアガイドデータソース４１８を含んでもよい。加えて、または代替として、遠隔コンピューティングサイトは、ユーザテレビ機器４０２、ユーザコンピュータ機器４０４、および無線ユーザ通信デバイス４０６等の他のユーザ機器デバイスを含んでもよい。例えば、他のユーザ機器デバイスは、ビデオの記憶されたコピーまたはストリーミングされたビデオへのアクセスを提供してもよい。そのような実施形態では、ユーザ機器デバイスは、中心サーバと通信せずに、ピアツーピア様式で操作してもよい。
【００７１】
クラウドは、ユーザ機器デバイスのために、他の実施例の中でもとりわけ、コンテンツ記憶、コンテンツ共有、またはソーシャルネットワーキングサービス等のサービスへのアクセス、および前述の任意のコンテンツへのアクセスを提供する。サービスは、クラウドコンピューティングサービスプロバイダを通して、またはオンラインサービスの他のプロバイダを通して、クラウド内で提供されることができる。例えば、クラウドベースのサービスは、コンテンツ記憶サービス、コンテンツ共有サイト、ソーシャルネットワーキングサイト、または他のサービスを含むことができ、それを介して、ユーザ供給コンテンツは、接続されたデバイス上の他者によって視聴するために配信される。これらのクラウドベースのサービスは、ユーザ機器デバイスが、コンテンツをローカルに記憶し、ローカルに記憶されたコンテンツにアクセスするのではなく、コンテンツをクラウドに記憶し、コンテンツをクラウドから受信することを可能にしてもよい。
【００７２】
ユーザは、カムコーダ、ビデオモード付きデジタルカメラ、オーディオレコーダ、携帯電話、およびハンドヘルドコンピューティングデバイス等の種々のコンテンツ捕捉デバイスを使用して、コンテンツを録画してもよい。ユーザは、直接、例えば、ユーザコンピュータ機器４０４から、またはコンテンツ捕捉特徴を有する、無線ユーザ通信デバイス４０６からのいずれかにおいて、クラウド上のコンテンツ記憶サービスにコンテンツをアップロードすることができる。代替として、ユーザは、最初に、コンテンツをユーザコンピュータ機器４０４等のユーザ機器デバイスに転送することができる。コンテンツを記憶するユーザ機器デバイスは、通信ネットワーク４１４上のデータ伝送サービスを使用して、コンテンツをクラウドにアップロードする。いくつかの実施形態では、ユーザ機器デバイス自体が、クラウドリソースであって、他のユーザ機器デバイスが、直接、ユーザがコンテンツを記憶したユーザ機器デバイスから、コンテンツにアクセスすることができる。
【００７３】
クラウドリソースは、例えば、ウェブブラウザ、メディアガイドアプリケーション、デスクトップアプリケーション、モバイルアプリケーション、および／またはそれらのアクセスアプリケーションの任意の組み合わせを使用して、ユーザ機器デバイスによってアクセスされてもよい。ユーザ機器デバイスは、アプリケーション配信のために、クラウドコンピューティングに依拠する、クラウドクライアントであってもよく、またはユーザ機器デバイスは、クラウドリソースにアクセスせずに、いくつかの機能性を有してもよい。例えば、ユーザ機器デバイス上で起動するいくつかのアプリケーションは、クラウドアプリケーション、すなわち、インターネットを経由して、サービスとして配信されるアプリケーションであってもよい一方、他のアプリケーションは、ユーザ機器デバイス上に記憶され、起動されてもよい。いくつかの実施形態では、ユーザデバイスは、コンテンツを複数のクラウドリソースから同時に受信してもよい。例えば、ユーザデバイスは、オーディオを１つのクラウドリソースからストリーミングする一方、コンテンツを第２のクラウドリソースからダウンロードすることができる。または、ユーザデバイスは、より効率的ダウンロードのために、コンテンツを複数のクラウドリソースからダウンロードすることができる。いくつかの実施形態では、ユーザ機器デバイスは、図３に関連して説明される処理回路によって行われる処理操作等の処理操作のために、クラウドリソースを使用することができる。
【００７４】
本明細書で参照されるように、用語「〜に応答して」は、「〜の結果として開始される」ことを指す。例えば、別のアクションに応答して行われている第１のアクションは、第１のアクションと第２のアクションとの間に介在ステップを含んでもよい。本明細書で参照されるように、用語「〜に直接応答して」は、「〜によって引き起こされる」ことを指す。例えば、別のアクションに直接応答して行われている第１のアクションは、第１のアクションと第２のアクションとの間に介在ステップを含まなくてもよい。
【００７５】
いくつかの実施形態では、メディアガイドアプリケーションは、図５に図示されるプロセス５００のステップを行うことによって、ユーザがユーザの予定と重複するメディアアセットをそうではないメディアアセットから区別することを可能にする。ステップ５０２では、メディアガイドアプリケーションは、（例えば、制御回路３０４を介して）、カレンダアプリケーションから、ユーザと関連付けられた複数のイベントに関するカレンダデータを受信し、カレンダデータは、関連付けられたイベント開始時間および終了時間を有するイベント時間間隔を含む。本明細書で参照されるように、用語「カレンダデータ」は、ユーザのスケジュールされているイベントと関連付けられた任意のデータを指す。例えば、カレンダデータは、医師との面会、ビジネスミーティング、誕生日リマインダ等を含んでもよい。カレンダデータは、例えば、イベント開始時間、終了時間、説明、主題、参加者名、タイトル、リマインダ情報等を含んでもよい。ステップ５０４では、メディアガイドアプリケーションは、（例えば、制御回路３０４を介して）複数のイベントのイベント時間間隔と第１の複数のメディアアセットのメディアアセット時間間隔とを比較し、第１の複数のメディアアセットの各メディアアセットは、関連付けられたメディアアセット開始時間および終了時間を有し、対応するメディアアセット時間間隔の間、複数のユーザへの伝送のためにスケジュールされている。
【００７６】
ステップ５０６では、メディアガイドアプリケーション（例えば、制御回路３０４を介して）は、比較に基づいて、対応するメディアアセットデータベースエントリ内に、第２の複数のメディアアセットに対応する第１の複数のメディアアセット識別子に関する競合インジケータを記憶し、第２の複数のメディアアセットは、イベント時間間隔のうちの少なくとも１つと少なくとも部分的に重複する関連付けられたメディアアセット時間間隔を有する、第１の複数のメディアアセットからのメディアアセットを含む。メディアアセットデータベースエントリは、メディアガイドアプリケーションが常駐する同一デバイス上の記憶装置３０８内に位置するデータベース内に記憶されてもよい。加えて、または代替として、メディアアセットデータベースは、メディアコンテンツソース４１６および／またはメディアガイドデータソース４１８に記憶されてもよく、通信ネットワーク４１４を介してアクセスされてもよい。本明細書で参照されるように、用語「競合インジケータ」は、重複が存在することを示すことが可能なデータ構造を指す。例えば、競合インジケータは、ブール値、変数、重複イベントへのリンク、および／または重複イベントのデータであってもよい。
【００７７】
ステップ５０８では、メディアガイドアプリケーションは、表示のために、（例えば、制御回路３０４を介して）ある時間期間の間の複数のユーザへの伝送のためにスケジュールされているメディアアセットに対応する第２の複数のメディアアセット識別子を生成し、第２の複数のメディアアセット識別子は、第１の複数のメディアアセット識別子内に含まれるメディアアセット識別子を含む第１の部分と、第１の複数のメディアアセット識別子内に含まれないメディアアセット識別子を含む第２の部分とを有し、第１の部分内のメディアアセット識別子は、第２の部分内のメディアアセット識別子から視覚的に区別される。
【００７８】
プロセス５００のステップ５０２は、図６のプロセス６００によってさらに例示される。ステップ６０２では、メディアガイドアプリケーションは、カレンダアプリケーションに、ユーザと関連付けられたカレンダデータに関する要求を伝送する（例えば、制御回路３０４を介してＩ／Ｏパス３０２を通して）。カレンダアプリケーションは、遠隔サーバ上（例えば、メディアコンテンツソース４１６および／またはメディアガイドデータソース４１８と関連付けられたサーバ）またはメディアガイドアプリケーションが常駐するデバイス上の記憶装置３０８内に記憶されてもよい。カレンダアプリケーションはまた、第三者によって管理される遠隔サーバに位置してもよく、インターネットを通してアクセスされてもよい。本明細書で参照されるように、用語「カレンダアプリケーション」は、ユーザと関連付けられたイベントの記憶を可能にするソフトウェアおよび／またはハードウェアを指す。例えば、Ｇｏｏｇｌｅ  Ｃａｌｅｎｄａｒ（ＴＭ）は、ユーザがカレンダデータを記憶することを可能にし、カレンダアプリケーションと見なされる、サービスである。いくつかのカレンダアプリケーションは、単一ユーザに関するカレンダイベントを記憶し得る一方、他は、複数のユーザに関するカレンダイベントを記憶することに留意されたい。他のカレンダアプリケーションは、Ｍｉｃｒｏｓｏｆｔ  Ｅｘｃｈａｎｇｅ、Ｍｉｃｒｏｓｏｆｔ  Ｏｕｔｌｏｏｋ、Ｙａｈｏｏ  Ｃａｌｅｎｄａｒ等を含んでもよい。加えて、カレンダアプリケーションは、スマートフォンおよび他のモバイルデバイス（例えば、タブレット）上で利用可能な任意のアプリケーションを含む。
【００７９】
メディアガイドアプリケーションは、種々の方法においてステップ６０２を行ってもよい。例えば、メディアガイドアプリケーションは、ユーザのカレンダアプリケーションをホストしているサーバに関する事前に構成された値を読み出してもよい（例えば、記憶装置３０８から）。事前に構成された値は、メディアコンテンツソース４１６またはメディアガイドデータソース４１８から読み出されることができることに留意されたい。加えて、または代替として、メディアガイドアプリケーションは、ユーザの電子メールアドレスを含む事前に構成された値を、ユーザのカレンダが電子メールアプリケーションの一部であることのインジケーションとともに、読み出してもよい。例えば、初期構成の際（ユーザがメディアガイドアプリケーションの使用を最初に開始するとき）、メディアガイドアプリケーションは、ユーザがその電子メールアドレスを入力する機会を提供してもよい。メディアガイドアプリケーションは、電子メールアドレスおよびインジケーションを記憶装置３０８内またはメディアコンテンツソース４１６および／またはメディアガイドデータソース４１８に記憶してもよい。メディアガイドアプリケーションは、ユーザと関連付けられたカレンダデータに関する要求をユーザの電子メールと関連付けられたサーバに伝送してもよい。
【００８０】
ユーザがＧｏｏｇｌｅ  Ｍａｉｌ（ＴＭ）等のサービスを利用する場合、メディアガイドアプリケーションは、ユーザと関連付けられたカレンダデータに関する適切にフォーマットされた要求をＧｏｏｇｌｅのサーバに伝送してもよい。要求は、認証情報を含んでもよいことに留意されたい。加えて、または代替として、メディアガイドアプリケーションは、サーバと認証ハンドシェイクを行ってもよい。認証ハンドシェイクは、メディアガイドアプリケーションからの要求の形態をとってもよく、その後、認証情報に関する要求を伴うサーバからの応答が続き、次いで、メディアガイドアプリケーションが認証情報をサーバに伝送することが続くであろう。
【００８１】
ステップ６０４では、メディアガイドアプリケーションは、カレンダアプリケーションから、ユーザと関連付けられた複数のイベントに関するカレンダデータを受信する（例えば、制御回路３０４を介してＩ／Ｏパス３０２を通して）。メディアガイドアプリケーションが、カレンダデータを受信すると、メディアガイドアプリケーションは、そのデータを記憶装置３０８内に記憶してもよい。加えて、または代替として、メディアガイドアプリケーションは、カレンダデータをメディアコンテンツソース４１６および／またはメディアガイドデータソース４１８に記憶してもよい。メディアガイドアプリケーションは、カレンダデータを種々の形態で記憶してもよい。例えば、メディアガイドアプリケーションは、カレンダデータをＸＭＬファイル、データベース、または別のデータ構造内に記憶してもよい。ＸＭＬファイルおよびデータベースは、記憶される間、データをセキュアに保つために暗号化されてもよいことに留意されたい。また、複数のユーザに関するカレンダデータがデータベース内に記憶されてもよいことに留意されたい。メディアガイドアプリケーションは、複数のユーザに関するカレンダデータを複数のＸＭＬファイル（ファイルあたり１人のユーザのカレンダデータ）内に記憶してもよい。
【００８２】
ステップ６０６では、メディアガイドアプリケーションは、受信されたイベントが以前に受信されているかどうかを判定し（例えば、以前の要求によって）、新しいおよび更新されたイベントを記憶するためのプロセスを開始する。これらのステップは、データベースに関連して説明されることに留意されたい。しかしながら、これらのステップは、ファイル（例えば、ＸＭＬファイル）または別のデータ構造にも等しく適用可能であり得る。ステップ６０６では、メディアガイドアプリケーションは、全受信されたイベントが以前に選択されているかどうかを判定する（例えば、制御回路３０４を介して）。全イベントが、以前に選択されている場合、プロセスは、ステップ６２４に進み、終了する。全イベントが以前に選択されていない場合、プロセス６００は、ステップ６０８に進み、メディアガイドアプリケーションは、以前に選択されていない複数のイベントのイベントを選択する（例えば、制御回路３０４を介して）。例えば、メディアガイドアプリケーションは、全ての新しく受信されたイベントを一時的ファイル、一時的データ構造、ＲＡＭ、または一時的データベーステーブル内に記憶してもよい。メディアガイドアプリケーションは、イベントがすでに以前に選択されているイベントと合致するかどうかを判定するために、一度に１つのイベントを選択してもよい。
【００８３】
ステップ６１０では、メディアガイドアプリケーションは、クエリを選択されたイベントに関するデータベースに伝送する（例えば、制御回路３０４を介して、Ｉ／Ｏパス３０２を通して）。例えば、メディアガイドアプリケーションは、それらがデータベース内に記憶されるにつれて一意のイベントを識別し得る、クエリを作成してもよい。具体的には、本クエリは、イベントの開始時間および終了時間およびイベントの説明を含んでもよい。クエリはまた、イベントの主題を含んでもよい。メディアガイドアプリケーションは、最初に、開始時間および終了時間が選択されたイベントの開始時間および終了時間と合致する、全エントリを読み出してもよい。大部分の場合、１つの合致イベントまたはゼロ合致イベントが存在するであろう。しかしながら、いくつかの事例では、ユーザは、同一時間期間にわたってスケジュールされている２つまたはそれを上回るイベントを有し得る。これらの事例では、メディアガイドアプリケーションは、複数のエントリを読み出してもよい。データベースは、メディアガイドアプリケーションが常駐するデバイス上にローカル（記憶装置３０８内）に常駐してもよい。代替として、または加えて、データベースは、メディアコンテンツソース４１６および／またはメディアガイドデータソース４１８に常駐してもよい。イベントエントリが、データベースの代わりに、ファイル（例えば、ＸＭＬファイル）内に記憶される事例では、メディアガイドアプリケーションは、クエリを使用する代わりに、ＸＭＬファイルを解析してもよいことに留意されたい。
【００８４】
ステップ６１２では、メディアガイドアプリケーションは、選択されたイベントがデータベース内に存在するかどうかを判定する。選択されたイベントの開始時間および終了時間の両方と合致するエントリがデータベース内に存在しない場合、プロセス６００は、ステップ６１４に進み、メディアガイドアプリケーションは、データベースエントリを選択されたイベントからのカレンダデータとともに作成する。プロセス６００は、次いで、ステップ６０６に進む。開始時間および終了時間の両方が合致する、少なくとも１つのイベントがデータベース内に存在する場合、プロセス６００は、ステップ６１６に進み、メディアガイドアプリケーションは、データベースから、選択されたイベントと関連付けられたイベントエントリを読み出す（例えば、制御回路３０４を介して）。イベントエントリがファイル（例えば、ＸＭＬファイル）内に記憶される事例では、メディアガイドアプリケーションは、イベントエントリをファイルから読み出してもよいことに留意されたい。
【００８５】
ステップ６１８では、メディアガイドアプリケーションは、データベースから読み出されるイベントエントリのデータと選択されたイベントのデータとを比較する（例えば、制御回路３０４を介して）。メディアガイドアプリケーションは、含まれる他のデータとイベントとを比較することによって比較を行ってもよい。例えば、メディアガイドアプリケーションは、主題、説明、リマインダ情報等を比較してもよい。ステップ６２０では、メディアガイドアプリケーションは、データベースから読み出されるイベントエントリが、選択されたイベントのデータと合致するかどうかを判定する（例えば、制御回路６０４を介して）。イベントエントリが選択されたイベントのデータと合致する場合、プロセス６００は、ステップ６０６に進み、次のイベントが、処理のために選択される。データベースから読み出されるイベントエントリからのデータが、選択されたイベントのデータと合致しない場合、プロセス６００は、ステップ６２２に進む。
【００８６】
ステップ６２２では、メディアガイドアプリケーションは、データベースエントリを選択されたイベントからのデータで更新する（例えば、制御回路３０４を介して）。メディアガイドアプリケーションは、データベースエントリ内のデータを選択されたイベントからのデータで上書きしてもよい。代替として、メディアガイドアプリケーションは、データベースエントリと選択されたイベントとの間で異なる情報のみを上書きしてもよい。プロセス６００は、次いで、ステップ６０６に進む。
【００８７】
図６の説明は、本開示の任意の他の実施形態とともに使用され得ることが考慮される。加えて、プロセス６００のステップは、本開示の目的を促進するように、代替的な順序で、または並行して行われてもよい。例えば、メディアガイドアプリケーションは、性能を向上させるために、複数の論理プロセッサスレッドまたは物理的プロセッサを使用してもよい。さらに、プロセス６００は、分岐予測を組み込むことによって拡張されてもよい。プロセス６００は、適切に構成されたソフトウェアおよびハードウェアの組み合わせ上に実装されてもよく、プロセスのうちの１つまたはそれを上回る部分を実装するために、図３−４に関して議論されるデバイスまたは機器のいずれかが使用され得ることに留意されたい。
【００８８】
図７は、プロセス６００を実装するために使用され得る、可能性として考えられる擬似コードを図示する。図７の擬似コードは、任意の数のプログラミング言語および種々の異なるハードウェアで実装され得、スタイルおよび形式は、限定的として解釈されるべきではなく、むしろ、プロセス６００を実装するために使用されるコードと一致するであろうステップおよびプロシージャの一般的テンプレートであることが当業者に明白となるであろう。
【００８９】
ライン７０２では、メディアガイドアプリケーションは、変数を初期化し、緊急アラートを受信するためのルーチンの開始に備えたサブルーチンを実行する（例えば、制御回路３０４を介して）。例えば、メディアガイドアプリケーションは、非一過性の記憶媒体（例えば、記憶デバイス３０８）からＲＡＭの中へ、または処理回路３０６用のキャッシュの中へ命令をコピーしてもよい（例えば、制御回路３０４を介して）。メディアガイドアプリケーションは、メディアガイドアプリケーションにルーチンが開始することを要求するユーザ入力が受信されたことを通知するユーザ入力インターフェース３１０からの信号に応答して、初期化サブルーチンを実行してもよい。
【００９０】
ライン７０５では、メディアガイドアプリケーションは、現在のユーザを読み出すための機能を実行する（例えば、制御回路３０４を介して）。ライン７０６では、メディアガイドアプリケーションは、新しい要求を作成するための機能を実行する（例えば、制御回路３０４を介して）。新しい要求は、カレンダデータに関する要求であって、現在のユーザのインジケーションを含んでもよい。ステップ７０７では、メディアガイドアプリケーションは、カレンダデータを受信するための機能を実行する（例えば、制御回路３０４を介して）。機能は、入力としてカレンダデータが常駐するサーバ名をとってもよく、新しい要求が、ライン７０６において作成される。
【００９１】
ライン７０８では、メディアガイドアプリケーションは、異なるイベントを分離するために、カレンダデータを解析するための機能を実行してもよい（例えば、制御回路３０４を介して）。イベントは、各イベントを処理するためにトラバースされ得る、アレイまたは別の類似データ構造内に記憶されてもよい。ライン７０９では、メディアガイドアプリケーションは、各受信されたイベントを通して反復する「Ｆｏｒループ」を実行する（例えば、制御回路３０４を介して）。受信されたイベント毎に、メディアガイドアプリケーションは、ライン７１０において、以前に受信されたイベントを記憶するデータベース内のイベントの存在を検索するためのクエリを生成する（例えば、制御回路３０４を介して）。メディアガイドアプリケーションは、図６に関連して説明される任意の様式でクエリを生成してもよい。
【００９２】
ライン７１１では、メディアガイドアプリケーションは、クエリと合致する任意のイベントを受信するために、クエリをデータベースに伝送するための機能を実行する（例えば、制御回路を介して）。ライン７１２では、メディアガイドアプリケーションは、任意のイベントが現在処理されているイベントと合致するかどうかを判定する（例えば、制御回路３０４を介して）。イベントが合致しない場合、メディアガイドアプリケーションは、ライン７１３において、新しいデータベースエントリを作成するための機能を実行する（例えば、制御回路３０４を介して）。機能は、入力としてイベントと関連付けられたデータをとってもよい。ライン７１４では、メディアガイドアプリケーションは、新しいエントリを記憶のためにデータベースに伝送するための機能を実行する（例えば、制御回路３０４を介して）。
【００９３】
ライン７１５において、メディアガイドアプリケーションが、処理されているイベントがデータベース内のイベントと合致することを判定する場合、メディアガイドアプリケーションは、ライン７１６において、イベントデータを解析するための機能を実行する（例えば、制御回路３０４を介して）。ライン７１７では、メディアガイドアプリケーションは、データベースから読み出されるイベントのイベントデータを解析するための機能を実行する（例えば、制御回路３０４を介して）。ライン７１８では、メディアガイドアプリケーションは、２つのイベントのイベントデータを比較する（例えば、制御回路３０４を介して）。メディアガイドアプリケーションは、図６と関連して議論される任意の様式で比較を行ってもよい。
【００９４】
ライン７１９では、メディアガイドアプリケーションは、２つのイベントのデータが合致するかどうかを判定する（例えば、制御回路３０４を介して）。合致が見出されない場合、メディアガイドアプリケーションは、ライン７２０において、既存のイベントを新しいデータで更新するための機能を実行する（例えば、制御回路３０４を介して）。メディアガイドアプリケーションは、図６に関して議論される任意の様式で更新を行ってもよい。しかしながら、データが合致する場合、メディアガイドアプリケーションは、データを更新せず、「Ｆｏｒループ」の次の反復に進む。メディアガイドアプリケーションは、ライン７２５に示されるように、プロセスの終了に進む（例えば、制御回路３０４を介して）。例えば、メディアガイドアプリケーションは、メモリをクリーンアップし、もはや必要とされない変数を破棄してもよい。
【００９５】
図７における擬似コードは、任意の数のプログラミング言語および種々の異なるハードウェアで実装され得、原始関数、論理評価、および機能評価の特定の選択肢および場所は、限定的であることを意図していないことに留意されたい。また、コードは、種々の論理評価の順序を操作し、単一の反復ループではなくて、いくつかの反復を並行して行うように、または入力または最終出力を根本的に変更することなく、実行時間および性能メトリックを別様に操作して最適化するように、リファクタリングされ得る、または書き換えられ得ることに留意されたい。
【００９６】
前述のように、図５のステップ５０４および５０６では、メディアガイドアプリケーションは、複数のイベントのイベント時間間隔と第１の複数のメディアアセットのメディアアセット時間間隔とを比較し（例えば、制御回路３０４を介して）、比較に基づいて、対応するメディアアセットデータベースエントリ内に、読み出されるイベントと重複する伝送時間を有するそれらのメディアアセットに関する競合インジケータを記憶する。プロセス５００のステップ５０４およびステップ５０６の一部は、図８のプロセス８００によってさらに例示される。
【００９７】
ステップ８０２では、メディアガイドアプリケーションは、データベースから、複数のイベントに対応するデータベースエントリおよび第１の複数のメディアアセットに対応するデータベースエントリを読み出す（例えば、制御回路３０４を介して）。イベントエントリおよびメディアアセットエントリは両方とも、同一データベース内に常駐してもよいことに留意されたい。代替として、イベントエントリは、１つのデータベース内に常駐してもよく、メディアアセットエントリは、別のデータベース内に常駐してもよい。また、イベントエントリおよびメディアアセットエントリは、ファイル（例えば、ＸＭＬファイル）または他の適切なデータ構造内に常駐してもよいことに留意されたい。データベースは、メディアガイドアプリケーションが常駐するデバイス上にローカル（例えば、記憶装置３０８内）に記憶されてもよい。加えて、または代替として、データベースは、メディアコンテンツソース４１６および／またはメディアガイドデータソース４１８に記憶されてもよい。
【００９８】
ステップ８０４では、メディアガイドアプリケーションは、複数のイベントに対応する全データベースエントリが以前に選択されているかどうかを判定する（例えば、制御回路３０４を介して）。複数のイベントに対応する全データベースエントリが以前に選択されている場合、プロセス８００は、ステップ８０８に進み、終了する。複数のイベントに対応する全データベースエントリが、以前に選択されていない場合、プロセス８００は、ステップ８０６に進む。ステップ８０６では、メディアガイドアプリケーションは、複数のイベントのイベントに対応する以前に選択されていないデータベースエントリを選択する（例えば、制御回路３０４を介して）。例えば、複数のイベントに対応するデータベースエントリは、データベースから読み出された後、ＲＡＭ内に記憶されてもよい。これらのエントリは、アレイ等のデータ構造内に記憶されてもよい。メディアガイドアプリケーションは、アレイを通して反復し、処理のために各エントリを選択してもよい。
【００９９】
ステップ８１０では、メディアガイドアプリケーションは、イベント開始時間およびイベント終了時間をイベントに対応する選択されたデータベースエントリから読み出す（例えば、制御回路３０４を介して）。ステップ８０６に関連して前述のように、データベースエントリは、データベースから読み出された後、ＲＡＭ内に記憶されてもよい。メディアガイドアプリケーションは、メモリ内のエントリにアクセスし、データベースエントリと関連付けられた異なるフィールドを抽出してもよい。メディアガイドアプリケーションは、次いで、イベント開始時間およびイベント終了時間に対応するフィールド内のデータを読み出してもよい。
【０１００】
ステップ８１２では、メディアガイドアプリケーションは、第１の複数のメディアアセットに対応する全データベースエントリが以前に選択されているかどうかを判定する（例えば、制御回路３０４を介して）。第１の複数のメディアアセットに対応する全データベースエントリが以前に選択されている場合、プロセス８００は、ステップ８０４に進む。そうでなければ、プロセス８００は、ステップ８１４に進む。
【０１０１】
ステップ８１４では、メディアガイドアプリケーションは、第１の複数のメディアアセットのメディアアセットに対応する以前に選択されていないデータベースエントリを選択する（例えば、制御回路３０４を介して）。ステップ８１６では、メディアガイドアプリケーションは、メディアアセット開始時間およびメディアアセット終了時間をメディアアセットに対応する選択されたデータベースエントリから読み出す（例えば、制御回路３０４を介して）。メディアガイドアプリケーションは、ステップ８１０に関連して議論されるものと同一様式で読出動作を行ってもよい。
【０１０２】
ステップ８１８では、メディアガイドアプリケーションは、イベント開始時間とメディアアセット開始時間およびメディアアセット終了時間とを比較し、選択されたイベントが重複するメディアアセットを判定してもよい（例えば、制御回路３０４を介して）。例えば、イベントの開始時間が、メディアアセット伝送の開始時間と終了時間との間にある場合、メディアガイドアプリケーションは、イベントがメディアアセットと重複することを判定してもよい。
【０１０３】
ステップ８２０では、メディアガイドアプリケーションは、イベント終了時間とメディアアセット開始時間およびメディアアセット終了時間とを比較し、選択されたイベントが重複するメディアアセットを判定する。例えば、イベントの終了時間が、メディアアセット伝送の開始時間と終了時間との間にある場合、メディアガイドアプリケーションは、イベントがメディアアセットと重複することを判定してもよい。したがって、メディアガイドアプリケーションは、重複がステップ８１８またはステップ８２０のいずれかまたは両方において見出されるとき、重複を検出してもよい。メディアガイドアプリケーションは、重複を検出するとき、メディアアセットの伝送時間およびイベントと関連付けられた時間帯を考慮することが可能にされてもよいことに留意されたい。例えば、ユーザの通常時間帯は、東部標準時であってもよい。しかしながら、ユーザは、旅行中であり得、太平洋標準時に位置し得る。メディアガイドアプリケーションが、イベント開始時間および終了時間とメディアアセット開始時間および終了時間とを比較するとき、メディアガイドアプリケーションは、最初に、開始時間および終了時間を１つの時間帯（例えば、グリニッジ標準時）に変換してもよい。したがって、第２の複数のメディアアセット識別子が表示されるとき、重複は、ユーザがどの時間帯に居るかにかかわらず、正しく示される。
【０１０４】
ステップ８２２では、メディアガイドアプリケーションは、イベント開始時間またはイベント終了時間のいずれかがメディアアセット開始時間とメディアアセット終了時間との間にあるかどうかを判定する（例えば、制御回路３０４を介して）。イベント開始時間またはイベント終了時間のいずれもメディアアセット開始時間とメディアアセット終了時間との間にない場合、プロセス８００は、ステップ８０４に進む。そうでなければ、プロセス８００は、ステップ８２４に進む。
【０１０５】
ステップ８２４では、メディアガイドアプリケーションは、メディアアセットに対応する選択されたデータベースエントリを（１）イベントに対応するデータベースエントリからのデータと、（２）競合インジケータとで更新する（例えば、制御回路３０４を介して）。メディアガイドアプリケーションは、データベースエントリ内の全データをイベントデータで上書きすることによって更新を行ってもよい。代替として、メディアガイドアプリケーションは、変更したデータベースエントリの部分のみを上書きしてもよい。メディアガイドアプリケーションが更新を完了すると、プロセス８００は、ステップ８０４に進み、別の以前に選択されていないイベントが、処理のために選択される。
【０１０６】
図８の説明は、本開示の任意の他の実施形態とともに使用されてもよいことが考慮される。加えて、プロセス８００のステップは、本開示の目的を促進するように、代替的な順序で、または並行して行われてもよい。例えば、メディアガイドアプリケーションは、性能を向上させるために、複数の論理プロセッサスレッドまたは物理的プロセッサを使用してもよい。さらに、プロセス８００は、分岐予測を組み込むことによって拡張されてもよい。プロセス８００は、適切に構成されたソフトウェアおよびハードウェアの組み合わせ上に実装されてもよく、プロセスのうちの１つまたはそれを上回る部分を実装するために、図３−４に関して議論されるデバイスまたは機器のいずれかが使用され得ることに留意されたい。
【０１０７】
図９は、プロセス８００を実装するために使用され得る、可能性として考えられる擬似コードを図示する。図９の擬似コードは、任意の数のプログラミング言語および種々の異なるハードウェアで実装され得、スタイルおよび形式は、限定的として解釈されるべきではなく、むしろ、プロセス８００を実装するために使用されるコードと一致するであろうステップおよびプロシージャの一般的テンプレートであることが当業者に明白となるであろう。
【０１０８】
ライン９０２では、メディアガイドアプリケーションは、変数を初期化し、メディアアセットエントリとイベントエントリとを比較するためのルーチンの開始に備えたサブルーチンを実行する（例えば、制御回路３０４を介して）。例えば、メディアガイドアプリケーションは、非一過性の記憶媒体（例えば、記憶デバイス３０８）からＲＡＭの中へ、または処理回路３０６用のキャッシュの中へ命令をコピーしてもよい（例えば、制御回路３０４を介して）。メディアガイドアプリケーションは、ルーチン７００の完了に応答して初期化サブルーチンを実行してもよい。
【０１０９】
ライン９０５では、メディアガイドアプリケーションは、カレンダイベントを読み出すための機能を実行する。機能は、入力としてサーバ名（例えば、メディアコンテンツソース４１６および／またはメディアガイドデータソース４１８と関連付けられたサーバ）をとることができる。代替として、メディアガイドアプリケーションは、カレンダイベントをメディアガイドアプリケーションが常駐するデバイス上の記憶装置３０８から読み出してもよい。それらの事例では、サーバ名は、機能に提供されない。メディアガイドアプリケーションは、プロセス８００に関連して説明される任意の様式で機能を行ってもよい。
【０１１０】
ライン９０６では、メディアガイドアプリケーションは、メディアアセットエントリを読み出すための機能を実行する（例えば、制御回路３０６を介して）。機能は、メディアアセットエントリが遠隔サーバから読み出される事例では、入力としてサーバ名をとってもよい。例えば、メディアアセットエントリは、メディアコンテンツソース４１６および／またはメディアガイドデータソース４１８と関連付けられたサーバから読み出されてもよい。加えて、または代替として、メディアガイドアプリケーションは、メディアアセットエントリをメディアガイドアプリケーションが常駐するデバイス上の記憶装置３０８から読み出してもよい。いくつかの事例では、メディアガイドアプリケーションが常駐するデバイスは、メディアアセットエントリを特定の時間期間にわたって記憶してもよく、遠隔サーバ（例えば、メディアコンテンツソース４１６および／またはメディアガイドデータソース４１８と関連付けられたサーバ）は、メディアアセットエントリをより長い期間にわたって記憶してもよい。したがって、メディアガイドアプリケーションは、メディアアセットエントリを両方の場所から読み出してもよい。例えば、翌週にわたるメディアアセットエントリは、メディアガイドアプリケーションが常駐するデバイス上に記憶されてもよく、サーバは、エントリを最大１ヶ月先まで記憶してもよい。
【０１１１】
ライン９０７では、メディアガイドアプリケーションは、全イベントエントリに反復する「Ｆｏｒループ」を実行する（例えば、制御回路３０４を介して）。ライン９０８では、メディアガイドアプリケーションは、現在処理されているイベントエントリの開始時間を読み出すための機能を実行する（例えば、制御回路３０４を介して）。ライン９０９では、メディアガイドアプリケーションは、現在処理されているイベントエントリの終了時間を読み出すための機能を実行する（例えば、制御回路３０４を介して）。両方の読出動作は、図８のプロセス８００に関連して説明される任意の様式で行われてもよいことに留意されたい。
【０１１２】
ライン９１０では、メディアガイドアプリケーションは、各メディアアセットエントリを通して反復する第２の「Ｆｏｒループ」を実行する。ライン９１１では、メディアガイドアプリケーションは、処理されているメディアアセットエントリと関連付けられた開始時間を読み出すための機能を実行する（例えば、制御回路３０４を介して）。ライン９１２では、メディアガイドアプリケーションは、現在処理されているメディアアセットエントリと関連付けられた終了時間を読み出すための機能を実行する（例えば、制御回路３０４を介して）。両方の読出動作は、図８のプロセス８００に関連して説明される任意の様式で実行されてもよいことに留意されたい。
【０１１３】
ライン９１３では、メディアガイドアプリケーションは、イベント開始時間がメディアアセット開始時間とメディアアセット終了時間との間にあるかどうかを判定する（例えば、制御回路３０４を介して）。イベント開始時間が、メディアアセット開始時間とメディアアセット終了時間との間にある場合、メディアガイドアプリケーションは、ライン９１４において、メディアアセットエントリをイベントエントリからのデータで更新するための機能を実行する（例えば、制御回路３０４を介して）。メディアガイドアプリケーションは、イベントの開始時間、イベントの終了時間、説明、リマインダ情報、主題等のメディアアセットエントリをデータで更新してもよい。
【０１１４】
ライン９１５では、メディアガイドアプリケーションは、メディアアセットエントリを新しい競合インジケータで更新するための機能を実行する（例えば、制御回路３０４を介して）。例えば、メディアガイドアプリケーションは、メディアアセットエントリをデータベース内の異なるテーブル内に記憶される競合インジケータへのポインタで更新してもよい。加えて、または代替として、イベントエントリへのポインタは、競合インジケータとしての役割を果たしてもよい。本事例では、メディアガイドアプリケーションは、メディアアセットエントリ内のイベントエントリからのデータを記憶する必要はなく、代わりに、データベースの異なる部分または別のデータベース内のイベントエントリへのポインタを記憶する。その結果、より少ない記憶容量が、メディアアセットエントリを記憶するために使用されるであろう。
【０１１５】
ライン９１７では、メディアガイドアプリケーションは、イベント終了時間がメディアアセット開始時間とメディアアセット終了時間との間にあるかどうかを判定する（例えば、制御回路３０４を介して）。イベント終了時間が、メディアアセット開始時間とメディアアセット終了時間との間にある場合、メディアガイドアプリケーションは、ライン９１８において、メディアアセットエントリをイベントエントリからのデータで更新するための機能を実行する（例えば、制御回路３０４を介して）。メディアガイドアプリケーションは、メディアアセットエントリをイベントの開始時間、イベントの終了時間、説明、リマインダ情報、主題等のデータで更新してもよい。
【０１１６】
ライン９１９では、メディアガイドアプリケーションは、メディアアセットエントリを新しい競合インジケータで更新するための機能を実行する（例えば、制御回路３０４を介して）。例えば、メディアガイドアプリケーションは、メディアアセットエントリをデータベース内の異なるテーブル内に記憶される競合インジケータへのポインタで更新してもよい。加えて、または代替として、イベントエントリへのポインタは、競合インジケータとしての役割を果たしてもよい。本事例では、メディアガイドアプリケーションは、メディアアセットエントリ内のイベントエントリからのデータを記憶する必要はなく、代わりに、データベースの異なる部分または別のデータベース内のイベントエントリへのポインタを記憶する。その結果、より少ない記憶容量が、メディアアセットエントリを記憶するために使用されるであろう。
【０１１７】
ライン９２１では、メディアガイドアプリケーションは、Ｉｎｎｅｒ  Ｆｏｒループの次のステップに進み、ライン９２２では、メディアガイドアプリケーションは、Ｏｕｔｅｒ  Ｆｏｒループの次のステップに進む。メディアガイドアプリケーションは、ライン９２４に示されるように、プロセスの終了に進む（例えば、制御回路３０４を介して）。例えば、メディアガイドアプリケーションは、メモリをクリーンアップし、もはや必要とされない変数を破棄してもよい。
【０１１８】
図９における擬似コードは、任意の数のプログラミング言語および種々の異なるハードウェアで実装され得、原始関数、論理評価、および機能評価の特定の選択肢および場所は、限定的であることを意図していないことに留意されたい。また、コードは、種々の論理評価の順序を操作し、単一の反復ループではなくて、いくつかの反復を並行して行うように、または入力または最終出力を根本的に変更することなく、実行時間および性能メトリックを別様に操作して最適化するように、リファクタリングされ得る、または書き換えられ得ることに留意されたい。
【０１１９】
図１０のプロセス１０００は、ステップ５０６の別の部分を例示する。具体的には、プロセス１０００は、メディアガイドアプリケーションによって、データベース内において、図８のプロセス８００によって更新されたデータベースエントリを更新するために使用され得るステップを図示する。ステップ１００２では、メディアガイドアプリケーションは、記憶装置から、第１の複数のメディアアセットに対応する複数のデータベースエントリを読み出す（例えば、制御回路３０４を介して）。メディアガイドアプリケーションは、記憶装置から、図８のプロセス８００の実行から生じた記憶されるエントリを読み出してもよい。
【０１２０】
ステップ１００４では、メディアガイドアプリケーションは、更新された第１の複数のメディアアセットに対応するデータベースエントリを判定する（例えば、制御回路３０４を介して）。メディアガイドアプリケーションは、メモリ内の各データベースエントリの更新フラグにアクセスすることによって判定を行ってもよい。多くの現在のプログラミングパッケージは、更新フラグをあるルーチンによって更新されたメモリ内のデータベースエントリに対して自動的に設定するルーチンを含むことに留意されたい。
【０１２１】
ステップ１００８では、メディアガイドアプリケーションは、任意のデータベースエントリが更新されたかどうかを判定する。データベースエントリが更新されていない場合、プロセス１０００は、ステップ１００６に進み、終了する。少なくとも１つのデータベースエントリが更新された場合、プロセス１０００は、ステップ１０１０に進む。ステップ１００４および１００８は、並行して行われてもよい、または１つのステップに組み合わせられてもよいことに留意されたい。例えば、メディアガイドアプリケーションは、各データベースエントリを通して反復し、少なくとも１つのデータベースエントリが更新されたことが見出される場合、メモリ内にフラグを記憶してもよい。第１の更新されたデータベースエントリが見出される場合、メディアガイドアプリケーションは、検索を終了し、少なくとも１つのデータベースエントリが更新されたことを判定してもよい。代替として、メディアガイドアプリケーションは、全データベースエントリを通して検索し、更新された各データベースエントリへのポインタを含む、データ構造（例えば、アレイ）を作成してもよい。メディアガイドアプリケーションは、次いで、アレイが任意のポインタを有するかどうかを判定してもよい。アレイがポインタを有する場合、更新されたデータベースエントリが、見出される。ポインタがアレイ内に存在しない場合、データベースエントリは、更新されない。
【０１２２】
ステップ１０１０では、メディアガイドアプリケーションは、第１の複数のメディアアセット識別子に関するデータベースエントリを含有するデータベースに接続する（例えば、制御回路３０４を介してＩ／Ｏパス３０２を通して）。例えば、メディアガイドアプリケーションは、データベースに接続要求を伝送してもよい（Ｉ／Ｏパス３０２を介して）。データベースは、メディアコンテンツソース４１６および／またはメディアガイドデータソース４１８に位置してもよく、これは、通信ネットワーク４１４を通してアクセスされてもよいことに留意されたい。代替として、データベースは、インターネットまたは別のネットワークを経由してアクセス可能な任意の場所に常駐してもよい。
【０１２３】
ステップ１０１２では、メディアガイドアプリケーションは、データベース接続が成功したかどうかを判定する（例えば、制御回路３０４を介して）。メディアガイドアプリケーションは、ステップ１０１０からの接続要求へのデータベースからの応答を分析することによってその判定を行ってもよい。メディアガイドアプリケーションが、データベースへの接続に成功しない場合、プロセス１０００は、ステップ１０１０に進む。ステップ１０１０では、メディアガイドアプリケーションは、別の接続の試行を行ってもよい。メディアガイドアプリケーションが、データベースが利用不可能であることを判定し、再び接続を試行する前に、具体的時間量を待機するであろう前に、任意の数の接続試行が行われてもよいことに留意されたい。メディアガイドアプリケーションは、ユーザにアラートし、および／または接続失敗と関連付けられたデータをログファイルに保存してもよい。データベース接続が成功する場合、プロセス１０００は、ステップ１０１４に進む。
【０１２４】
ステップ１０１４では、メディアガイドアプリケーションは、処理のために以前に選択されていないデータベースエントリを選択する、（例えば、制御回路３０４を介して）。ステップ１０１６では、メディアガイドアプリケーションは、更新クエリを生成し、選択されたデータベースエントリを更新する。クエリは、更新クエリを生成するために、更新されているデータベースと互換性がある、具体的アプリケーションプログラミングインターフェース（「ＡＰＩ」）コールを含んでもよい。ステップ１０１８では、メディアガイドアプリケーションは、更新クエリをデータベースに伝送する（例えば、制御回路３０４を介してＩ／Ｏパス３０２を通して）。ステップ１０２０では、メディアガイドアプリケーションは、更新クエリへの応答をデータベースから受信し、ステップ１０２２では、更新が成功したかどうかを判定する。更新が成功する場合、プロセス１０００は、ステップ１０１４に進む。そうでなければ、プロセス１０００は、ステップ１０２４に進み、メディアガイドアプリケーションは、エラーを生成し、それをログに書き込む（例えば、制御回路３０４を介して）。ログは、記憶装置３０８内に記憶され得るメディアガイドアプリケーションと同一デバイス上に常駐してもよいことに留意されたい。加えて、または代替として、エラーログは、メディアコンテンツソース４１６および／またはメディアガイドデータソース４１８に常駐してもよい。
【０１２５】
図１０の説明は、本開示の任意の他の実施形態とともに使用されてもよいことが考慮される。加えて、プロセス１０００のステップは、本開示の目的を促進するように、代替的な順序で、または並行して行われてもよい。例えば、メディアガイドアプリケーションは、性能を向上させるために、複数の論理プロセッサスレッドまたは物理的プロセッサを使用してもよい。さらに、プロセス１０００は、分岐予測を組み込むことによって拡張されてもよい。プロセス１０００は、適切に構成されたソフトウェアおよびハードウェアの組み合わせ上に実装されてもよく、プロセスのうちの１つまたはそれを上回る部分を実装するために、図３−４に関して議論されるデバイスまたは機器のいずれかが使用され得ることに留意されたい。
【０１２６】
図１１は、プロセス１０００を実装するために使用され得る、可能性として考えられる擬似コードを図示する。図１１の擬似コードは、任意の数のプログラミング言語および種々の異なるハードウェアで実装され得、スタイルおよび形式は、限定的として解釈されるべきではなく、むしろ、プロセス１０００を実装するために使用されるコードと一致するであろうステップおよびプロシージャの一般的テンプレートであることが当業者に明白となるであろう。
【０１２７】
ライン１１０２では、メディアガイドアプリケーションは、変数を初期化し、緊急アラートを受信するためのルーチンの開始に備えたサブルーチンを実行する（例えば、制御回路３０４を介して）。例えば、メディアガイドアプリケーションは、非一過性の記憶媒体（例えば、記憶デバイス３０８）からＲＡＭの中へ、または処理回路３０６用のキャッシュの中へ命令をコピーしてもよい（例えば、制御回路３０４を介して）。メディアガイドアプリケーションは、ルーチン９００の完了に応答して初期化サブルーチンを実行してもよい。
【０１２８】
ライン１１０５では、メディアガイドアプリケーションは、メディアアセットエントリを読み出すための機能を実行する（例えば、制御回路３０４を介して）。メディアガイドアプリケーションは、図１０のプロセス１０００に関連して説明される任意の方法によってメディアアセットエントリを読み出してもよい。ライン１１０６では、メディアガイドアプリケーションは、プロセス８００の一部として更新されたメディアアセットエントリを検出するための機能を実行する（例えば、制御回路３０４を介して）。メディアガイドアプリケーションは、それらのデータベースエントリへのポインタをアレイまたは別の適切なデータ構造内に記憶してもよい。
【０１２９】
ライン１１０７では、メディアガイドアプリケーションは、任意のエントリが更新されたかどうかを判定する。エントリが更新されていない場合、メディアガイドアプリケーションは、終了サブルーチンを実行する（例えば、制御回路３０４を介して）。終了サブルーチンは、図９に関連して説明される終了サブルーチンに類似してもよい。メディアガイドアプリケーションが、少なくとも１つのメディアアセットエントリが更新されたことを判定する場合、メディアガイドアプリケーションは、ライン１１０９に進み、「ｉｆ」条件文は、終了する。ライン１１１０では、メディアガイドアプリケーションは、ステータス変数をゼロに設定する（例えば、制御回路３０４を介して）。
【０１３０】
ライン１１１１では、メディアガイドアプリケーションはステータス変数がゼロ以外の値に設定されるまで反復するであろう、ｗｈｉｌｅループを実行する（例えば、制御回路３０４を介して）。ライン１１１２では、メディアガイドアプリケーションは、データベースに接続するための機能を実行する（例えば、制御回路３０４を介して）。機能が成功する場合、ステータス変数は、ゼロ以外の数に設定される。ある数の試み後、接続試行を停止するために、さらなる擬似コードが追加されてもよいことに留意されたい。他の擬似コードも、再開前に具体的時間量にわたって接続試行を停止するために追加されてもよい。そのような擬似コードは、図１１にデータベースを更新する具体的ステップに焦点を当てさせるために含まれていない。ライン１１１３では、メディアガイドアプリケーションは、ｗｈｉｌｅループの次のステップを実行する（例えば、制御回路３０４を介して）。
【０１３１】
データベース接続が成功すると、メディアガイドアプリケーションは、ライン１１１４において、更新をデータベースに伝送するために、「Ｆｏｒループ」を実行し、各更新されたエントリを通して反復する。ライン１１１５では、メディアガイドアプリケーションは、データベースを処理されている現在のエントリで更新するためのクエリを生成するための機能を実行する（例えば、制御回路３０４を介して）。クエリが作成されると、ライン１１１６において、データベースに伝送される。ライン１１１７では、メディアガイドアプリケーションは、更新が成功したかどうかを判定する（例えば、制御回路３０４を介して）。更新が成功しない場合、メディアガイドアプリケーションは、エラーをログファイルに書き込むための機能を実行する（例えば、制御回路３０４を介して）。エラーは、エラーが生じた理由に関連する任意の情報を含んでもよい。ライン１１１９では、「ｉｆ」条件文は、終了する。ライン１１２０では、メディアガイドアプリケーションは、「Ｆｏｒループ」の次のステップに進む。ライン１１２２では、メディアガイドアプリケーションは、終了サブルーチンを実行する。例えば、メディアガイドアプリケーションは、メモリをクリーンアップし、もはや必要とされない変数を破棄してもよい。
【０１３２】
図１１における擬似コードは、任意の数のプログラミング言語および種々の異なるハードウェアで実装され得、原始関数、論理評価、および機能評価の特定の選択肢および場所は、限定的であることを意図していないことに留意されたい。また、コードは、種々の論理評価の順序を操作し、単一の反復ループではなくて、いくつかの反復を並行して行うように、または入力または最終出力を根本的に変更することなく、実行時間および性能メトリックを別様に操作して最適化するように、リファクタリングされ得る、または書き換えられ得ることに留意されたい。
【０１３３】
前述のように、プロセス５００のステップ５０８では、メディアガイドアプリケーションは、表示のために、第２の複数のメディアアセットを生成する（例えば、制御回路３０４を介して）。図１２のプロセス１２００は、メディアガイドアプリケーションがプロセス５００のステップ５０８において使用し得る、具体的ステップを例示する。ステップ１２０２では、メディアガイドアプリケーションは、メディアアセット識別子が表示される必要がある、時間期間および１つまたはそれを上回るコンテンツソースを判定する（例えば、制御回路３０４を介して）。例えば、メディアガイドアプリケーションは、ユーザが、午後５：００〜７：００の間のチャンネル１〜５に関するスケジューリング情報を確認することを所望することを示す入力を受信してもよい（例えば、ユーザ入力インターフェース３１から）。それに応答して、メディアガイドアプリケーションは、午後５：００〜７：００の間のチャンネル１〜５に関する表示画面が表示される必要があることを判定してもよい。
【０１３４】
ステップ１２０４では、メディアガイドアプリケーションは、時間期間および１つまたはそれを上回るコンテンツソースに基づいて、第２の複数のメディアアセット識別子を検索する（例えば、制御回路３０４を介して）。例えば、メディアアセット識別子は、データベース内に記憶されてもよい。メディアガイドアプリケーションは、時間間隔（例えば、午後５：００〜７：００）およびコンテンツソース（例えば、チャンネル１〜５）を検索パラメータとして含む、クエリを作成してもよい。メディアガイドアプリケーションは、メディアガイドアプリケーションが常駐するデバイスの記憶装置３０８内のメディアアセット識別子に対して検索を行ってもよい。代替として、または加えて、メディアガイドアプリケーションは、メディアコンテンツソース４１６および／またはメディアガイドデータソース４１８内のメディアアセット識別子を検索してもよい。例えば、メディアガイドアプリケーションが検索基準に適合する任意のメディアアセット識別子を記憶装置３０８内に見出さない事例では、メディアガイドアプリケーションは、メディアコンテンツソース４１６および／またはメディアガイドデータソース４１８に対して検索を行ってもよい。
【０１３５】
ステップ１２０６では、メディアガイドアプリケーションは、検索の結果として少なくとも１つのメディアアセット識別子が識別されたかどうかを判定する（例えば、制御回路３０４を介して）。メディアアセット識別子が検索の結果として識別されない場合、プロセス１２００は、ステップ１２０８に進む。ステップ１２０８では、メディアガイドアプリケーションは、表示のために、メッセージをユーザに生成し、いずれのメディアアセット識別子も検索基準を満たさないことをユーザに知らせる（例えば、ユーザが、何も伝送されない時間期間およびチャンネルを選定した事例において）（例えば、制御回路３０４を介して）。少なくとも１つのメディアアセット識別子が見出される場合、プロセス１２００は、ステップ１２１０に進む。ステップ１２１０では、メディアガイドアプリケーションは、以前に選択されていない任意のさらなるメディアアセット識別子が残っていないかどうかを判定する（例えば、制御回路３０４を介して）。全メディアアセット識別子が以前に選択されている場合、プロセス１２００は、ステップ１２１２に進み、終了する。少なくとも１つのメディアアセット識別子が以前に選択されていない場合、プロセス１２００は、ステップ１２１４に進む。
【０１３６】
ステップ１２１４では、メディアガイドアプリケーションは、メディアアセット識別子を以前に選択されていない第２の複数のメディアアセット識別子から選択する（例えば、制御回路３０４を介して）。ステップ１２１６では、メディアガイドアプリケーションは、選択されたメディアアセット識別子に対応するメディアアセットデータベースエントリを読み出す（例えば、制御回路３０４を介して）。メディアガイドアプリケーションは、メディアアセット識別子の具体的ＩＤを含むデータベースへのクエリを生成することによって、読出動作を行ってもよい。ステップ１２１８では、メディアガイドアプリケーションは、読み出されるメディアアセットデータベースエントリが競合インジケータを含むかどうかを判定する（例えば、制御回路３０４を介して）。メディアガイドアプリケーションが、競合インジケータがメディアアセットデータベースエントリ内に含まれないことを判定する場合、プロセス１２００は、ステップ１２２０に進み、メディアガイドアプリケーションは、表示のために、メディアアセット識別子を生成する（例えば、制御回路３０４を介して、ディスプレイ３１２上に）。例えば、メディアガイドアプリケーションは、メディアアセットデータベースエントリと関連付けられたデータを送信し、情報をディスプレイ（例えば、ディスプレイ３１２）上にレンダリングすることができる、同一デバイス内にレンダリングしてもよい。プロセス１２００は、次いで、ステップ１２１０に進む。しかしながら、メディアアセットデータベースエントリが、競合インジケータを含む場合、プロセス１２００は、ステップ１２２２に進む。
【０１３７】
ステップ１２２２では、メディアガイドアプリケーションは、競合インジケータに対応する視覚的インジケータを識別する（例えば、制御回路３０４を介して）。例えば、異なる視覚的インジケータが、メディアガイドアプリケーションに利用可能であってもよい。いくつかの事例では、メディアガイドアプリケーションは、競合インジケータの一部として、対応する視覚的インジケータへのリンクを記憶してもよい。いくつかの事例では、視覚的インジケータは、メディアアセットデータベースエントリ内に記憶されてもよく、メディアガイドアプリケーションは、それを読み出してもよい。
【０１３８】
ステップ１１２４では、メディアガイドアプリケーションは、表示のために、選択されたメディアアセット識別子を視覚的インジケータとともに生成する（例えば、制御回路３０４を介して、ディスプレイ３１２上に）。プロセス１２００は、次いで、ステップ１２１０に進む。
【０１３９】
図１２の説明は、本開示の任意の他の実施形態とともに使用されてもよいことが考慮される。加えて、プロセス１２００のステップは、本開示の目的を促進するように、代替的な順序で、または並行して行われてもよい。例えば、メディアガイドアプリケーションは、性能を向上させるために、複数の論理プロセッサスレッドまたは物理的プロセッサを使用してもよい。さらに、プロセス１２００は、分岐予測を組み込むことによって拡張されてもよい。プロセス１２００は、適切に構成されたソフトウェアおよびハードウェアの組み合わせ上に実装されてもよく、プロセスのうちの１つまたはそれを上回る部分を実装するために、図３−４に関して議論されるデバイスまたは機器のいずれかが使用され得ることに留意されたい。
【０１４０】
図１３は、プロセス１２００を実装するために使用され得る、可能性として考えられる擬似コードを図示する。図１３の擬似コードは、任意の数のプログラミング言語および種々の異なるハードウェアで実装され得、スタイルおよび形式は、限定的として解釈されるべきではなく、むしろ、プロセス１２００を実装するために使用されるコードと一致するであろうステップおよびプロシージャの一般的テンプレートであることが当業者に明白となるであろう。
【０１４１】
ライン１３０２では、メディアガイドアプリケーションは、変数を初期化し、緊急アラートを受信するためのルーチンの開始に備えたサブルーチンを実行する（例えば、制御回路３０４を介して）。例えば、メディアガイドアプリケーションは、非一過性の記憶媒体（例えば、記憶デバイス３０８）からＲＡＭの中へ、または処理回路３０６用のキャッシュの中へ命令をコピーしてもよい（例えば、制御回路３０４を介して）。メディアガイドアプリケーションは、ルーチン１１００の完了に応答して初期化サブルーチンを実行してもよい。
【０１４２】
ライン１３０５および１３０６では、メディアガイドアプリケーションは、表示されるべき時間期間およびコンテンツソースを読み出す（例えば、制御回路３０４を介して）。図１２に関連して議論されるように、時間期間およびコンテンツソースは、ユーザによって要求されてもよい。ライン１３０７では、メディアガイドアプリケーションは、表示される必要があるメディアアセット識別子を検索するためのクエリを作成するための機能を実行する（例えば、制御回路３０４を介して）。ライン１３０８では、メディアガイドアプリケーションは、要求されるメディアアセット識別子に関してデータベースにクエリするための機能を実行する（例えば、制御回路３０４を介して）。クエリは、図１２に関連して説明されるものと同一様式で作成されてもよい。クエリに応答して、メディアガイドアプリケーションは、クエリと合致するメディアアセット識別子を返してもよい。メディアガイドアプリケーションは、メディアアセット識別子をアレイまたは別の適切なデータ構造内に記憶してもよい。
【０１４３】
ライン１３０９では、メディアガイドアプリケーションは、アレイが任意のデータを含むかどうかを判定する（例えば、制御回路３０４を介して）。アレイが任意のデータを含まない場合、メディアガイドアプリケーションは、ライン１３２２において終了サブルーチンを実行する。アレイが少なくともいくつかのデータを含む場合、メディアガイドアプリケーションはライン１３１０において、各見出されるメディアアセット識別子を通して反復する、「ｆｏｒループ」を実行する（例えば、制御回路３０４を介して）。
【０１４４】
ライン１３１１では、メディアガイドアプリケーションは、データベースエントリと関連付けられたデータを読み出し、データを変数内に記憶するための機能を実行する（例えば、制御回路３０４を介して）。ライン１３１２では、メディアガイドアプリケーションは、データが競合インジケータを含むかどうかを判定する（例えば、制御回路３０４を介して）。競合インジケータが含まれない場合、データは、レンダリングされるためにディスプレイに追加される。競合インジケータがデータ内に含まれる場合、メディアガイドアプリケーションは、ライン１３１３において、競合インジケータと関連付けられた視覚的インジケータを見出し、それを読み出すための機能を実行する（例えば、制御回路３０４を介して）。メディアガイドアプリケーションは、図１２に関連して説明される任意の様式で本動作を行ってもよい。ライン１３１４では、メディアガイドアプリケーションは、メディアアセット識別子およびインジケータを表示されるべき画面に追加するための機能を実行する（例えば、制御回路３０４を介して）。ライン１３１８では、メディアガイドアプリケーションは、「ｆｏｒループ」の次のステップを実行する（例えば、制御回路３０４を介して）。ライン１３１９では、メディアガイドアプリケーションは、データを表示のためにレンダリングするための機能を実行する（例えば、制御回路３０４を介して）。ライン１３２２では、メディアガイドアプリケーションは、終了サブルーチンを実行する。例えば、メディアガイドアプリケーションは、メモリをクリーンアップし、もはや必要とされない変数を破棄してもよい。
【０１４５】
図１３における擬似コードは、任意の数のプログラミング言語および種々の異なるハードウェアで実装され得、原始関数、論理評価、および機能評価の特定の選択肢および場所は、限定的であることを意図していないことに留意されたい。また、コードは、種々の論理評価の順序を操作し、単一の反復ループではなくて、いくつかの反復を並行して行うように、または入力または最終出力を根本的に変更することなく、実行時間および性能メトリックを別様に操作して最適化するように、リファクタリングされ得る、または書き換えられ得ることに留意されたい。
【０１４６】
いくつかの実施形態では、メディアガイドアプリケーションは、ユーザが異なる優先順位のイベントと重複するメディアアセットを視覚的に区別することを可能にしてもよい。具体的には、メディアガイドアプリケーションは、第１の部分内の第１のメディアアセット識別子に対応する第１のメディアアセットの伝送時間と少なくとも部分的に重複する、複数のイベントの第１のイベントの第１の優先順位を判定してもよい。例えば、カレンダデータは、メディアガイドアプリケーションがカレンダアプリケーションから読み出す優先順位データを有してもよい。メディアガイドアプリケーションは、単に、特定のイベントに関するイベントデータベースエントリにアクセスすることによって、イベントの優先順位を判定してもよい。加えて、または代替として、メディアガイドアプリケーションは、イベントの一部であるキーワードに基づいて、各イベントの優先順位を判定してもよい。例えば、メディアガイドアプリケーションは、合致する場合、イベントを高優先順位に昇格させ得る、キーワードのセットへのアクセスを有してもよい。メディアガイドアプリケーションは、イベントデータベースエントリ内の全単語をキーワードに合致させ、任意のキーワードが合致するかどうかを判定してもよい。いくつかの実施形態では、１つのキーワードが合致する場合、イベントは、高優先順位イベントとして指定されてもよい。
【０１４７】
他の実施形態では、イベントが高優先順位イベントに昇格されるために、閾値数の単語が合致しなければならない。閾値は、ユーザまたはシステムのアドミニストレータによって設定されてもよい。いくつかの実施形態では、各キーワードは、加重と関連付けられてもよく、閾値は、加重された値であってもよい。したがって、適切な加重値を伴う十分なキーワードが合致する場合、イベントは、高優先順位イベントに昇格されてもよい。
【０１４８】
メディアガイドアプリケーションは、第１の部分内の第２のメディアアセット識別子に対応する第２のメディアアセットの伝送時間と少なくとも部分的に重複する、複数のイベントの第２のイベントの第２の優先順位を判定してもよい。第２の優先順位は、第１の優先順位と全く同一様式で判定されてもよい。
【０１４９】
メディアガイドアプリケーションは、第２の優先順位と異なる第１の優先順位に基づいて、第１の部分内の第１のメディアアセット識別子を第１の部分内の第２のメディアアセット識別子から視覚的に区別してもよい。例えば、メディアガイドアプリケーションは、高優先順位と関連付けられたメディアアセット識別子を赤色で、より低い優先順位を緑色でレンダリングしてもよい。
【０１５０】
いくつかの実施形態では、異なる視覚的インジケータが、異なる優先順位と関連付けられてもよく、メディアガイドアプリケーションは、ユーザが、異なる視覚的インジケータを介して、異なる優先順位イベントと重複するメディアアセットを視覚的に区別することを可能にしてもよい。具体的には、メディアガイドアプリケーションは、第１の優先順位と関連付けられた第１の視覚的インジケータおよび第２の優先順位と関連付けられた第２の視覚的インジケータを記憶してもよい。メディアガイドアプリケーションは、これらのインジケータをデータベーステーブル内に対応する優先順位とともに記憶してもよい。メディアガイドアプリケーションは、表示のために、第１の視覚的インジケータを伴う第１のメディアアセット識別子および第２の視覚的インジケータを伴う第２のメディアアセット識別子を生成してもよい。
【０１５１】
図１４は、異なる優先順位のための異なる視覚的インジケータを含む、１つの可能性として考えられる表示を例示する。表示１４００のエリア１４０４は、水平スケール１４０６上の異なる時間期間および垂直軸１４２０上のチャンネル番号のグリッド表示を含む。「Ｇａｍｅ  ｏｆ  Ｔｈｒｏｎｅｓ」に対応するメディアアセット識別子１４１２は、ユーザに「Ｇａｍｅ  ｏｆ  Ｔｈｒｏｎｅｓ」が低優先順位イベントと重複することを示すように、１つの様式で陰影されている。メディアアセット識別子１４０８は、異なる陰影を介して、メディアアセット識別子１４１２から視覚的に区別される。本事例では、メディアアセット識別子１４０８は、高優先順位イベントと重複するメディアアセットに対応する。メディアアセット識別子１４１０もまた、高優先順位イベントと重複することを示すために陰影されている。しかしながら、ユーザに本メディアアセット識別子の一部のみがイベントと重複することを示すために、メディアアセット識別子１４１０の一部のみが陰影されている。「Ｎｅｗｓ」を表すメディアアセット識別子１４１６は、本メディアアセット識別子と関連付けられたメディアアセットが任意のイベントと重複していないことを示すために、陰影されていない。凡例１４１８は、ユーザに、各タイプの陰影の意味を示す。異なる陰影が、異なる優先順位のために使用されてもよいことに留意されたい。また、他の優先順位も、図１４内に異なる陰影とともに含めるために可能性として考えられることに留意されたい。また、メディアアセット識別子を特定の方法で陰影する代わりに、メディアアセット識別子は、異なる色（例えば、高優先順位イベントとの重複に関しては赤色、低優先順位イベントとの重複に関しては緑色、および無重複に関しては青色）であってもよいことに留意されたい。
【０１５２】
エリア１４０２は、現在選択されているメディアアセット１４０８「Ｗｉｌｌ  ａｎｄ  Ｇｒａｃｅ」に関するさらなる情報を提供する。エリア１４０２の内側では、エリア１４１４が、イベント「Ｗｉｌｌ  ａｎｄ  Ｇｒａｃｅ」についてのいくつかの詳細、具体的には、イベントの説明、開始時間、および終了時間を示す。また、「Ｗｉｌｌ  ａｎｄ  Ｇｒａｃｅ」が高優先順位イベントと重複するため、イベントを再スケジュールするためのオプションは、提示されないことに留意されたい。代わりに、メディアアセットを記録するためのオプションが、エリア１４１４の内側においてユーザに利用可能である。
【０１５３】
いくつかの実施形態では、図１４に説明されるように、メディアガイドアプリケーションは、ユーザが重複イベントを再スケジュールすることを可能にしてもよい。具体的には、メディアガイドアプリケーションは、第１の優先順位を再スケジュールされ得る複数のイベントのそれらのイベントに割り当て、第２の優先順位を再スケジュールされ得ない複数のイベントのそれらのイベントに割り当ててもよい。第１のメディアアセット識別子のユーザ選択に応答して、メディアガイドアプリケーションは、表示のために、第１のイベントと関連付けられたカレンダデータを生成し、第１のイベントを再スケジュールするためのオプションをユーザに提供してもよい。ユーザが重複イベントを再スケジュールするためのオプションを選択する場合、メディアガイドアプリケーションは、表示のために、イベントの詳細（例えば、開始時間、終了時間、説明、主題、リマインダ情報等）を含み得るフォームを生成してもよい。メディアガイドアプリケーションは、ユーザが情報を編集することを可能にしてもよい。いったんユーザが情報の編集を完了すると、ユーザは、編集されたフォームをサブミットしてもよい。メディアガイドアプリケーションは、ユーザがイベントの編集を完了したことのインジケーションをユーザから受信してもよい（例えば、ユーザがサブミットオプションを選択することによって）。メディアガイドアプリケーションは、次いで、編集されたイベントをカレンダアプリケーションに伝送し、メディアアセット識別子のデータベースを更新し、競合インジケータを適切なメディアアセット識別子から除去してもよい。
【０１５４】
第２のメディアアセット識別子のユーザ選択に応答して、メディアガイドアプリケーションは、表示のために、第２のイベントと関連付けられたカレンダデータを生成し、第２のメディアアセットを記録するためのオプションをユーザに提供してもよい。メディアガイドアプリケーションは、表示のために、メディアアセットを記録するための１つまたはそれを上回るオプションを生成してもよい、または、メディアアセットが実際にはシリーズの一部である場合、メディアアセットが関連付けられたシリーズを記録するための１つまたはそれを上回るオプションを生成してもよい。
【０１５５】
いくつかの実施形態では、メディアアセットガイドアプリケーションは、エリア１４０４内における表示のために、メディアアセットのシリーズについての情報を生成し、重複情報をディスプレイ内に含めてもよい。本明細書で参照されるように、用語「シリーズ」は、共通特性を共有する、複数のメディアアセットを指す。例えば、メディアガイドアプリケーションは、表示のために、シリーズと関連付けられたメディアアセットに対応するメディアアセット識別子（例えば、ＮＢＡ決勝戦の１〜７戦に対応するメディアアセット識別子）を生成してもよい。本事例では、メディアガイドアプリケーションは、表示のために、少なくとも１つのイベントと重複する各試合とともに、それらの試合をイベントと重複しない試合から視覚的に区別する視覚的インジケータを生成してもよい。いくつかの実施形態では、メディアガイドアプリケーションは、表示のために、ユーザが少なくとも１つのイベントと重複するメディアアセットに対応する表示されるメディアアセット識別子のうちの１つを選択することに応答して、重複イベントの詳細を生成してもよい。
【０１５６】
いくつかの実施形態では、メディアガイドアプリケーションは、第３の優先順位（例えば、中間優先順位）をいくつかのイベントに割り当ててもよい。例えば、中間優先順位イベントは、ある状況下で移動され得る、それらのイベントであってもよい。中間優先順位イベントと重複するメディアアセットに対応するメディアアセット識別子に関して、メディアガイドアプリケーションは、再スケジューリング要求をイベントの他の参加者に伝送するためのオプションをユーザに提供（例えば、表示のために生成）してもよい。メディアガイドアプリケーションはさらに、他の参加者から、再スケジューリング要求が容認可能であるかどうかの応答を受信してもよい。全他の参加者が合意する場合、メディアガイドアプリケーションは、イベントを再スケジュールすることに進み、ユーザに変更を通知してもよい。全参加者が合意しない場合、メディアガイドアプリケーションは、イベントを再スケジュールしなくてもよい。
【０１５７】
いくつかの実施形態では、第１の部分内のメディアアセット識別子は、第１のタイプのインジケータによって第２の部分内のメディアアセット識別子から視覚的に区別され、第１のメディアアセット識別子は、第２のタイプのインジケータを伴う第２のメディアアセット識別子から視覚的に区別される。例えば、第１の部分内のメディアアセット識別子（すなわち、少なくとも１つのイベントと重複するメディアアセットに対応する）は、異なる色によって、第１の部分内のメディアアセット識別子から区別されてもよい（例えば、赤色対青色）。加えて、高優先順位イベントと重複するメディアアセットに対応するメディアアセット識別子は、低優先順位イベントと重複するメディアアセットに対応するメディアアセット識別子が、アイコンを有していなくてもよい、または異なるアイコンを有してもよいことを示す、アイコンを含んでもよい。インジケータのタイプの実施例は、色、陰影、アイコン、テキストインジケーションを含んでもよい。
【０１５８】
いくつかの実施形態では、メディアガイドアプリケーションは、複数のイベントのイベント時間間隔と第１の複数のメディアアセットのメディアアセット時間間隔とを比較するとき、以下のステップを行ってもよい。メディアガイドアプリケーションは、複数のイベントの第１のイベントに関して、第１の開始時間および第１の終了時間を読み出してもよい。例えば、第１のイベントは、メディアガイドデータベースが常駐する同一デバイス上のデータベースである記憶装置３０８内に記憶されてもよい。加えて、または代替として、第１のイベントは、異なる場所（例えば、メディアコンテンツソース４１６および／またはメディアガイドデータソース４１８）内に記憶されてもよい。それらの事例では、メディアガイドアプリケーションは、ネットワーク（例えば、通信ネットワーク４１４）を介して、第１のイベントを遠隔ソースから読み出してもよい。
【０１５９】
メディアガイドアプリケーションは、第１の複数のメディアアセット内の第１のメディアアセットに関して、第２の開始時間および第２の終了時間を読み出してもよい。第１のメディアアセットは、第１のイベントと同一場所から読み出されてもよい。イベントおよびメディアアセット識別子は両方とも、同一データベースまたは異なるデータベース内に記憶されてもよいことに留意されたい。メディアガイドアプリケーションは、第１の開始時間と第２の開始時間および第２の終了時間とを比較し、第１の終了時間と第２の開始時間および第２の終了時間とを比較してもよい。メディアガイドアプリケーションは、重複が存在するかどうかを判定するために、日付および時間間の簡単な数学的比較を行ってもよい。第１の開始時間または第１の終了時間が第２の開始時間と第２の終了時間との間にあることの判定に基づいて、メディアガイドアプリケーションは、第１のメディアアセットに関する第１の競合インジケータを生成してもよい。第１の競合インジケータは、重複イベントの優先順位およびその優先順位のための指定されたインジケータを判定することによって生成されてもよい。前述のように、競合インジケータは、イベントへのポインタを含んでもよい。
【０１６０】
いくつかの実施形態では、メディアガイドアプリケーションは、ユーザが、ユーザが消費することを所望するメディアアセットのメディアアセット伝送時間に基づいて、イベントを作成することを可能にしてもよい。具体的には、第１の部分内の第１のメディアアセット識別子のユーザ選択に応答して、メディアガイドアプリケーションは、表示のために、第１のメディアアセット識別子と関連付けられた第１のメディアアセットに対応する新しいイベントを作成するためのオプションを生成してもよい。オプションのユーザ選択に応答して、メディアガイドアプリケーションは、それぞれ、第１のメディアアセットのメディアアセット開始時間およびメディアアセット終了時間に対応するイベント開始時間およびイベント終了時間を有する、新しいイベントを作成してもよい。例えば、メディアガイドアプリケーションは、表示のために、ユーザが新しいイベントを作成するために編集し得るフォームを生成してもよい。フォームは、メディアアセットの開始時間、メディアアセットの終了時間、およびタイトルを他の適切な情報とともに事前に埋められてもよい。ユーザがフォームの編集を完了すると、メディアガイドアプリケーションは、イベントを作成するためのユーザ入力を受信してもよい。メディアガイドアプリケーションは、新しいイベントをカレンダアプリケーションに伝送してもよい。
【０１６１】
いくつかの実施形態では、メディアガイドアプリケーションは、ユーザが将来の時間のためにスケジュールされているメディアアセットを消費するように別のユーザを招待することを可能にしてもよい。具体的には、メディアガイドアプリケーションは、カレンダアプリケーションから、異なるユーザと関連付けられた複数のイベントに関するカレンダデータを受信してもよく、異なるユーザと関連付けられたカレンダデータは、関連付けられたイベント開始時間および終了時間を有するイベント時間間隔を含む。メディアガイドアプリケーションは、図６に関連して説明されるものと同一様式でカレンダデータを読み出してもよい。
【０１６２】
第２の複数のメディアアセットの第１の部分内の第１のメディアアセット識別子のユーザ選択に応答して、メディアガイドアプリケーションは、第１のメディアアセット識別子と関連付けられたメディアアセットの伝送時間が異なるユーザと関連付けられたイベント時間間隔のうちの少なくとも１つと少なくとも部分的に重複するかどうかを判定してもよい。メディアガイドアプリケーションは、図８および１０に関連して説明されるものと同一様式で判定を行ってもよい。第１のメディアアセット識別子と関連付けられたメディアアセットは、異なるユーザと関連付けられたイベント時間間隔のうちの少なくとも１つと少なくとも部分的に重複しないことの判定に基づいて、メディアガイドアプリケーションは、表示のために、第１のメディアアセット識別子と関連付けられたメディアアセットを消費するように異なるユーザを招待するためのオプションを生成してもよい。ユーザがオプションを選択すると、メディアガイドアプリケーションは、異なるユーザと通信するための手段を判定してもよい。例えば、メディアガイドアプリケーションは、異なるユーザの電子メールアドレスまたはソーシャルネットワークユーザ名に関してユーザに促してもよい。メディアガイドアプリケーションは、次いで、メッセージを電子メールアドレスまたは異なるユーザのソーシャルネットワークアカウントに伝送してもよい。
【０１６３】
いくつかの実施形態では、メディアガイドアプリケーションは、ユーザが具体的メディアアセットを消費または記録するようにスケジュールされているユーザのソーシャルネットワーキング友達を判定することを可能にしてもよい。具体的には、メディアガイドアプリケーションは、ソーシャルネットワーキングアプリケーションと関連付けられたサーバから、ユーザの友達と関連付けられた複数のユーザ識別子を読み出してもよい。例えば、メディアガイドアプリケーションは、ユーザに、ユーザのソーシャルネットワーキング認証情報を入力するように促してもよい。加えて、または代替として、メディアガイドアプリケーションは、すでに記憶されている（例えば、記憶装置３０８内に）ユーザのソーシャルネットワーキング証明書を有してもよい。メディアガイドアプリケーションは、初期設定の際にユーザのソーシャルネットワーキング証明書を促すように構成されてもよい。
【０１６４】
メディアガイドアプリケーションは、複数のユーザ識別子内のユーザ識別子毎に、各友達と関連付けられた複数のイベントに関するカレンダデータを読み出してもよく、カレンダデータは、関連付けられたイベント開始時間および終了時間を有するイベント時間間隔を含む。メディアガイドアプリケーションは、図６に説明される任意のプロセスによって、カレンダデータを読み出してもよい。さらに、メディアガイドアプリケーションは、ソーシャルネットワーキングアプリケーションにアクセスすることによって、友達の電子メールアドレスを判定してもよい。メディアガイドアプリケーションは、次いで、友達の電子メールアドレスを使用して、友達のカレンダデータにアクセスしてもよい。
【０１６５】
第２の複数のメディアアセット識別子内の第１のメディアアセット識別子のユーザ選択に応答して、メディアガイドアプリケーションは、表示のために、第１のメディアアセット識別子に対応するメディアアセットを消費するようにスケジュールされているユーザのそれらの友達と関連付けられた１つまたはそれを上回るユーザ識別子を生成してもよい。例えば、メディアガイドアプリケーションは、表示のために、友達のユーザ名をソーシャルネットワーキングアプリケーションから生成してもよい。加えて、または代替として、メディアガイドアプリケーションは、表示のために、ソーシャルネットワーキングアプリケーションから読み出される友達の写真を生成してもよい。
【０１６６】
いくつかの実施形態では、メディアガイドアプリケーションは、ユーザが具体的イベントをキャンセルした事例では、重複を除去するように構成されてもよい。周期的に、メディアガイドアプリケーションは、カレンダアプリケーションから、時間間隔を含むカレンダデータを読み出してもよい。メディアガイドアプリケーションは、既存のイベントと読み出されるイベントとを比較してもよく、読み出されるイベント内にも含まれない任意の既存のイベントに関して、メディアガイドアプリケーションは、それらのイベントを既存のイベントから除去し、また、競合インジケータを適切なメディアアセット識別子およびそのメディアアセットデータベースエントリから除去してもよい。
【０１６７】
いくつかの実施形態では、メディアガイドアプリケーションは、ユーザに関する複数のカレンダを読み出してもよい。例えば、メディアガイドアプリケーションは、仕事用カレンダおよび個人用カレンダを読み出してもよい。いくつかの事例では、仕事用カレンダからのイベントは、「高」優先順位を伴って指定され、個人用カレンダからのイベントは、「低」優先順位イベントを伴って指定されてもよい。
【０１６８】
いくつかの実施形態では、メディアガイドアプリケーションは、異なる時間におけるイベントと重複し、メディアアセットがオンデマンドで利用可能である場合、メディアアセットの消費に関してユーザがスケジュールするためのオプションを提供してもよい。例えば、メディアガイドアプリケーションは、あるイベントと重複するメディアアセットに対応するメディアアセット識別子のユーザ選択を受信してもよい。メディアガイドアプリケーションは、オンデマンドメディアアセットを検索し、メディアアセットがオンデマンドで利用可能であるかどうかを判定してもよい。メディアアセットがオンデマンドで利用可能である場合、メディアガイドアプリケーションは、表示のために、ユーザが示す時間にメディアアセットを消費するようにスケジュールするためのオプションをユーザに生成してもよい。
【０１６９】
いくつかの実施形態では、メディアガイドアプリケーションは、メディアアセット伝送時間が、イベントと重複しないが、イベントまで、またはイベントからの移動時間と重複し得る事例では、ユーザに重複を警告してもよい。例えば、ユーザが、午後２：００の飛行機に搭乗し、メディアアセットが１：４５に終了する場合、メディアガイドアプリケーションは、ユーザが空港までの移動時間を要する必要があり、飛行機が出発するある時間量（例えば、２時間）前に空港に到着している必要があり得るため、そのメディアアセットを視覚的に区別してもよい。メディアガイドアプリケーションは、イベントを分析し、イベントの場所を判定してもよい。メディアガイドアプリケーションは、イベントの場所をイベントと関連付けられた要素のうちの１つとしてカレンダアプリケーションから受信してもよい。メディアガイドアプリケーションは、次いで、その時間を開始時間またはイベントの終了時間のいずれかに加算し、重複時間を延長させてもよい。
【０１７０】
いくつかの実施形態では、メディアガイドアプリケーションは、イベントの場所およびイベントと関連付けられたキーワード（例えば、イベントの説明）と既知のイベントタイプとを比較し、ユーザが、そのイベントのために、開始時間の具体的時間量前に到着していることが要求されるかどうかを判定してもよい。例えば、メディアガイドアプリケーションは、飛行機の出発、電車の出発等のイベントタイプを含む、テーブルにアクセス可能であってもよい。メディアガイドアプリケーションが、メディアガイドアプリケーションによって処理されているイベントに対応するテーブル内のイベントを識別すると、メディアガイドアプリケーションは、その時間量を開始時間または終了時間に加算し（例えば、ユーザが空港から移動中であるとき）、重複を延長させてもよい。いくつかの事例では、イベントは、テーブル内のイベントのタイプと合致せず、したがって、重複時間をさらに延長しないであろうことに留意されたい。テーブルは、記憶装置３０８内に位置するデータベース内に記憶されてもよい。加えて、または代替として、テーブルは、メディアコンテンツソース４１６および／またはメディアガイドデータソース４１８に位置するデータベース内に記憶されてもよい。
【０１７１】
本開示の前述の実施形態は、限定ではなく、例証目的のために提示され、本開示は、続く請求項によってのみ限定される。さらに、いずれか１つの実施形態で説明される特徴および制限は、本明細書の任意の他の実施形態に適用され得、一実施形態に関するフローチャートまたは実施例は、好適な様式で任意の他の実施形態と組み合わせられ、異なる順序で行われ、または並行して行われ得ることに留意されたい。加えて、本明細書で説明されるシステムおよび方法は、リアルタイムで行われてもよい。また、上記で説明されるシステムおよび／または方法は、他のシステムおよび／または方法に適用され、またはそれらに従って使用され得ることにも留意されたい。
【図１】
2019506760.tif 000003
【図２】
2019506760.tif 000004
【図３】
2019506760.tif 000005
【図４】
2019506760.tif 000006
【図５】
2019506760.tif 000007
【図６】
2019506760.tif 000008
【図７】
2019506760.tif 000009
【図８】
2019506760.tif 000010
【図９】
2019506760.tif 000011
【図１０】
2019506760.tif 000012
【図１１】
2019506760.tif 000013
【図１２】
2019506760.tif 000014
【図１３】
2019506760.tif 000015
【図１４】
2019506760.tif 000016
【国際調査報告】
2019506760.tif 000017
2019506760.tif 000018
2019506760.tif 000019