JP2019506760A - カレンダ予定とメディアアセット伝送時間との間の重複を検出するための方法およびシステム - Google Patents

カレンダ予定とメディアアセット伝送時間との間の重複を検出するための方法およびシステム Download PDF

Info

Publication number
JP2019506760A
JP2019506760A JP2017565182A JP2017565182A JP2019506760A JP 2019506760 A JP2019506760 A JP 2019506760A JP 2017565182 A JP2017565182 A JP 2017565182A JP 2017565182 A JP2017565182 A JP 2017565182A JP 2019506760 A JP2019506760 A JP 2019506760A
Authority
JP
Japan
Prior art keywords
media asset
media
event
user
time
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2017565182A
Other languages
English (en)
Other versions
JP6914859B2 (ja
JP2019506760A5 (ja
Inventor
エジソン リン,
エジソン リン,
Original Assignee
ロヴィ ガイズ, インコーポレイテッド
ロヴィ ガイズ, インコーポレイテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ロヴィ ガイズ, インコーポレイテッド, ロヴィ ガイズ, インコーポレイテッド filed Critical ロヴィ ガイズ, インコーポレイテッド
Publication of JP2019506760A publication Critical patent/JP2019506760A/ja
Publication of JP2019506760A5 publication Critical patent/JP2019506760A5/ja
Application granted granted Critical
Publication of JP6914859B2 publication Critical patent/JP6914859B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/458Scheduling content for creating a personalised stream, e.g. by combining a locally stored advertisement with an incoming stream; Updating operations, e.g. for OS modules ; time-related management operations
    • H04N21/4583Automatically resolving scheduling conflicts, e.g. when a recording by reservation has been programmed for two programs in the same time slot
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/109Time management, e.g. calendars, reminders, meetings or time accounting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/109Time management, e.g. calendars, reminders, meetings or time accounting
    • G06Q10/1093Calendar-based scheduling for persons or groups
    • G06Q10/1095Meeting or appointment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/4508Management of client data or end-user data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/4508Management of client data or end-user data
    • H04N21/4532Management of client data or end-user data involving end-user characteristics, e.g. viewer profile, preferences
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/482End-user interface for program selection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/482End-user interface for program selection
    • H04N21/4821End-user interface for program selection using a grid, e.g. sorted out by channel and broadcast time
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/488Data services, e.g. news ticker
    • H04N21/4882Data services, e.g. news ticker for displaying messages, e.g. warnings, reminders
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/84Generation or processing of descriptive data, e.g. content descriptors

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Databases & Information Systems (AREA)
  • Strategic Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Tourism & Hospitality (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Information Transfer Between Computers (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

ユーザがユーザの予定と重複するメディアアセットをそうではないメディアアセットから区別することを可能にするメディアガイドアプリケーションのためのシステムおよび方法が、説明される。具体的には、メディアガイドアプリケーションは、ユーザのカレンダアプリケーションにアクセスし、ユーザのカレンダデータをそのカレンダアプリケーションから受信してもよい。メディアガイドアプリケーションは、任意の重複が存在するかどうかを判定するために、ユーザのカレンダデータとメディアアセットスケジューリングデータを比較してもよい。重複メディアアセット毎に、メディアガイドアプリケーションは、競合インジケータを記憶してもよい。

Description

(関連出願の相互参照)
本願は、2015年12月23日に出願された米国特許出願第14/998,109号に対する優先権およびその利益を主張するものであり、該出願は、参照により本明細書中に援用される。
従来のシステムでは、ユーザは、多数のメディアコンテンツへのアクセスを有する。大部分の場合、ユーザは、メディアガイドアプリケーションを通して、将来利用可能となるであろうコンテンツを確認することができる。同一メディアガイドアプリケーションを通して、ユーザは、ユーザが消費することを所望する具体的コンテンツが伝送されるであろう、チャンネル番号および時間を見出すことができる。しかしながら、ユーザは、多くの場合、ユーザが先約を有し得るため、彼らが所望のメディアアセットを消費することが可能となるかどうかを判定する際に補助を要求する。現在のシステムでは、ユーザは、先約によってユーザが所望のメディアコンテンツを消費することが阻まれるであろうかどうかを判定するために、その個人のカレンダを調べることを余儀なくされる。これは、非効率的であって、時間がかかり、ユーザを混乱させる。
故に、ユーザがユーザの予定と重複するメディアアセットをそうではないメディアアセットから区別することを可能にするメディアガイドアプリケーションのためのシステムおよび方法が、本明細書に説明される。具体的には、メディアガイドアプリケーションは、ユーザのカレンダアプリケーションにアクセスし、ユーザのカレンダデータをそのカレンダアプリケーションから受信してもよい。メディアガイドアプリケーションは、任意の重複が存在するかどうかを判定するために、ユーザのカレンダデータ(例えば、予定開始時間および終了時間)とメディアアセットスケジューリングデータ(例えば、メディアアセット開始時間および終了時間)とを比較してもよい。重複メディアアセット毎に、メディアガイドアプリケーションは、競合インジケータを記憶してもよい。メディアガイドアプリケーションは、表示のために、メディアアセット識別子のセット(例えば、番組一覧)を生成してもよく、少なくとも1つのカレンダ予定と重複するメディアアセット識別子は、任意のカレンダ予定と重複しないメディアアセット識別子から視覚的に区別される。
例えば、メディアガイドアプリケーションは、ユーザから、将来の時間のためのメディアアセット識別子(例えば、番組一覧)に関する要求を受信してもよい。メディアガイドアプリケーションは、表示のために、メディアアセット識別子とともに、視覚的インジケータまたは複数の視覚的インジケータを生成し、ユーザに、メディアアセット伝送時間がその将来の時間期間内のユーザの予定と重複するであろうことを知らせてもよい。
いくつかの側面では、メディアガイドアプリケーションは、カレンダアプリケーションから、ユーザと関連付けられた複数のイベントに関するカレンダデータを受信してもよい。カレンダデータは、関連付けられたイベント開始時間およびイベント終了時間を有する、イベント時間間隔を含んでもよい。例えば、ユーザは、サービスプロバイダによってホストされる、関連付けられたカレンダを有してもよい。関連付けられたカレンダは、スケジュールされた開始時間および終了時間を有する、イベント(例えば、ユーザの予定)を含んでもよい。これらのイベントはまた、説明、予定場所、主題、リマインダデータ、優先順位情報等の多数の他のメタデータを含んでもよい。メディアガイドアプリケーションは、その情報をサービスプロバイダと関連付けられたサーバから受信してもよい。開始時間および終了時間は、日付および時間の両方を含むことに留意されたい。メディアガイドアプリケーションは、カレンダデータを複数のカレンダ(例えば、仕事用カレンダおよび個人用カレンダ)から読み出してもよいことに留意されたい。
メディアガイドアプリケーションは、複数のイベントのイベント時間間隔と第1の複数のメディアアセットのメディアアセット時間間隔とを比較してもよい。比較に関わる第1の複数のメディアアセットの各メディアアセットは、関連付けられたメディアアセット開始時間および終了時間を有してもよく、対応するメディアアセット時間間隔の間、複数のユーザへの伝送のためにスケジュールされてもよい。例えば、メディアガイドアプリケーションは、ユーザと関連付けられた多数の予定を受信してもよい。メディアガイドアプリケーションは、予定の開始時間および終了時間とメディアアセットの伝送時間とを比較することによって、受信された予定の時間と重複するメディアアセット伝送時間を判定してもよい。メディアガイドアプリケーションは、具体的メディアアセットが、1つの予定、複数の予定と重複する、または予定と重複しないことを判定してもよい。
メディアガイドアプリケーションは、比較に基づいて、対応するメディアアセットデータベースエントリ内に、第2の複数のメディアアセットに対応する第1の複数のメディアアセット識別子に関する競合インジケータを記憶してもよい。第2の複数のメディアアセットは、イベント時間間隔のうちの少なくとも1つと少なくとも部分的に重複する関連付けられたメディアアセット時間間隔を有する、第1の複数のメディアアセットからのメディアアセットを含んでもよい。いくつかの実施形態では、メディアガイドアプリケーションはまた、対応するメディアアセットデータベースエントリ内の重複イベントと関連付けられた優先順位を含んでもよい。例えば、メディアガイドアプリケーションは、前述の比較の際、10のメディアアセットがユーザの予定と重複することを判定してもよい。さらに、メディアガイドアプリケーションは、10のメディアアセットのうち2つが複数の予定と重複することを判定してもよい。本判定に基づいて、メディアガイドアプリケーションは、競合インジケータを対応するメディアアセットデータベースエントリ内に記憶してもよい。代替として、または加えて、メディアガイドアプリケーションは、各重複予定に対応する1つの競合インジケータを記憶してもよい。競合インジケータは、競合を示すバイナリ値であってもよい。加えて、または代替として、競合インジケータは、重複予定についての情報、その情報へのポインタ、および/または予定自体へのポインタを含んでもよい。予定へのポインタは、受信されたカレンダデータ内の予定またはカレンダアプリケーション内の予定をポイントしてもよい。
メディアガイドアプリケーションは、表示のために、ある時間期間の間の複数のユーザへの伝送のためにスケジュールされているメディアアセットに対応する第2の複数のメディアアセット識別子を生成してもよい。第2の複数のメディアアセット識別子は、第1の複数のメディアアセット識別子内に含まれるメディアアセット識別子を備える第1の部分と、第1の複数のメディアアセット識別子内に含まれないメディアアセット識別子を含む第2の部分とを含んでもよい。第1の部分内のメディアアセット識別子は、第2の部分内のメディアアセット識別子から視覚的に区別されてもよい。例えば、メディアガイドアプリケーションは、表示のために、チャンネル1〜5(垂直軸)上の午後5:00〜7:00(水平軸)に伝送されることがスケジュールされているメディアアセットに関するメディアアセット識別子のグリッドを生成してもよい。ユーザが、午後4:30〜5:30に医師との面会を有する場合、午後5:00〜5:30に伝送過程にあるであろうメディアアセットに対応するメディアアセット識別子は、午後5:00〜5:30に伝送過程にないであろうメディアアセットに対応するメディアアセット識別子から視覚的に区別されるであろう。例えば、メディアガイドアプリケーションは、具体的陰影パターンを重複メディアアセット識別子に追加してもよい。メディアガイドアプリケーションは、陰影パターンを表示されているメディアアセット識別子全体または重複部分のみに追加してもよい。加えて、または代替として、メディアガイドアプリケーションは、アイコンを重複メディアアセット識別子に追加し、競合を示してもよい。
いくつかの実施形態では、メディアガイドアプリケーションは、異なる優先順位のイベントと関連付けられたメディアアセット識別子を視覚的に区別してもよい。具体的には、メディアガイドアプリケーションは、第1の部分内の第1のメディアアセット識別子に対応する第1のメディアアセットの伝送時間と少なくとも部分的に重複する、複数のイベントの第1のイベントの第1の優先順位を判定してもよい。メディアガイドアプリケーションはまた、第1の部分内の第2のメディアアセット識別子に対応する第2のメディアアセットの伝送時間と少なくとも部分的に重複する、複数のイベントの第2のイベントの第2の優先順位を判定してもよい。メディアガイドアプリケーションは、第2の優先順位と異なる第1の優先順位に基づいて、第1の部分内の第1のメディアアセット識別子を第1の部分内の第2のメディアアセット識別子から視覚的に区別してもよい。
例えば、メディアガイドアプリケーションは、高優先順位をビジネスミーティングに対応するイベントに、低優先順位をユーザのジム時間に対応するイベントに割り当ててもよい。メディアガイドアプリケーションは、優先順位情報をカレンダアプリケーションから他のカレンダデータ(すなわち、開始時間、終了時間等)とともに読み出してもよい。いくつかの実施形態では、メディアガイドアプリケーションは、イベントのコンテンツに基づいて、具体的イベントと関連付けられた優先順位を判定してもよい。イベントと関連付けられた優先順位を判定するためのいくつかの可能性として考えられる方法が、以下に議論される。メディアガイドアプリケーションが、表示のために、同一表示画面内に、それぞれ、2つのイベントに対応する2つのメディアアセット識別子を生成するとき、メディアガイドアプリケーションは、2つのイベントを異なる色によって視覚的に区別してもよい(例えば、高優先順位イベントに対応するメディアアセット識別子は、赤色で表示されてもよく、低優先順位イベントに対応するメディアアセット識別子は、緑色で表示されてもよい)。他の色の組み合わせおよびイベント優先順位が、イベントに割り当てられてもよいことに留意されたい。例えば、メディアガイドアプリケーションは、中間優先順位を第3のイベントに割り当て、そのメディアアセット識別子を黄色で表示することによって、対応するメディアアセット識別子を視覚的に区別してもよい。
いくつかの実施形態では、メディアガイドアプリケーションは、表示のために、重複イベントの優先順位に基づいて、異なるインジケータを異なるメディアアセット識別子とともに生成してもよい。具体的には、メディアガイドアプリケーションは、第1の優先順位と関連付けられた第1の視覚的インジケータおよび第2の優先順位と関連付けられた第2の視覚的インジケータを記憶し、表示のために、第1の視覚的インジケータを伴う第1のメディアアセット識別子および第2の視覚的インジケータを伴う第2のメディアアセット識別子を生成してもよい。例えば、メディアガイドアプリケーションは、表示のために、高優先順位イベントと関連付けられたメディアアセット識別子をその中に単語「高」を含むアイコンとともに、低優先順位イベントと関連付けられたメディアアセット識別子をその中に単語「低」を含むアイコンとともに生成してもよい。
いくつかの実施形態では、メディアガイドアプリケーションは、ユーザに、異なる優先順位の重複イベントに対応するメディアアセット識別子の選択に基づいて、異なるオプションを提供してもよい。具体的には、メディアガイドアプリケーションは、第1の優先順位を再スケジュールされ得る複数のイベントのそれらのイベントに割り当て、第2の優先順位を再スケジュールされ得ない複数のイベントのそれらのイベントに割り当ててもよい。第1のメディアアセット識別子のユーザ選択に応答して、メディアガイドアプリケーションは、表示のために、第1のイベントと関連付けられたカレンダデータを生成し、第1のイベントを再スケジュールするためのオプションをユーザに提供してもよい。しかしながら、第2のメディアアセット識別子のユーザ選択に応答して、メディアガイドアプリケーションは、表示のために、第2のイベントと関連付けられたカレンダデータを生成し、第2のメディアアセットを記録するためのオプションをユーザに提供してもよい。
例えば、メディアガイドアプリケーションが低優先順位イベントに対応するメディアアセット識別子のユーザ選択を受信すると、メディアガイドアプリケーションは、表示のために、イベントを再スケジュールするためのオプションを生成してもよい。メディアガイドアプリケーションが、ユーザがイベントを再スケジュールするためのオプションを選択したことを検出する場合、メディアガイドアプリケーションは、ユーザが異なる日付および時間を再スケジュールされているイベントのために入力することを可能にしてもよい。メディアガイドアプリケーションはまた、ユーザがイベントの他の部分(例えば、タイトル、説明、リマインダオプション等)を修正することを可能にしてもよい。別の実施例では、メディアガイドアプリケーションが、高優先順位イベントに対応するメディアアセット識別子のユーザ選択を受信すると、メディアガイドアプリケーションは、表示のために、重複イベントを再スケジュールするためのオプションを提供せずに、対応するメディアアセットを記録するためのオプションをユーザに生成してもよい。
いくつかの実施形態では、メディアガイドアプリケーションは、複数のイベントのイベント時間間隔と第1の複数のメディアアセットのメディアアセット時間間隔とを比較するとき、それぞれ、イベントおよびメディアアセットの開始時間および終了時間に基づいて、比較を行ってもよい。具体的には、メディアガイドアプリケーションは、複数のイベントの第1のイベントに関して、第1の開始時間および第1の終了時間を読み出してもよい。メディアガイドアプリケーションはまた、第1の複数のメディアアセット内の第1のメディアアセットに関して、第2の開始時間および第2の終了時間を読み出してもよい。メディアガイドアプリケーションは、第1の開始時間と第2の開始時間および第2の終了時間とを比較し、また、第1の終了時間と第2の開始時間および第2の終了時間とを比較してもよい。第1の開始時間または第1の終了時間が第2の開始時間と第2の終了時間との間にあることの判定に基づいて、メディアガイドアプリケーションは、第1のメディアアセットに関する第1の競合インジケータを生成してもよい。
例えば、メディアガイドアプリケーションは、比較のために、午後1:30に開始し、午後3:00に終了するようにスケジュールされているビジネスランチを選択してもよい。メディアガイドアプリケーションは、ビジネスランチと午後2:30〜5:00に伝送されるスポーツイベント(例えば、野球の試合)とを比較してもよい。メディアガイドアプリケーションは、午後1:30の開始時間と午後2:30の開始時間および午後5:00の終了時間とを比較し、午後1:30がそれらの2つの時間の間にないことを判定し得る。したがって、重複は、見出されない。しかしながら、メディアガイドアプリケーションはまた、ビジネスランチの午後3:00の終了時間と野球の試合の午後2:30の開始時間および午後5:00の終了時間とを比較し、午後3:00が午後2:30〜5:00にあって、したがって、重複を見出すことを判定し得る。
いくつかの実施形態では、メディアガイドアプリケーションは、視覚的に、第1のタイプのインジケータによって、第1の部分内のメディアアセット識別子を第2の部分内のメディアアセット識別子から区別し、第2のタイプのインジケータを用いて、第1のメディアアセット識別子を第2のメディアアセット識別子から区別してもよい。例えば、メディアガイドアプリケーションは、表示のために、ビジネスミーティングと重複するメディアアセットに対応するメディアアセット識別子と、スケジュールされたジムセッションに対応するメディアアセット識別子とを生成し、それらの両方に重複を示すアイコン(すなわち、あるタイプのインジケータ)を割り当ててもよい。しかしながら、アイコンは、ビジネスミーティングに対応するメディアアセット識別子に関しては赤色であって、スケジュールされたジムセッションに対応するメディアアセット識別子に関しては緑色であってもよい(すなわち、第2のタイプのインジケータ)。いくつかの実施形態では、インジケータのタイプは、色、陰影、アイコン、視覚的キュー、オーディオキュー等を含んでもよい。
いくつかの実施形態では、メディアガイドアプリケーションは、ユーザが消費することを計画しているメディアアセットの伝送時間に対応する新しいスケジュールされたイベントを作成するためのオプションをユーザに提供してもよい。具体的には、メディアガイドアプリケーションは、第1の部分内の第1のメディアアセット識別子のユーザ選択に応答して、表示のために、第1のメディアアセット識別子と関連付けられた第1のメディアアセットに対応する新しいイベントを作成するためのオプションを生成してもよい。メディアガイドアプリケーションは、オプションのユーザ選択に応答して、それぞれ、第1のメディアアセットのメディアアセット開始時間およびメディアアセット終了時間に対応するイベント開始時間およびイベント終了時間を有する、新しいイベントを作成してもよい。メディアガイドアプリケーションは、新しいイベントをカレンダアプリケーションに伝送してもよい。例えば、ユーザが、午後7:00〜10:00に伝送されることがスケジュールされているバスケットボールの試合を観戦を所望する場合、メディアガイドアプリケーションは、ユーザがバスケットボールの試合と関連付けられたメディアアセット識別子を選択することに応答して、新しいイベントを作成するためのオプションをユーザに提供してもよい。いったんメディアガイドアプリケーションが、新しいイベントを作成するためのオプションのユーザ選択を受信すると、メディアガイドアプリケーションは、イベントを作成し、新しいイベントをカレンダアプリケーションに伝送するためのルーチンを実行してもよい。いくつかの実施形態では、メディアガイドアプリケーションは、イベントをカレンダアプリケーションに伝送する前に、ユーザが新しく作成されたイベントを編集することを可能にしてもよい。
いくつかの実施形態では、メディアガイドアプリケーションは、ユーザがメディアアセットを消費するように別のユーザを招待することを可能にしてもよい。具体的には、メディアガイドアプリケーションは、カレンダアプリケーションから、異なるユーザと関連付けられた複数のイベントに関するカレンダデータを受信してもよい。異なるユーザと関連付けられたカレンダデータは、関連付けられたイベント開始時間および終了時間を有するイベント時間間隔を含んでもよい。第2の複数のメディアアセットの第1の部分内の第1のメディアアセット識別子のユーザ選択に応答して、メディアガイドアプリケーションは、第1のメディアアセット識別子と関連付けられたメディアアセットの伝送時間が異なるユーザと関連付けられたイベント時間間隔のうちの少なくとも1つと少なくとも部分的に重複するかどうかを判定してもよい。第1のメディアアセット識別子と関連付けられたメディアアセットが異なるユーザと関連付けられたイベント時間間隔のうちの少なくとも1つと少なくとも部分的に重複しないことの判定に基づいて、メディアガイドアプリケーションは、表示のために、第1のメディアアセット識別子と関連付けられたメディアアセットを消費するように異なるユーザを招待するためのオプションを生成してもよい。
例えば、ユーザは、ユーザが消費することを計画している同一メディアアセットを消費するようにその配偶者または友達を招待することを所望し得る。メディアガイドアプリケーションは、ユーザからの入力を受け取り、ユーザの友達または配偶者と関連付けられたユーザ識別子(例えば、電子メールアドレス)を提供してもよい。メディアガイドアプリケーションは、友達または配偶者と関連付けられたカレンダデータを読み出し、次いで、メディアアセットの伝送の間、友達または配偶者が先約を有するかどうかを判定してもよい。カレンダデータに基づいて、先約が見出されない場合、メディアガイドアプリケーションは、メディアアセットを消費するようにユーザの友達または配偶者を招待するためのオプションをユーザに提供してもよい。メディアガイドアプリケーションは、電子メール、カレンダ招待、ショートメッセージサービス(「SMS」)メッセージ、または任意の他の方法を介して、招待を伝送してもよい。メディアガイドアプリケーションは、他のユーザのカレンダの完全詳細にアクセスを有していなくてもよいことに留意されたい。したがって、メディアガイドアプリケーションは、他のユーザと関連付けられた空き/非空き情報のみを読み出してもよい。
いくつかの実施形態では、メディアガイドアプリケーションは、表示のために、具体的メディアアセットを消費するようにスケジュールされているユーザの「友達」のリストを生成してもよい。具体的には、メディアガイドアプリケーションは、ソーシャルネットワーキングアプリケーションと関連付けられたサーバから、ユーザの友達と関連付けられた複数のユーザ識別子を読み出してもよい。メディアガイドアプリケーションは、複数のユーザ識別子内のユーザ識別子毎に、各友達と関連付けられた複数のイベントに関するカレンダデータを読み出してもよい。カレンダデータは、関連付けられたイベント開始時間および終了時間を有するイベント時間間隔を含んでもよい。前述のように、本事例では、メディアガイドアプリケーションは、友達のカレンダ情報の完全詳細へのアクセスを有していなくてもよく、空き/非空きデータのみを読み出してもよい。第2の複数のメディアアセット識別子内の第1のメディアアセット識別子のユーザ選択に応答して、メディアガイドアプリケーションは、表示のために、第1のメディアアセット識別子に対応するメディアアセットを消費するようにスケジュールされているユーザのそれらの友達と関連付けられた1つまたはそれを上回るユーザ識別子を生成してもよい。
例えば、ユーザに、具体的番組(例えば、大統領候補討論会)を鑑賞または記録することがスケジュールされているその友達のリストを提供することが望ましくあり得る(例えば、ソーシャルネットワーキングアプリケーションから)。メディアガイドアプリケーションは、ユーザから、大統領候補討論会と関連付けられたメディアアセット識別子の選択を受信してもよい。メディアガイドアプリケーションは、表示のために、大統領候補討論会を鑑賞またはそれを記録することがスケジュールされているユーザの友達のリストをソーシャルネットワーキングアプリケーションから生成してもよい。
図1は、本開示のいくつかの実施形態による、メディアガイドアプリケーション一覧および他のメディアガイド情報を提供するために使用され得る、表示画面の例証的実施形態を示す。 図2は、本開示のいくつかの実施形態による、メディアガイドアプリケーション一覧を提供するために使用され得る、表示画面の別の例証的実施形態を示す。 図3は、本開示のいくつかの実施形態による、例証的デバイスのブロック図である。 図4は、本開示のいくつかの実施形態による、例証的メディアシステムのブロック図である。 図5は、本開示のいくつかの実施形態による、少なくとも1つのイベントと重複するメディアアセットに対応するメディアアセット識別子をそうではないメディアアセットに対応するメディアアセット識別子から視覚的に区別するステップに関わる例証的プロセスを描写する。 図6は、本開示のいくつかの実施形態による、ユーザと関連付けられた複数のイベントに関するカレンダデータを受信するステップに関わる例証的プロセスを描写する。 図7は、本開示のいくつかの実施形態による、ユーザと関連付けられた複数のイベントに関するカレンダデータを受信するステップに関わる例証的擬似コードを描写する。 図8は、本開示のいくつかの実施形態による、カレンダイベントと重複するメディアアセットを識別するステップに関わる例証的プロセスを描写する。 図9は、本開示のいくつかの実施形態による、カレンダイベントと重複するメディアアセットを識別するステップに関わる例証的擬似コードを描写する。 図10は、本開示のいくつかの実施形態による、競合インジケータを適切なメディアアセット識別子データベースエントリとともに記憶するステップに関わる例証的プロセスを描写する。 図11は、本開示のいくつかの実施形態による、競合インジケータを適切なメディアアセット識別子データベースエントリとともに記憶するステップに関わる例証的擬似コードを描写する。 図12は、本開示のいくつかの実施形態による、ユーザのカレンダイベントと重複するメディアアセットに対応するメディアアセット識別子を視覚的に区別しながら、表示のために、メディアアセット識別子を生成するステップに関わる例証的プロセスを描写する。 図13は、本開示のいくつかの実施形態による、ユーザのカレンダイベントと重複するメディアアセットに対応するメディアアセット識別子を視覚的に区別しながら、表示のために、メディアアセット識別子を生成するステップに関わる例証的擬似コードを描写する。 図14は、本開示のいくつかの実施形態による、ユーザのカレンダイベントと重複するメディアアセットに対応するメディアアセット識別子が、ユーザのカレンダイベントと重複しないメディアアセットに対応するメディアアセット識別子から視覚的に区別される、画面の例証を描写する。
ユーザがユーザの予定と重複するメディアアセットをそうではないメディアアセットから区別することを可能にする、メディアガイドアプリケーションが、本明細書に説明される。具体的には、メディアガイドアプリケーションは、ユーザのカレンダデータ(例えば、ユーザのカレンダ予定)にアクセスし、ユーザのカレンダデータをそのカレンダアプリケーションから受信してもよい。メディアガイドアプリケーションは、任意の重複が存在するかどうかを判定するために、ユーザのカレンダデータとメディアアセットスケジューリングデータとを比較してもよい。重複メディアアセット毎に、メディアガイドアプリケーションは、競合インジケータを記憶してもよい。メディアガイドアプリケーションは、表示のために、メディアアセット識別子のセット(例えば、番組一覧)を生成してもよく、少なくとも1つのカレンダ予定と重複するメディアアセット識別子は、任意のカレンダ予定と重複しないメディアアセット識別子から視覚的に区別される。
さらに、メディアガイドアプリケーションは、異なる優先順位のイベントと重複するメディアアセット識別子間を視覚的に区別してもよい。それらの事例では、メディアガイドアプリケーションは、表示のために、1つの視覚的インジケータを用いて、1つの優先順位のイベントと重複するメディアアセットに対応するメディアアセット識別子を、第2の視覚的インジケータを用いて、第2の優先順位のイベントと重複するメディアアセットに対応するメディアアセット識別子を生成してもよい。メディアガイドアプリケーションは、ユーザが、低優先順位イベントと重複するメディアアセットを再スケジュールすることを可能にするが、高優先順位イベントと重複するメディアアセットに対してはそうではなくてもよい。
メディアガイドアプリケーションはまた、ユーザが消費することを所望するメディアアセットに基づいて、ユーザが新しいカレンダイベントを作成することを可能にしてもよい。メディアガイドアプリケーションは、イベントをユーザのカレンダアプリケーションに伝送し、ユーザがイベントをそのカレンダ内で確認することを可能にしてもよい。メディアガイドアプリケーションは、ユーザがメディアアセットを消費するように異なるユーザを招待することを可能にしてもよい。さらに、メディアガイドアプリケーションは、ユーザが特定のメディアアセットを消費または記録することを計画しているユーザの友達を確認することを可能にしてもよい。
任意の所与のコンテンツ配信システムでユーザに利用可能なコンテンツの量が、膨大であり得る。その結果、多くのユーザは、ユーザがコンテンツの選択を効率的にナビゲートし、所望し得るコンテンツを容易に識別することを可能にする、インターフェースを通したメディアガイドの形態を所望している。そのようなガイドを提供するアプリケーションは、本明細書では、双方向メディアガイドアプリケーションと称されるが、メディアガイドアプリケーションまたはガイドアプリケーションと称されることもある。
双方向メディアガイドアプリケーションは、ガイドを提供するコンテンツに応じて、種々の形態をとってもよい。典型的なタイプのメディアガイドアプリケーションの1つは、双方向テレビ番組ガイドである。双方向テレビ番組ガイド(電子番組ガイドと称される場合もある)は、とりわけ、ユーザが、多くのタイプのコンテンツまたはメディアアセット間をナビゲートし、それを特定することが可能である、公知のガイドアプリケーションである。双方向メディアガイドアプリケーションは、ユーザが、コンテンツ間をナビゲートし、それを特定および選択することを可能にする、グラフィカルユーザインターフェース画面を生成してもよい。本明細書で参照されるように、用語「メディアアセット」および「コンテンツ」とは、電子的に消費可能なユーザアセット、例えば、テレビ番組、および有料番組、オンデマンド番組(ビデオオンデマンド(VOD)システムにおけるような)、インターネットコンテンツ(例えば、ストリーミングコンテンツ、ダウンロード可能コンテンツ、ウェブキャスト等)、ビデオクリップ、オーディオ、コンテンツ情報、写真、回転画像、ドキュメント、再生一覧、ウェブサイト、記事、書籍、電子書籍、ブログ、広告、チャットセッション、ソーシャルメディア、アプリケーション、ゲーム、および/または任意の他のメディアまたはマルチメディア、および/またはそれらの組み合わせを意味すると理解されたい。ガイドアプリケーションはまた、ユーザが、コンテンツ間をナビゲートし、それを特定することを可能にする。本明細書で参照されるように、用語「マルチメディア」とは、前述の少なくとも2つの異なるコンテンツ形態、例えば、テキスト、オーディオ、画像、ビデオ、または双方向コンテンツ形態を利用する、コンテンツを意味すると理解されたい。コンテンツは、ユーザ機器デバイスによって、録画、再生、表示、またはアクセスされてもよいが、また、ライブパーフォーマンスの一部であることも可能である。
本明細書で論じられる実施形態のいずれかを行うためのメディアガイドアプリケーションおよび/または任意の命令は、コンピュータ可読媒体上に符号化されてもよい。コンピュータ可読媒体は、データを記憶することが可能な任意のメディアを含む。コンピュータ可読媒体は、限定ではないが、電気または電磁信号の伝搬を含む、一過性であってもよく、または限定ではないが、ハードディスク、フロッピー(登録商標)ディスク、USBドライブ、DVD、CD、メディアカード、レジスタメモリ、プロセッサキャッシュ、ランダムアクセスメモリ(「RAM」)等の揮発性および不揮発性コンピュータメモリまたは記憶デバイスを含む、非一過性であってもよい。
インターネット、モバイルコンピューティング、および高速無線ネットワークの出現に伴って、ユーザは、従来は使用しなかったユーザ機器デバイス上でメディアにアクセスするようになっている。本明細書で参照されるように、語句「ユーザ機器デバイス」、「ユーザ機器」、「ユーザデバイス」、「電子デバイス」、「電子機器」、「メディア機器デバイス」、または「メディアデバイス」は、テレビ、スマートTV、セットトップボックス、衛星テレビに対応するための統合型受信機デコーダ(IRD)、デジタル記憶デバイス、デジタルメディア受信機(DMR)、デジタルメディアアダプタ(DMA)、ストリーミングメディアデバイス、DVDプレーヤ、DVDレコーダ、接続型DVD、ローカルメディアサーバ、BLU−RAY(登録商標)プレーヤ、BLU−RAY(登録商標)レコーダ、パーソナルコンピュータ(PC)、ラップトップコンピュータ、タブレットコンピュータ、ウェブTVボックス、パーソナルコンピュータテレビ(PC/TV)、PCメディアサーバ、PCメディアセンター、ハンドヘルドコンピュータ、固定電話、携帯情報端末(PDA)、携帯電話、ポータブルビデオプレーヤ、ポータブル音楽プレーヤ、ポータブルゲーム機、スマートフォン、または任意の他のテレビ機器、コンピューティング機器、または無線デバイス、および/またはそれらの組み合わせ等の前述のコンテンツにアクセスするための任意のデバイスを意味すると理解されたい。いくつかの実施形態では、ユーザ機器デバイスは、正面画面および裏面画面、複数の正面画面、または複数の角度付き画面を有してもよい。いくつかの実施形態では、ユーザ機器デバイスは、正面カメラおよび/または背面カメラを有してもよい。これらのユーザ機器デバイス上で、ユーザは、テレビを通して利用可能な同一のコンテンツ間をナビゲートし、それを特定することが可能であってもよい。その結果として、メディアガイドは、これらのデバイス上でも利用可能であってもよい。提供されるガイドは、テレビのみを通して利用可能なコンテンツ、他のタイプのユーザ機器デバイスのうちの1つまたはそれを上回るものみを通して利用可能なコンテンツ、またはテレビおよび他のタイプのユーザ機器デバイスのうちの1つまたはそれを上回るもの両方を通して利用可能なコンテンツのためのものであってもよい。メディアガイドアプリケーションは、ユーザ機器デバイス上で、オンラインアプリケーション(すなわち、ウェブサイト上で提供される)、または独立型アプリケーションまたはクライアントとして提供されてもよい。メディアガイドアプリケーションを実装し得る、種々のデバイスおよびプラットフォームは、以下でより詳細に説明される。
メディアガイドアプリケーションの機能の1つは、メディアガイドデータをユーザに提供することである。本明細書で参照されるように、語句「メディアガイドデータ」または「ガイドデータ」は、コンテンツに関連する任意のデータ、またはガイドアプリケーションを動作させる際に使用されるデータを意味すると理解されたい。例えば、ガイドデータは、番組情報、ガイドアプリケーション設定、ユーザ選好、ユーザプロファイル情報、メディア一覧、メディア関連情報(例えば、放送時間、放送チャンネル、タイトル、内容、評価情報(例えば、ペアレンタルコントロール評価、批評家の評価等)、ジャンルまたはカテゴリ情報、俳優情報、放送会社またはプロバイダのロゴのロゴデータ等)、メディア形式(例えば、標準解像度、高解像度、3D等)、広告情報(例えば、テキスト、画像、メディアクリップ等)、オンデマンド情報、ブログ、ウェブサイト、およびユーザが所望のコンテンツ選択間をナビゲートし、それを特定するために役立つ、任意の他のタイプのガイドデータを含んでもよい。
図1−2は、メディアガイドデータを提供するために使用され得る、例証的表示画面を示す。図1−2に示される表示画面は、任意の好適なユーザ機器デバイスまたはプラットフォーム上に実装されてもよい。図1−2の表示は、フル画面表示として図示されているが、それらはまた、表示されているコンテンツ上に完全または部分的にオーバーレイされてもよい。ユーザは、表示画面に提供された選択可能なオプション(例えば、メニューオプション、一覧オプション、アイコン、ハイパーリンク等)を選択することによって、またはリモートコントロールまたは他のユーザ入力インターフェースまたはデバイス上の専用ボタン(例えば、「ガイド」ボタン)を押下することによって、コンテンツ情報へのアクセス要望を指示してもよい。ユーザの指示に応答して、メディアガイドアプリケーションは、グリッド内の時間およびチャンネル別、時間別、チャンネル別、ソース別、コンテンツタイプ別、カテゴリ別(例えば、映画、スポーツ、ニュース、子供向け、または他の番組カテゴリ)、カレンダまたは他の所定、ユーザ定義、または他の編成基準等のいくつかの方法のうちの1つにおいて編成されたメディアガイドデータを伴う表示画面を提供してもよい。
図1は、単一表示内の異なるタイプのコンテンツへのアクセスも可能にする、時間およびチャンネル別に配列された番組一覧表示100の例証的グリッドを示す。表示100は、以下を伴うグリッド102を含んでもよい:(1)各チャンネル/コンテンツタイプ識別子(列内のセル)が利用可能な異なるチャンネルまたはコンテンツのタイプを識別する、チャンネル/コンテンツタイプ識別子104の列、および(2)各時間識別子(行内のセル)が番組の時間帯を識別する、時間識別子106の行。グリッド102はまた、番組一覧108等の番組一覧のセルも含み、各一覧は、一覧の関連チャンネルおよび時間の上に提供される、番組のタイトルを提供する。ユーザ入力デバイスを用いて、ユーザは、ハイライト領域110を移動させることによって番組一覧を選択することができる。ハイライト領域110によって選択される番組一覧に関する情報が、番組情報領域112内に提供されてもよい。領域112は、例えば、番組タイトル、番組内容、番組が提供される時間(該当する場合)、番組が放送されるチャンネル(該当する場合)、番組の評価、および他の所望の情報を含んでもよい。
線形番組(例えば、所定の時間に複数のユーザ機器デバイスに伝送されるようにスケジューリングされ、スケジューリングに従って提供される、コンテンツ)へのアクセスの提供に加え、メディアガイドアプリケーションはまた、非線形番組(例えば、任意の時間においてユーザ機器デバイスにアクセス可能であって、スケジューリングに従って提供されない、コンテンツ)へのアクセスも提供する。非線形番組は、オンデマンドコンテンツ(例えば、VOD)、インターネットコンテンツ(例えば、ストリーミングメディア、ダウンロード可能メディア等)、ローカルに記憶したコンテンツ(例えば、前述の任意のユーザ機器デバイスまたは他の記憶デバイス上に記憶されたコンテンツ)、または時間的制約のない他のコンテンツを含む、異なるコンテンツソースからのコンテンツを含んでもよい。オンデマンドコンテンツは、映画または特定のコンテンツプロバイダ(例えば、「The Sopranos」や「Curb Your Enthusiasm」を提供するHBO On Demand)によって提供される任意の他のコンテンツを含んでもよい。HBO ON DEMANDは、Time WarnerCompany L.P.らによって所有されるサービスマークであり、THE SOPRANOSおよびCURB YOUR ENTHUSIASMは、Home Box Office, Inc.によって所有される商標である。インターネットコンテンツは、チャットセッションまたはウェブキャスト等のウェブイベント、またはインターネットウェブサイトまたは他のインターネットアクセス(例えば、FTP)を通して、ストリーミングコンテンツまたはダウンロード可能なコンテンツとしてオンデマンドで利用可能なコンテンツを含んでもよい。
グリッド102は、オンデマンド一覧114、録画コンテンツ一覧116、およびインターネットコンテンツ一覧118を含む、非線形番組のメディアガイドデータを提供してもよい。異なるタイプのコンテンツソースからのコンテンツのためのメディアガイドデータを組み合わせる表示は、「混合メディア」表示と称されることもある。表示100とは異なる、表示され得るメディアガイドデータのタイプの種々の順列は、ユーザ選択またはガイドアプリケーション定義に基づいてもよい(例えば、録画および放送一覧のみの表示、オンデマンドおよび放送一覧のみの表示等)。例証されるように、一覧114、116、および118は、これらの一覧の選択が、それぞれ、オンデマンド一覧、録画一覧、またはインターネット一覧専用の表示へのアクセスを提供し得ることを示すように、グリッド102内に表示される時間帯全体に及ぶものとして示されている。いくつかの実施形態では、これらのコンテンツタイプの一覧は、グリッド102に直接含まれてもよい。ユーザがナビゲーションアイコン120のうちの1つを選択することに応答して、付加的メディアガイドデータが表示されてもよい(ユーザ入力デバイス上の矢印キーを押下することによって、ナビゲーションアイコン120を選択することと同様に表示に影響を及ぼしてもよい)。
表示100はまた、ビデオ領域122、広告124、およびオプション領域126を含んでもよい。ビデオ領域122は、ユーザが、現在利用可能である、今後利用可能となる、またはユーザに利用可能であった番組を視聴および/またはプレビューすることを可能にしてもよい。ビデオ領域122のコンテンツは、グリッド102に表示される一覧のうちの1つに対応するか、またはそれから独立してもよい。ビデオ領域を含むグリッド表示は、ピクチャインガイド(PIG)表示と称されることもある。PIG表示およびそれらの機能は、2003年5月13日発行のSatterfieldらの米国特許第6,564,378号、および2001年5月29日発行のYuenらの米国特許第6,239,794号でさらに詳細に説明されており、それらは全体として参照することによって本明細書に組み込まれる。PIG表示は、本明細書に説明される実施形態の他のメディアガイドアプリケーション表示画面に含まれてもよい。
広告124は、(例えば、購読番組に対する)視聴者のアクセス権に応じて、現在視聴が利用可能である、将来視聴が利用可能となる、または決して視聴利用可能とはなり得ない、コンテンツの広告を提供してもよく、グリッド102内のコンテンツ一覧のうちの1つまたはそれを上回るものに対応するか、または無関係であってもよい。広告124はまた、グリッド102内で表示されるコンテンツに関係するか、または無関係である製品またはサービスに対するものであってもよい。広告124は、選択可能であってもよく、コンテンツに関するさらなる情報を提供する、製品またはサービスに関する情報を提供する、コンテンツ、製品、またはサービスを購入することを可能にする、広告に関するコンテンツを提供する等を行ってもよい。広告124は、ユーザのプロファイル/選好、監視されたユーザ活動、提供される表示のタイプ、または他の好適な標的化された広告基盤に基づいて標的化されてもよい。
広告124は、長方形またはバナー形状として示されているが、広告は、ガイドアプリケーション表示内の任意の好適なサイズ、形状、および場所で提供されてもよい。例えば、広告124は、グリッド102に水平方向に隣接する長方形として提供されてもよい。これは、パネル広告と称されることもある。加えて、広告は、コンテンツまたはガイドアプリケーション表示上にオーバーレイされるか、または表示内に埋め込まれてもよい。広告はまた、テキスト、画像、回転画像、ビデオクリップ、または前述の他のタイプのコンテンツを含んでもよい。広告は、ガイドアプリケーションを有するユーザ機器デバイス内、ユーザ機器に接続されたデータベース内、遠隔場所(ストリーミングメディアサーバを含む)内、または他の記憶手段またはこれらの場所の組み合わせ上に記憶されてもよい。メディアガイドアプリケーションに広告を提供するステップは、例えば、それらの全体で参照することにより本明細書に組み込まれる、2003年1月17日出願のKnudsonらの米国特許出願公開第2003/0110499号、2004年6月29日発行のWard,IIIらの米国特許第6,756,997号、および2002年5月14日発行のScheinらの米国特許第6,388,714号で、さらに詳細に論じられている。広告は、本明細書に説明される実施形態の他のメディアガイドアプリケーション表示画面に含まれてもよいことが理解されるであろう。
オプション領域126は、ユーザが、異なるタイプのコンテンツ、メディアガイドアプリケーション表示、および/またはメディアガイドアプリケーション特徴にアクセスすることを可能にしてもよい。オプション領域126は、ディプレイ100(および本明細書に説明される他の表示画面)の一部であってもよく、または画面上のオプションを選択すること、またはユーザ入力デバイス上の専用または割当可能ボタンを押下することによって、ユーザによって呼び出されてもよい。オプション領域126内の選択可能オプションは、グリッド102内の番組一覧に関連する特徴に関してもよく、またはメインメニュー表示から利用可能なオプションを含んでもよい。番組一覧に関連する特徴は、他の放送時間または番組の受信方法の検索、番組の録画、番組の連続録画の有効化、番組および/またはチャンネルをお気に入りとして設定、番組の購入、または他の特徴を含んでもよい。メインメニュー表示から利用可能なオプションは、検索オプション、VODオプション、ペアレンタルコントロールオプション、インターネットオプション、クラウドベースのオプション、デバイス同期オプション、第2の画面デバイスオプション、種々のタイプのメディアガイドデータ表示にアクセスするためのオプション、プレミアムサービスを購読するためのオプション、ユーザのプロファイルを編集するためのオプション、ブラウザオーバーレイにアクセスするためのオプション、または他のオプションを含んでもよい。
メディアガイドアプリケーションは、ユーザの選好に基づいて個人化されてもよい。個人化されたメディアガイドアプリケーションは、ユーザが、メディアガイドアプリケーションによって個人化された「体験」を生成するように、表示および特徴をカスタマイズすることを可能にする。この個人化された体験は、ユーザがこれらのカスタマイズを入力できるようにすることによって、および/または種々のユーザ選好を判定するようにメディアガイドアプリケーションがユーザ活動を監視することによって、生成されてもよい。ユーザは、ログインすることによって、または別様にガイドアプリケーションに対して自らを識別することによって、個人化されたガイドアプリケーションにアクセスしてもよい。メディアガイドアプリケーションのカスタマイズは、ユーザプロファイルに従って作成されてもよい。カスタマイズは、提示方式(例えば、表示の色方式、テキストのフォントサイズ等)、表示されるコンテンツ一覧の態様(例えば、HDTV番組のみまたは3D番組のみ、お気に入りチャンネルオプションに基づいたユーザ指定の放送チャンネル、チャンネルの表示の並び替え、推奨コンテンツ等)、所望の録画特徴(例えば、特定のユーザに対する録画または連続録画、録画品質等)、ペアレンタルコントロール設定、インターネットコンテンツのカスタマイズされた提示(例えば、ソーシャルメディアコンテンツ、電子メール、電子的に配信された記事等の提示)、および他の所望のカスタマイズを変更させるステップを含んでもよい。
メディアガイドアプリケーションは、ユーザが、ユーザプロファイル情報を提供することを可能にしてもよく、またはユーザプロファイル情報を自動的にコンパイルしてもよい。メディアガイドアプリケーションは、例えば、ユーザがアクセスするコンテンツ、および/またはユーザがガイドアプリケーションと行ってもよい他の相互作用を監視してもよい。加えて、メディアガイドアプリケーションは、特定のユーザに関連する他のユーザプロファイルの全体または一部を取得し(例えば、www.allrovi.com等のユーザがアクセスするインターネット上の他のウェブサイトから、ユーザがアクセスする他のメディアガイドアプリケーションから、ユーザがアクセスする他の双方向アプリケーションから、ユーザの別のユーザ機器デバイスから等)、および/またはメディアガイドアプリケーションがアクセスし得る他のソースから、ユーザに関する情報を取得してもよい。結果として、ユーザの異なるユーザ機器デバイスにわたって、統一されたガイドアプリケーション体験をユーザに提供することができる。このタイプのユーザ体験は、図4に関連して、以下でより詳細に説明される。付加的な個人化されたメディアガイドアプリケーション特徴は、2005年7月11日出願のEllisらの米国特許出願公開第2005/0251827号、2007年1月16日発行のBoyerらの米国特許出願第7,165,098号、および2002年2月21日発行のEllisらの米国特許出願第2002/0174430号でさらに詳細に説明されており、それらは全体として参照することにより本明細書に組み込まれる。
メディアガイドを提供するための別の表示配列が、図2に示されている。ビデオモザイク表示200は、コンテンツのタイプ、ジャンル、および/または他の編成基準に基づいて編成されたコンテンツ情報のための選択可能オプション202を含む。表示200では、テレビ一覧オプション204が、選択され、したがって、一覧206、208、210、および212を放送番組一覧として提供する。表示200では、一覧は、カバーアート、コンテンツからの静止画像、ビデオクリップのプレビュー、コンテンツからのライブビデオ、または一覧中のメディアガイドデータによって記述されているコンテンツをユーザに示す他のタイプのコンテンツを含む、グラフィック画像を提供してもよい。グラフィック一覧のそれぞれはまた、一覧と関連付けられたコンテンツに関するさらなる情報を提供するように、テキストを伴ってもよい。例えば、一覧208は、メディア部分214およびテキスト部分216を含む、1つより多くの部分を含んでもよい。メディア部分214および/またはテキスト部分216は、コンテンツをフル画面で視聴するように、またはメディア部分214に表示されるコンテンツに関連する情報を閲覧するように(例えば、ビデオが表示されるチャンネルの一覧を閲覧するように)、選択可能であってもよい。
表示200中の一覧は、異なるサイズである(すなわち、一覧206は、一覧208、210、および212より大きい)が、所望の場合、全一覧が同一のサイズであってもよい。一覧は、コンテンツプロバイダの所望に応じて、またはユーザ選好に基づいて、ユーザに関心の程度を示すように、または、あるコンテンツを強調するように、異なるサイズであるか、またはグラフィックが強調されてもよい。表示200内の一覧はまた、受信されたカレンダデータに基づいて、グラフィックで強調されてもよい。例えば、高優先順位のイベントと重複するメディアアセットに対応する一覧は、赤色で表示されてもよい一方、低優先順位イベントと重複するメディアアセットに対応する一覧は、緑色で表示されてもよい。いくつかの事例では、イベントと重複するメディアアセットに対応する一覧は、ハイライトされる、または重複しないメディアアセットに対応する一覧と異なるサイズで表示されてもよい。コンテンツ一覧をグラフィック的に強調するための種々のシステムおよび方法は、例えば、全体として参照することにより本明細書に組み込まれる、2009年11月12日に出願されたYatesの米国特許出願公開第2010/0153885号で論じられている。
ユーザは、そのユーザ機器デバイスのうちの1つまたはそれを上回るものから、コンテンツおよびメディアガイドアプリケーション(および前述および後述で説明されるその表示画面)にアクセスしてもよい。図3は、例証的ユーザ機器デバイス300の汎用実施形態を示す。ユーザ機器デバイスのより具体的な実装は、図4に関連して以下で論じられる。ユーザ機器デバイス300は、入出力(以下「I/O」)パス302を介して、コンテンツおよびデータを受信してもよい。I/Oパス302は、処理回路306および記憶装置308を含む制御回路304に、コンテンツ(例えば、放送番組、オンデマンド番組、インターネットコンテンツ、ローカルエリアネットワーク(LAN)または広域ネットワーク(WAN)を経由して利用可能なコンテンツ、および/または他のコンテンツ)およびデータを提供してもよい。制御回路304は、I/Oパス302を使用して、コマンド、要求、および他の好適なデータを送受信するために使用されてもよい。I/Oパス302は、制御回路304(具体的には、処理回路306)を1つまたはそれを上回る通信パス(以下で説明される)に接続してもよい。I/O機能は、これらの通信パスのうちの1つまたはそれを上回るものによって提供されてもよいが、図面が複雑になり過ぎることを回避するため、図3では単一パスとして示されている。
制御回路304は、処理回路306等の任意の好適な処理回路に基づいてもよい。本明細書で参照されるように、処理回路とは、1つまたはそれを上回るマイクロプロセッサ、マイクロコントローラ、デジタル信号プロセッサ、プログラマブル論理デバイス、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)等に基づく回路を意味すると理解され、マルチコアプロセッサ(例えば、デュアルコア、クアドコア、ヘクサコア、または任意の好適な数のコア)またはスーパーコンピュータを含んでもよい。いくつかの実施形態では、処理回路は、複数の別個のプロセッサまたは処理ユニット、例えば、複数の同一のタイプの処理ユニット(例えば、2つのIntel Core i7プロセッサ)または複数の異なるプロセッサ(例えば、Intel Core i5プロセッサおよびIntel Core i7プロセッサ)にわたって分散されてもよい。いくつかの実施形態では、制御回路304は、メモリ(すなわち、記憶装置308)に記憶されたメディアガイドアプリケーションに対する命令を実行する。具体的には、制御回路304は、メディアガイドアプリケーションによって、前述および後述の機能を行うように命令されてもよい。例えば、メディアガイドアプリケーションは、制御回路304に、メディアガイド表示を生成するための命令を提供してもよい。いくつかの実装では、制御回路304によって行われるいかなるアクションも、メディアガイドアプリケーションから受信した命令に基づいてもよい。
クライアントサーバに基づく実施形態では、制御回路304は、ガイドアプリケーションサーバまたは他のネットワークまたはサーバと通信するための好適な通信回路を含んでもよい。前述の機能性を実施するための命令は、ガイドアプリケーションサーバ上に記憶されてもよい。通信回路は、ケーブルモデム、総合デジタル通信網(ISDN)モデム、デジタル加入者回線(DSL)モデム、電話モデム、イーサネット(登録商標)カード、または他の機器との通信用無線モデム、または任意の他の好適な通信回路を含んでもよい。そのような通信は、インターネットまたは任意の他の好適な通信ネットワークまたはパスを伴ってもよい(図4に関連してさらに詳細に説明される)。加えて、通信回路は、ユーザ機器デバイスのピアツーピア通信、または相互から遠隔の場所にあるユーザ機器デバイスの通信を可能にする回路を含んでもよい(以下でさらに詳細に説明される)。
メモリは、制御回路304の一部である、記憶装置308として提供される、電子記憶デバイスであってもよい。本明細書で参照されるように、語句「電子記憶デバイス」または「記憶デバイス」とは、ランダム−アクセスメモリ、読取専用メモリ、ハードドライブ、光学ドライブ、デジタルビデオディスク(DVD)レコーダ、コンパクトディスク(CD)レコーダ、BLU−RAY(登録商標)ディスク(BD)レコーダ、BLU−RAY(登録商標) 3Dディスクレコーダ、デジタルビデオレコーダ(DVR(パーソナルビデオレコーダと呼ばれる場合もある、またはPVR)、固体デバイス、量子記憶デバイス、ゲームコンソール、ゲームメディア、または任意の他の好適な固定またはリムーバブル記憶デバイス、および/または任意のそれらの組み合わせ等の電子データ、コンピュータソフトウェア、またはファームウェアを記憶するための任意のデバイスを意味すると理解されたい。記憶装置308は、本明細書に説明される種々のタイプのコンテンツ、および前述のメディアガイドデータを記憶するために使用されてもよい。記憶装置308はまた、前述のカレンダアプリケーションから受信されたカレンダデータを記憶するために使用されてもよい。不揮発性メモリもまた、使用されてもよい(例えば、ブートアップルーチンや他の命令を起動するために)。図4に関連して説明される、クラウドベースの記憶が、記憶装置308を補完するために使用される、または記憶装置308の代わりに使用されてもよい。
制御回路304は、1つまたはそれを上回るアナログチューナ、1つまたはそれを上回るMPEG−2デコーダ、または他のデジタル復号回路、高解像度チューナ、または任意の他の好適な同調またはビデオ回路、またはそのような回路の組み合わせ等のビデオ生成回路および同調回路を含んでもよい。符号化回路(例えば、記憶のために、無線、アナログ、またはデジタル信号をMPEG信号に変換するためのもの)もまた、提供されてもよい。制御回路304はまた、コンテンツをユーザ機器300の好ましい出力形式に上方変換および下方変換するためのスケーラ回路を含んでもよい。回路304はまた、デジタルおよびアナログ信号間で変換するためのデジタルからアナログへの変換回路およびアナログからデジタルへの変換回路を含んでもよい。同調および符号化回路は、コンテンツを受信して表示する、再生する、または録画するために、ユーザ機器デバイスによって使用されてもよい。同調および符号化回路はまた、ガイドデータを受信するために使用されてもよい。例えば、同調、ビデオ生成、符号化、復号、暗号化、解読、スケーラ、およびアナログ/デジタル回路を含む、本明細書に説明される回路は、1つまたはそれを上回る汎用または特殊プロセッサ上で起動するソフトウェアを使用して実装されてもよい。複数のチューナが、同時同調機能に対処するように提供されてもよい(例えば、視聴および録画機能、ピクチャインピクチャ(PIP)機能、多重チューナ録画機能等)。記憶装置308が、ユーザ機器300とは別のデバイスとして提供される場合、同調および符号化回路(複数のチューナを含む)は、記憶装置308と関連付けられてもよい。
ユーザは、ユーザ入力インターフェース310を使用して、命令を制御回路304に送信してもよい。ユーザ入力インターフェース310は、リモートコントロール、マウス、トラックボール、キーパッド、キーボード、タッチ画面、タッチパッド、スタイラス入力、ジョイスティック、音声認識インターフェース、または他のユーザ入力インターフェース等、任意の好適なユーザインターフェースであってもよい。ディスプレイ312は、独立型デバイスとして提供されるか、またはユーザ機器デバイス300の他の要素と統合してもよい。例えば、ディスプレイ312は、タッチスクリーンまたはタッチセンサ式表示であってもよい。そのような状況では、ユーザ入力インターフェース310は、ディスプレイ312と統合される、または組み合わせられてもよい。ディスプレイ312は、モニタ、テレビ、モバイルデバイスのための液晶ディスプレイ(LCD)、非晶質シリコンディスプレイ、低温ポリシリコンディスプレイ、電子インクディスプレイ、電気泳動ディスプレイ、アクティブマトリクスディスプレイ、エレクトロウェッティングディスプレイ、電気流体ディスプレイ、ブラウン管ディスプレイ、発光ダイオードディスプレイ、エレクトロルミネセントディスプレイ、プラズマ表示パネル、高性能アドレッシングディスプレイ、薄膜トランジスタディスプレイ、有機発光ダイオードディスプレイ、表面伝導型電子放出素子ディスプレイ(SED)、レーザテレビ、カーボンナノチューブ、量子ドットディスプレイ、干渉変調器ディスプレイ、または視覚的画像を表示するための任意の他の好適な機器のうちの1つまたはそれを上回るものであってもよい。いくつかの実施形態では、ディスプレイ312は、HDTV対応型であってもよい。いくつかの実施形態では、ディスプレイ312は、3D表示であってもよく、双方向メディアガイドアプリケーションおよび任意の好適なコンテンツは、3Dで表示されてもよい。ビデオカードまたはグラフィックカードは、出力をディスプレイ312に生成してもよい。ビデオカードは、3Dシーンおよび2Dグラフィックのレンダリング加速、MPEG−2/MPEG−4復号、TV出力、または複数のモニタを接続する能力等の種々の機能をもたらしてもよい。ビデオカードは、制御回路304に関連する前述の任意の処理回路であってもよい。ビデオカードは、制御回路304と統合されてもよい。スピーカ314は、ユーザ機器デバイス300の他の要素との統合として提供されてもよく、または独立型ユニットであってもよい。ディスプレイ312上に表示されるビデオおよび他のコンテンツのオーディオコンポーネントは、スピーカ314を通して再生されてもよい。いくつかの実施形態では、音声は、スピーカ314を介して音声を処理および出力する、受信機(図示せず)に配信されてもよい。
ガイドアプリケーションは、任意の好適なアーキテクチャを使用して実装されてもよい。例えば、それは、ユーザ機器デバイス300上で完全に実装される、独立型アプリケーションであってもよい。そのようなアプローチでは、アプリケーションの命令は、ローカルに記憶され(例えば、記憶装置308内に)、アプリケーションによって使用するためのデータは、周期的にダウンロードされる(例えば、帯域外フィードから、インターネットリソースから、または別の好適なアプローチを使用して)。制御回路304は、記憶装置308からアプリケーションの命令を読み出し、本明細書で論じられる表示のいずれかを生成するための命令を処理してもよい。処理された命令に基づいて、制御回路304は、入力が入力インターフェース310から受信されるときに行うアクションを判定してもよい。例えば、表示上のカーソルの上/下への移動は、入力インターフェース310が上/下ボタンが選択されたことを示すとき、処理された命令によって示されてもよい。
いくつかの実施形態では、メディアガイドアプリケーションは、クライアントサーバベースのアプリケーションである。ユーザ機器デバイス300上に実装される、シックまたはシンクライアントによって使用するためのデータは、ユーザ機器デバイス300の遠隔にあるサーバに要求を発行することによって、オンデマンドで読み出される。クライアントサーバベースのガイドアプリケーションの一実施例では、制御回路304は、遠隔サーバによって提供されるウェブページを解釈する、ウェブブラウザを実行する。例えば、遠隔サーバは、記憶デバイス内にアプリケーションのための命令を記憶してもよい。遠隔サーバは、回路(例えば、制御回路304)を使用して、記憶された命令を処理し、前述および後述の表示を生成してもよい。クライアントデバイスは、遠隔サーバによって生成される表示を受信してもよく、表示のコンテンツを機器デバイス300上でローカルに表示してもよい。このように、命令の処理は、サーバによって遠隔で行われる一方、結果として生じる表示は、機器デバイス300上にローカルに提供される。機器デバイス300は、入力インターフェース310を介して、ユーザからの入力を受信し、対応する表示を処理および生成するために、それらの入力を遠隔サーバに伝送してもよい。例えば、機器デバイス300は、上/下ボタンが入力インターフェース310を介して選択されたことを示す、通信を遠隔サーバに伝送してもよい。遠隔サーバは、その入力に従って命令を処理し、入力に対応するアプリケーションの表示を生成してもよい(例えば、カーソルを上/下に移動させる表示)。生成された表示は、次いで、ユーザへの提示のために、機器デバイス300に伝送される。
いくつかの実施形態では、メディアガイドアプリケーションは、インタープリタまたは仮想マシン(制御回路304によって起動される)によって、ダウンロードされ、解釈または別様に起動される。いくつかの実施形態では、ガイドアプリケーションは、ETVバイナリ交換形式(ETV Binary Interchange Format/EBIF)で符号化され、好適なフィードの一部として制御回路304によって受信され、制御回路304上で起動するユーザエージェントによって解釈されてもよい。例えば、ガイドアプリケーションは、EBIFアプリケーションであってもよい。いくつかの実施形態では、ガイドアプリケーションは、制御回路304によって実行されるローカル仮想マシンまたは他の好適なミドルウェアによって受信および起動される、一連のJAVA(登録商標)ベースのファイルによって定義されてもよい。そのような実施形態のうちのいくつか(例えば、MPEG−2または他のデジタルメディア符号化スキームを採用するもの)では、ガイドアプリケーションは、例えば、番組のMPEGオーディオおよびビデオパケットを用いたMPEG−2オブジェクトカルーセルにおいて符号化および伝送されてもよい。
図3のユーザ機器デバイス300は、ユーザテレビ機器402、ユーザコンピュータ機器404、無線ユーザ通信デバイス406、または非携帯型ゲーム機等のコンテンツにアクセスするために好適な任意の他のタイプのユーザ機器として、図4のシステム400に実装することができる。簡単にするために、これらのデバイスは、本明細書では総称して、ユーザ機器またはユーザ機器デバイスと称されてもよく、前述のユーザ機器デバイスに実質的に類似してもよい。メディアガイドアプリケーションが実装され得る、ユーザ機器デバイスは、独立型デバイスとして機能してもよく、またはデバイスのネットワークの一部であってもよい。デバイスの種々のネットワーク構成が実装されてもよく、以下でさらに詳細に論じられる。
図3に関連して前述のシステム特徴のうちの少なくともいくつかを利用する、ユーザ機器デバイスは、単に、ユーザテレビ機器402、ユーザコンピュータ機器404、または無線ユーザ通信デバイス406として分類されなくてもよい。例えば、ユーザテレビ機器402は、いくつかのユーザコンピュータ機器404のように、インターネットコンテンツへアクセスすることを可能にするインターネット対応型であってもよい一方で、ユーザコンピュータ機器404は、いくつかのテレビ機器402のように、テレビ番組へアクセスすることを可能にするチューナを含んでもよい。メディアガイドアプリケーションはまた、種々の異なるタイプのユーザ機器上で同一レイアウトを有してもよく、またはユーザ機器の表示能力に合わせられてもよい。例えば、ユーザコンピュータ機器404上では、ガイドアプリケーションは、ウェブブラウザによってアクセスされるウェブサイトとして提供されてもよい。別の実施例では、ガイドアプリケーションは、無線ユーザ通信デバイス406用に縮小されてもよい。
システム400では、典型的には、各タイプのユーザ機器デバイスが1つを上回って存在するが、図面が複雑になり過ぎることを回避するように、それぞれ1つだけが図4に示されている。加えて、各ユーザは、1つを上回るタイプのユーザ機器デバイスと、また、各タイプのユーザ機器デバイスのうちの1つを上回るものとを利用してもよい。
いくつかの実施形態では、ユーザ機器デバイス(例えば、ユーザテレビ機器402、ユーザコンピュータ機器404、無線ユーザ通信デバイス406)は、「第2の画面デバイス」と称されてもよい。例えば、第2の画面デバイスは、第1のユーザ機器デバイス上に提示されるコンテンツを補完してもよい。第2の画面デバイス上に提示されるコンテンツは、第1のデバイス上に提示されるコンテンツを補完する、任意の好適なコンテンツであってもよい。いくつかの実施形態では、第2の画面デバイスは、第1のデバイスの設定および表示選好を調節するためのインターフェースを提供する。いくつかの実施形態では、第2の画面デバイスは、他の第2の画面デバイスと相互作用する、またはソーシャルネットワークと相互作用するために構成される。第2の画面デバイスは、第1のデバイスと同一の部屋内に、第1のデバイスと異なる部屋であるが、同一の家または建物内、または第1のデバイスと異なる建物内に位置することができる。
ユーザはまた、家庭内デバイスおよび遠隔デバイスにわたって一貫したメディアガイドアプリケーション設定を維持するように、種々の設定を設定してもよい。設定は、本明細書に説明される設定、およびお気に入りのチャンネルおよび番組、番組を推奨するためにガイドアプリケーションが利用する番組選好、表示選好、および他の望ましいガイド設定を含む。例えば、ユーザが、オフィスのパソコンで、例えば、ウェブサイトwww.allrovi.comの上で、チャンネルをお気に入りとして設定した場合、所望に応じて、同一のチャンネルが、ユーザの家庭内デバイス(例えば、ユーザテレビ機器およびユーザコンピュータ機器)、およびユーザのモバイルデバイス上でお気に入りとして表示されるであろう。加えて、ユーザは、家庭内および遠隔デバイスを横断してカレンダ設定を設定してもよい。例えば、ユーザは、そのカレンダアプリケーションサーバ、ユーザ名、パスワード等を1つのデバイス上に入力してもよく、その情報は、別のデバイスによって検出および使用されてもよい。したがって、同一または異なるタイプのユーザ機器デバイスであるかどうかにかかわらず、1つのユーザ機器デバイス上で行われる変更は、別のユーザ機器デバイス上のガイド体験を変更することができる。さらに、行われる変更は、ユーザによる設定入力、およびガイドアプリケーションによって監視されるユーザ活動に基づいてもよい。
ユーザ機器デバイスは、通信ネットワーク414に連結されてもよい。すなわち、ユーザテレビ機器402、ユーザコンピュータ機器404、および無線ユーザ通信デバイス406は、それぞれ、通信パス408、410、および412を介して、通信ネットワーク414に連結される。通信ネットワーク414は、インターネット、携帯電話ネットワーク、モバイルボイスまたはデータネットワーク(例えば、4GまたはLTEネットワーク)、ケーブルネットワーク、公衆交換電話ネットワーク、または他のタイプの通信ネットワーク、または通信ネットワークの組み合わせを含む、1つまたはそれを上回るネットワークであってもよい。パス408、410、412、および412は、別個または一緒に、衛星パス、光ファイバパス、ケーブルパス、インターネット通信をサポートするパス(例えば、IPTV)、フリースペース接続(例えば、放送または他の無線信号用)、または任意の他の好適な有線または無線通信パス、またはそのようなパスの組み合わせ等、1つまたはそれを上回る通信パスを含んでもよい。パス412は、図4に示された例示的実施形態において、無線パスであることを示すように破線で描かれ、パス408および410は、有線パスであることを示すように実線で描かれている(しかし、これらのパスは、所望に応じて、無線パスであってもよい)。ユーザ機器デバイスとの通信は、これらの通信パスのうちの1つまたはそれを上回るものによって提供されてもよいが、図4では、図面が複雑になり過ぎることを回避するように、単一パスとして示されている。
通信パスは、ユーザ機器デバイスの間には描かれていないが、これらのデバイスは、パス408、410、および412に関連して上記で説明されるもの、およびUSBケーブル、IEEE1394ケーブル、無線パス(例えば、Bluetooth(登録商標)、赤外線、IEEE802−11x等)等の他の短距離ポイントツーポイント通信パス、または有線または無線パスを介した他の短距離通信等の通信パスを介して、相互に直接通信してもよい。BLUETOOTH(登録商標)は、Bluetooth(登録商標) SIG, INC.によって所有される認証マークである。ユーザ機器デバイスはまた、通信ネットワーク414を介した間接的パスを通して、直接相互に通信してもよい。
システム400は、それぞれ、通信パス420および422を介して、通信ネットワーク414に連結される、コンテンツソース416およびメディアガイドデータソース418を含む。パス420および422は、パス408、410、および412に関して上記で説明される通信パスのうちのいずれかを含んでもよい。コンテンツソース416およびメディアガイドデータソース418との通信は、1つまたはそれを上回る通信パスを介して交信されてもよいが、図4では、図面が複雑になり過ぎることを回避するように、単一パスとして示されている。加えて、コンテンツソース416およびメディアガイドデータソース418のそれぞれが1つを上回ってあってもよいが、図4では、図面が複雑になり過ぎることを回避するように、それぞれ1つだけが示されている。(これらのソースのそれぞれの異なるタイプを以下で論じる)。所望に応じて、コンテンツソース416およびメディアガイドデータソース418は、1つのソースデバイスとして統合されてもよい。ソース416および418と、ユーザ機器デバイス402、404、および406との間の通信は、通信ネットワーク414を通したものとして示されているが、いくつかの実施形態では、ソース416および418は、パス408、410、および412に関連して上記で説明されるもの等の通信パス(図示せず)を介して、ユーザ機器デバイス402、404、および406と直接通信してもよい。
コンテンツソース416は、テレビ配信施設、ケーブルシステムヘッドエンド、衛星配信施設、番組ソース(例えば、NBC、ABC、HBO等のテレビ放送会社)、中間配信施設および/またはサーバ、インターネットプロバイダ、オンデマンドメディアサーバ、および他のコンテンツプロバイダを含む、1つまたはそれを上回るタイプのコンテンツ配信機器を含んでもよい。NBCは、National Broadcasting Company, Inc.によって所有される商標であり、ABCは、American Broadcasting Company, INC.によって所有される商標であり、HBOは、Home Box Office, Inc.によって所有される商標である。コンテンツソース416は、コンテンツの発信元であってもよく(例えば、テレビ放送会社、ウェブキャストプロバイダ等)、またはコンテンツの発信元でなくてもよい(例えば、オンデマンドコンテンツプロバイダ、ダウンロード用放送番組のコンテンツのインターネットプロバイダ等)。コンテンツソース416は、ケーブルソース、衛星プロバイダ、オンデマンドプロバイダ、インターネットプロバイダ、オーバーザトップコンテンツプロバイダ、または他のコンテンツのプロバイダを含んでもよい。コンテンツソース416はまた、ユーザ機器デバイスのうちのいずれかから遠隔の場所にある、異なるタイプのコンテンツ(ユーザによって選択されるビデオコンテンツを含む)を記憶するために使用される、遠隔メディアサーバを含んでもよい。コンテンツの遠隔記憶のため、および遠隔に記憶されたコンテンツをユーザ機器に提供するためのシステムおよび方法は、全体として参照することにより本明細書に組み込まれる、2010年7月20日発行のEllisらの米国特許出願第7,761,892号に関連して、さらに詳細に論じられている。
メディアガイドデータソース418は、前述のメディアガイドデータ等のメディアガイドデータを提供してもよい。メディアガイドデータは、任意の好適なアプローチを使用して、ユーザ機器デバイスに提供されてもよい。いくつかの実施形態では、ガイドアプリケーションは、データフィード(例えば、継続フィードまたはトリクルフィード)を介して、番組ガイドデータを受信する、独立型双方向テレビ番組ガイドであってもよい。番組スケジューリングデータおよび他のガイドデータは、テレビチャンネルのサイドバンド上で、帯域内デジタル信号を使用して、帯域外デジタル信号を使用して、または任意の他の好適なデータ伝送技術によって、ユーザ機器に提供されてもよい。番組スケジューリングデータおよび他のメディアガイドデータは、複数のアナログまたはデジタルテレビチャンネル上でユーザ機器に提供されてもよい。
いくつかの実施形態では、メディアガイドデータソース418からのガイドデータは、クライアントサーバアプローチを使用して、ユーザの機器に提供されてもよい。例えば、ユーザ機器デバイスは、メディアガイドデータをサーバからプルしてもよく、またはサーバは、メディアガイドデータをユーザ機器デバイスにプッシュしてもよい。いくつかの実施形態では、ユーザの機器上に常駐するガイドアプリケーションクライアントは、必要に応じて、例えば、ガイドデータが、古くなっているとき、またはユーザ機器デバイスが、データを受信する要求をユーザから受信するとき、ソース418とセッションを開始し、ガイドデータを取得してもよい。メディアガイドは、任意の好適な頻度で(例えば、継続的に、毎日、ユーザ指定期間で、システム指定期間で、ユーザ機器からの要求に応じて等)ユーザ機器に提供されてもよい。メディアガイドデータソース418は、ユーザ機器デバイス402、404、および406に、メディアガイドアプリケーション自体、またはメディアガイドアプリケーションのソフトウェア更新を提供してもよい。
いくつかの実施形態では、メディアガイドデータは、視聴者データを含んでもよい。例えば、視聴者データは、現在および/または履歴ユーザアクティビティ情報(例えば、ユーザが典型的に見るコンテンツ、ユーザがコンテンツを見る時刻、ユーザがソーシャルネットワークと相互作用するかどうか、ユーザがソーシャルネットワークと相互作用し、情報をポストする時間、ユーザが典型的に見るコンテンツのタイプ(例えば、有料TVまたは無料TV)、気分、脳の活動情報等)を含んでもよい。メディアガイドデータはまた、加入データを含んでもよい。例えば、加入データは、所与のユーザが加入するソースまたはサービスおよび/または所与のユーザが以前に加入していたが、後にアクセスを打ち切ったソースまたはサービスを識別してもよい(例えば、ユーザがプレミアムチャンネルに加入しているかどうか、ユーザがプレミアムレベルのサービスを追加したかどうか、ユーザがインターネット速度を加速させたかどうか)。いくつかの実施形態では、視聴者データおよび/または加入データは、1年を上回る期間の間の所与のユーザのパターンを識別してもよい。メディアガイドデータは、所与のユーザがサービス/ソースへのアクセスを打ち切るであろう可能性を示すスコアを生成するために使用される、モデル(例えば、残存者モデル)を含んでもよい。例えば、メディアガイドアプリケーションは、加入データと、所与のユーザが特定のサービスまたはソースへのアクセスを打ち切るであろうかどうかの可能性を示す、値またはスコアを生成するためのモデルとを併用して、視聴者データを処理してもよい。特に、より高いスコアは、ユーザが特定のサービスまたはソースへのアクセスを打ち切るであろう、より高いレベルの信頼性を示し得る。スコアに基づいて、メディアガイドアプリケーションは、ユーザがアクセスを打ち切る可能性が高いであろうものとしてスコアによって示される特定のサービスまたはソースをユーザが維持するように勧誘する宣伝および広告を生成してもよい。
メディアガイドアプリケーションは、例えば、ユーザ機器デバイス上に実装される独立型アプリケーションであってもよい。例えば、メディアガイドアプリケーションは、記憶装置308内に記憶され、ユーザ機器デバイス300の制御回路304によって実行され得る、ソフトウェアまたは実行可能命令のセットとして実装されてもよい。いくつかの実施形態では、メディアガイドアプリケーションは、クライアント−サーバアプリケーションであってもよく、その場合、クライアントアプリケーションのみ、ユーザ機器デバイス上に常駐し、サーバアプリケーションは、遠隔サーバ上に常駐する。例えば、メディアガイドアプリケーションは、部分的に、ユーザ機器デバイス300の制御回路304上のクライアントアプリケーションとして、および部分的に遠隔サーバ上で、遠隔サーバの制御回路上で起動するサーバアプリケーションとして(例えば、メディアガイドデータソース418)、実装されてもよい。遠隔サーバの制御回路(メディアガイドデータソース418等)によって実行されると、メディアガイドアプリケーションは、制御回路に、ガイドアプリケーション表示を生成し、生成された表示をユーザ機器デバイスに伝送するように命令してもよい。サーバアプリケーションは、メディアガイドデータソース418の制御回路に、ユーザ機器上での記憶のためのデータを伝送するように命令してもよい。クライアントアプリケーションは、受信用ユーザ機器の制御回路に、ガイドアプリケーション表示を生成するように命令してもよい。
ユーザ機器デバイス402、404、および406に配信されるコンテンツおよび/またはメディアガイドデータは、オーバーザトップ(OTT)コンテンツであってもよい。OTTコンテンツ配信は、前述の任意のユーザ機器デバイスを含む、インターネット対応型ユーザデバイスが、ケーブルまたは衛星接続を経由して受信されるコンテンツに加え、前述の任意のコンテンツを含む、インターネットを経由して転送されるコンテンツを受信することを可能にする。OTTコンテンツは、インターネットサービスプロバイダ(ISP)によって提供されるインターネット接続を介して配信されるが、第三者も、コンテンツを配信する。ISPは、視聴能力、著作権、またはコンテンツの再配信に関与していなくてもよく、OTTコンテンツプロバイダによって提供されるIPパケットのみ転送してもよい。OTTコンテンツプロバイダの実施例として、IPパケットを介して、オーディオおよびビデオを提供する、YOUTUBE(登録商標)、NETFLIX、およびHULUが挙げられる。Youtube(登録商標)は、Google Inc.によって所有される商標であり、Netflixは、Netflix, Inc.によって所有される商標であり、Huluは、Hulu, LLC.によって所有される商標である。OTTコンテンツプロバイダは、加えて、または代替として、前述のメディアガイドデータを提供してもよい。コンテンツおよび/またはメディアガイドデータに加え、OTTコンテンツのプロバイダは、メディアガイドアプリケーション(例えば、ウェブベースのアプリケーションまたはクラウドベースのアプリケーション)を配信することができ、またはコンテンツは、ユーザ機器デバイス上に記憶されるメディアガイドアプリケーションによって表示されることができる。
メディアガイドシステム400は、いくつかのアプローチまたはネットワーク構成を例証することを意図しており、これによって、ユーザ機器デバイスおよびコンテンツおよびガイドデータのソースは、コンテンツにアクセスし、メディアガイドを提供する目的で、相互に通信してもよい。本明細書に説明される実施形態は、これらのアプローチの任意の1つまたは一部において、またはコンテンツを配信し、メディアガイドを提供するための他のアプローチを採用するシステムにおいて、適用されてもよい。以下の4つのアプローチは、図4の汎用実施例の具体的例証を提供する。
あるアプローチでは、ユーザ機器デバイスは、ホームネットワーク内で相互に通信してもよい。ユーザ機器デバイスは、上記で説明される短距離ポイントツーポイント通信方式を介して、ホームネットワーク上に提供されるハブまたは他の類似デバイスを通した間接パスを介して、または通信ネットワーク414を介して、直接相互に通信することができる。1つの家庭内の複数の個人のそれぞれが、ホームネットワーク上の異なるユーザ機器デバイスを操作してもよい。結果として、種々のメディアガイド情報または設定が、異なるユーザ機器デバイス間で伝達されることが望ましくてもよい。例えば、2005年7月11日出願のEllisらの米国特許公開第2005/0251827号でさらに詳細に説明されているように、ホームネットワーク内の異なるユーザ機器デバイス上で、ユーザが一貫したメディアガイドアプリケーション設定を維持することが望ましくてもよい。ホームネットワーク内の異なるタイプのユーザ機器デバイスがまた、相互に通信し、コンテンツを伝送してもよい。例えば、ユーザは、ユーザコンピュータ機器から携帯用ビデオプレーヤまたは携帯用音楽プレーヤにコンテンツを伝送してもよい。
第2のアプローチでは、ユーザは、複数のタイプのユーザ機器を有してもよく、これによって、コンテンツにアクセスし、メディアガイドを取得する。例えば、一部のユーザは、家庭内およびモバイルデバイスによってアクセスされる、ホームネットワークを有してもよい。ユーザは、遠隔デバイス上に実装されるメディアガイドアプリケーションを介して、家庭内デバイスを制御してもよい。例えば、ユーザは、オフィスのパーソナルコンピュータ、またはPDAまたはウェブ対応携帯電話等のモバイルデバイスを介して、ウェブサイト上のオンラインメディアガイドアプリケーションにアクセスしてもよい。ユーザは、オンラインガイドアプリケーション上で種々の設定(例えば、録画、リマインダ、または他の設定)を設定して、ユーザの家庭内機器を制御してもよい。オンラインガイドは、直接、またはユーザの家庭内機器上のメディアガイドアプリケーションと通信することによって、ユーザの機器を制御してもよい。ユーザ機器デバイスが相互から遠隔の場所にある、ユーザ機器デバイスの通信のための種々のシステムおよび方法は、例えば、その全体を参照することにより本明細書に組み込まれる、Ellisらの2011年10月25日発行の米国特許第8,046,801号で論じられている。
第3のアプローチでは、家庭内外のユーザ機器デバイスのユーザは、コンテンツソース416と直接通信し、コンテンツにアクセスするために、そのメディアガイドアプリケーションを使用することができる。具体的には、家庭内では、ユーザテレビ機器402およびユーザコンピュータ機器404のユーザは、メディアガイドアプリケーションにアクセスし、所望のコンテンツ間をナビゲートし、それを特定してもよい。ユーザはまた、無線ユーザ通信デバイス406を使用して、家庭外のメディアガイドアプリケーションにアクセスし、所望のコンテンツ間をナビゲートし、それを特定してもよい。
第4のアプローチでは、ユーザ機器デバイスは、クラウドコンピューティング環境内で操作し、クラウドサービスにアクセスしてもよい。クラウドコンピューティング環境では、コンテンツ共有、記憶、または配信のための種々のタイプのコンピューティングサービス(例えば、ビデオ共有サイトまたはソーシャルネットワーキングサイト)が、「クラウド」と称される、ネットワーク−アクセス可能コンピューティングおよび記憶リソースの集合によって提供される。例えば、クラウドは、ネットワークを介して接続される、種々のタイプのユーザおよびデバイスにクラウドベースのサービス、例えば、通信ネットワーク414を介したインターネットを提供する、中央または分散場所に位置し得る、サーバコンピューティングデバイスの集合を含むことができる。これらのクラウドリソースは、1つまたはそれを上回るコンテンツソース416および1つまたはそれを上回るメディアガイドデータソース418を含んでもよい。加えて、または代替として、遠隔コンピューティングサイトは、ユーザテレビ機器402、ユーザコンピュータ機器404、および無線ユーザ通信デバイス406等の他のユーザ機器デバイスを含んでもよい。例えば、他のユーザ機器デバイスは、ビデオの記憶されたコピーまたはストリーミングされたビデオへのアクセスを提供してもよい。そのような実施形態では、ユーザ機器デバイスは、中心サーバと通信せずに、ピアツーピア様式で操作してもよい。
クラウドは、ユーザ機器デバイスのために、他の実施例の中でもとりわけ、コンテンツ記憶、コンテンツ共有、またはソーシャルネットワーキングサービス等のサービスへのアクセス、および前述の任意のコンテンツへのアクセスを提供する。サービスは、クラウドコンピューティングサービスプロバイダを通して、またはオンラインサービスの他のプロバイダを通して、クラウド内で提供されることができる。例えば、クラウドベースのサービスは、コンテンツ記憶サービス、コンテンツ共有サイト、ソーシャルネットワーキングサイト、または他のサービスを含むことができ、それを介して、ユーザ供給コンテンツは、接続されたデバイス上の他者によって視聴するために配信される。これらのクラウドベースのサービスは、ユーザ機器デバイスが、コンテンツをローカルに記憶し、ローカルに記憶されたコンテンツにアクセスするのではなく、コンテンツをクラウドに記憶し、コンテンツをクラウドから受信することを可能にしてもよい。
ユーザは、カムコーダ、ビデオモード付きデジタルカメラ、オーディオレコーダ、携帯電話、およびハンドヘルドコンピューティングデバイス等の種々のコンテンツ捕捉デバイスを使用して、コンテンツを録画してもよい。ユーザは、直接、例えば、ユーザコンピュータ機器404から、またはコンテンツ捕捉特徴を有する、無線ユーザ通信デバイス406からのいずれかにおいて、クラウド上のコンテンツ記憶サービスにコンテンツをアップロードすることができる。代替として、ユーザは、最初に、コンテンツをユーザコンピュータ機器404等のユーザ機器デバイスに転送することができる。コンテンツを記憶するユーザ機器デバイスは、通信ネットワーク414上のデータ伝送サービスを使用して、コンテンツをクラウドにアップロードする。いくつかの実施形態では、ユーザ機器デバイス自体が、クラウドリソースであって、他のユーザ機器デバイスが、直接、ユーザがコンテンツを記憶したユーザ機器デバイスから、コンテンツにアクセスすることができる。
クラウドリソースは、例えば、ウェブブラウザ、メディアガイドアプリケーション、デスクトップアプリケーション、モバイルアプリケーション、および/またはそれらのアクセスアプリケーションの任意の組み合わせを使用して、ユーザ機器デバイスによってアクセスされてもよい。ユーザ機器デバイスは、アプリケーション配信のために、クラウドコンピューティングに依拠する、クラウドクライアントであってもよく、またはユーザ機器デバイスは、クラウドリソースにアクセスせずに、いくつかの機能性を有してもよい。例えば、ユーザ機器デバイス上で起動するいくつかのアプリケーションは、クラウドアプリケーション、すなわち、インターネットを経由して、サービスとして配信されるアプリケーションであってもよい一方、他のアプリケーションは、ユーザ機器デバイス上に記憶され、起動されてもよい。いくつかの実施形態では、ユーザデバイスは、コンテンツを複数のクラウドリソースから同時に受信してもよい。例えば、ユーザデバイスは、オーディオを1つのクラウドリソースからストリーミングする一方、コンテンツを第2のクラウドリソースからダウンロードすることができる。または、ユーザデバイスは、より効率的ダウンロードのために、コンテンツを複数のクラウドリソースからダウンロードすることができる。いくつかの実施形態では、ユーザ機器デバイスは、図3に関連して説明される処理回路によって行われる処理操作等の処理操作のために、クラウドリソースを使用することができる。
本明細書で参照されるように、用語「〜に応答して」は、「〜の結果として開始される」ことを指す。例えば、別のアクションに応答して行われている第1のアクションは、第1のアクションと第2のアクションとの間に介在ステップを含んでもよい。本明細書で参照されるように、用語「〜に直接応答して」は、「〜によって引き起こされる」ことを指す。例えば、別のアクションに直接応答して行われている第1のアクションは、第1のアクションと第2のアクションとの間に介在ステップを含まなくてもよい。
いくつかの実施形態では、メディアガイドアプリケーションは、図5に図示されるプロセス500のステップを行うことによって、ユーザがユーザの予定と重複するメディアアセットをそうではないメディアアセットから区別することを可能にする。ステップ502では、メディアガイドアプリケーションは、(例えば、制御回路304を介して)、カレンダアプリケーションから、ユーザと関連付けられた複数のイベントに関するカレンダデータを受信し、カレンダデータは、関連付けられたイベント開始時間および終了時間を有するイベント時間間隔を含む。本明細書で参照されるように、用語「カレンダデータ」は、ユーザのスケジュールされているイベントと関連付けられた任意のデータを指す。例えば、カレンダデータは、医師との面会、ビジネスミーティング、誕生日リマインダ等を含んでもよい。カレンダデータは、例えば、イベント開始時間、終了時間、説明、主題、参加者名、タイトル、リマインダ情報等を含んでもよい。ステップ504では、メディアガイドアプリケーションは、(例えば、制御回路304を介して)複数のイベントのイベント時間間隔と第1の複数のメディアアセットのメディアアセット時間間隔とを比較し、第1の複数のメディアアセットの各メディアアセットは、関連付けられたメディアアセット開始時間および終了時間を有し、対応するメディアアセット時間間隔の間、複数のユーザへの伝送のためにスケジュールされている。
ステップ506では、メディアガイドアプリケーション(例えば、制御回路304を介して)は、比較に基づいて、対応するメディアアセットデータベースエントリ内に、第2の複数のメディアアセットに対応する第1の複数のメディアアセット識別子に関する競合インジケータを記憶し、第2の複数のメディアアセットは、イベント時間間隔のうちの少なくとも1つと少なくとも部分的に重複する関連付けられたメディアアセット時間間隔を有する、第1の複数のメディアアセットからのメディアアセットを含む。メディアアセットデータベースエントリは、メディアガイドアプリケーションが常駐する同一デバイス上の記憶装置308内に位置するデータベース内に記憶されてもよい。加えて、または代替として、メディアアセットデータベースは、メディアコンテンツソース416および/またはメディアガイドデータソース418に記憶されてもよく、通信ネットワーク414を介してアクセスされてもよい。本明細書で参照されるように、用語「競合インジケータ」は、重複が存在することを示すことが可能なデータ構造を指す。例えば、競合インジケータは、ブール値、変数、重複イベントへのリンク、および/または重複イベントのデータであってもよい。
ステップ508では、メディアガイドアプリケーションは、表示のために、(例えば、制御回路304を介して)ある時間期間の間の複数のユーザへの伝送のためにスケジュールされているメディアアセットに対応する第2の複数のメディアアセット識別子を生成し、第2の複数のメディアアセット識別子は、第1の複数のメディアアセット識別子内に含まれるメディアアセット識別子を含む第1の部分と、第1の複数のメディアアセット識別子内に含まれないメディアアセット識別子を含む第2の部分とを有し、第1の部分内のメディアアセット識別子は、第2の部分内のメディアアセット識別子から視覚的に区別される。
プロセス500のステップ502は、図6のプロセス600によってさらに例示される。ステップ602では、メディアガイドアプリケーションは、カレンダアプリケーションに、ユーザと関連付けられたカレンダデータに関する要求を伝送する(例えば、制御回路304を介してI/Oパス302を通して)。カレンダアプリケーションは、遠隔サーバ上(例えば、メディアコンテンツソース416および/またはメディアガイドデータソース418と関連付けられたサーバ)またはメディアガイドアプリケーションが常駐するデバイス上の記憶装置308内に記憶されてもよい。カレンダアプリケーションはまた、第三者によって管理される遠隔サーバに位置してもよく、インターネットを通してアクセスされてもよい。本明細書で参照されるように、用語「カレンダアプリケーション」は、ユーザと関連付けられたイベントの記憶を可能にするソフトウェアおよび/またはハードウェアを指す。例えば、Google Calendar(TM)は、ユーザがカレンダデータを記憶することを可能にし、カレンダアプリケーションと見なされる、サービスである。いくつかのカレンダアプリケーションは、単一ユーザに関するカレンダイベントを記憶し得る一方、他は、複数のユーザに関するカレンダイベントを記憶することに留意されたい。他のカレンダアプリケーションは、Microsoft Exchange、Microsoft Outlook、Yahoo Calendar等を含んでもよい。加えて、カレンダアプリケーションは、スマートフォンおよび他のモバイルデバイス(例えば、タブレット)上で利用可能な任意のアプリケーションを含む。
メディアガイドアプリケーションは、種々の方法においてステップ602を行ってもよい。例えば、メディアガイドアプリケーションは、ユーザのカレンダアプリケーションをホストしているサーバに関する事前に構成された値を読み出してもよい(例えば、記憶装置308から)。事前に構成された値は、メディアコンテンツソース416またはメディアガイドデータソース418から読み出されることができることに留意されたい。加えて、または代替として、メディアガイドアプリケーションは、ユーザの電子メールアドレスを含む事前に構成された値を、ユーザのカレンダが電子メールアプリケーションの一部であることのインジケーションとともに、読み出してもよい。例えば、初期構成の際(ユーザがメディアガイドアプリケーションの使用を最初に開始するとき)、メディアガイドアプリケーションは、ユーザがその電子メールアドレスを入力する機会を提供してもよい。メディアガイドアプリケーションは、電子メールアドレスおよびインジケーションを記憶装置308内またはメディアコンテンツソース416および/またはメディアガイドデータソース418に記憶してもよい。メディアガイドアプリケーションは、ユーザと関連付けられたカレンダデータに関する要求をユーザの電子メールと関連付けられたサーバに伝送してもよい。
ユーザがGoogle Mail(TM)等のサービスを利用する場合、メディアガイドアプリケーションは、ユーザと関連付けられたカレンダデータに関する適切にフォーマットされた要求をGoogleのサーバに伝送してもよい。要求は、認証情報を含んでもよいことに留意されたい。加えて、または代替として、メディアガイドアプリケーションは、サーバと認証ハンドシェイクを行ってもよい。認証ハンドシェイクは、メディアガイドアプリケーションからの要求の形態をとってもよく、その後、認証情報に関する要求を伴うサーバからの応答が続き、次いで、メディアガイドアプリケーションが認証情報をサーバに伝送することが続くであろう。
ステップ604では、メディアガイドアプリケーションは、カレンダアプリケーションから、ユーザと関連付けられた複数のイベントに関するカレンダデータを受信する(例えば、制御回路304を介してI/Oパス302を通して)。メディアガイドアプリケーションが、カレンダデータを受信すると、メディアガイドアプリケーションは、そのデータを記憶装置308内に記憶してもよい。加えて、または代替として、メディアガイドアプリケーションは、カレンダデータをメディアコンテンツソース416および/またはメディアガイドデータソース418に記憶してもよい。メディアガイドアプリケーションは、カレンダデータを種々の形態で記憶してもよい。例えば、メディアガイドアプリケーションは、カレンダデータをXMLファイル、データベース、または別のデータ構造内に記憶してもよい。XMLファイルおよびデータベースは、記憶される間、データをセキュアに保つために暗号化されてもよいことに留意されたい。また、複数のユーザに関するカレンダデータがデータベース内に記憶されてもよいことに留意されたい。メディアガイドアプリケーションは、複数のユーザに関するカレンダデータを複数のXMLファイル(ファイルあたり1人のユーザのカレンダデータ)内に記憶してもよい。
ステップ606では、メディアガイドアプリケーションは、受信されたイベントが以前に受信されているかどうかを判定し(例えば、以前の要求によって)、新しいおよび更新されたイベントを記憶するためのプロセスを開始する。これらのステップは、データベースに関連して説明されることに留意されたい。しかしながら、これらのステップは、ファイル(例えば、XMLファイル)または別のデータ構造にも等しく適用可能であり得る。ステップ606では、メディアガイドアプリケーションは、全受信されたイベントが以前に選択されているかどうかを判定する(例えば、制御回路304を介して)。全イベントが、以前に選択されている場合、プロセスは、ステップ624に進み、終了する。全イベントが以前に選択されていない場合、プロセス600は、ステップ608に進み、メディアガイドアプリケーションは、以前に選択されていない複数のイベントのイベントを選択する(例えば、制御回路304を介して)。例えば、メディアガイドアプリケーションは、全ての新しく受信されたイベントを一時的ファイル、一時的データ構造、RAM、または一時的データベーステーブル内に記憶してもよい。メディアガイドアプリケーションは、イベントがすでに以前に選択されているイベントと合致するかどうかを判定するために、一度に1つのイベントを選択してもよい。
ステップ610では、メディアガイドアプリケーションは、クエリを選択されたイベントに関するデータベースに伝送する(例えば、制御回路304を介して、I/Oパス302を通して)。例えば、メディアガイドアプリケーションは、それらがデータベース内に記憶されるにつれて一意のイベントを識別し得る、クエリを作成してもよい。具体的には、本クエリは、イベントの開始時間および終了時間およびイベントの説明を含んでもよい。クエリはまた、イベントの主題を含んでもよい。メディアガイドアプリケーションは、最初に、開始時間および終了時間が選択されたイベントの開始時間および終了時間と合致する、全エントリを読み出してもよい。大部分の場合、1つの合致イベントまたはゼロ合致イベントが存在するであろう。しかしながら、いくつかの事例では、ユーザは、同一時間期間にわたってスケジュールされている2つまたはそれを上回るイベントを有し得る。これらの事例では、メディアガイドアプリケーションは、複数のエントリを読み出してもよい。データベースは、メディアガイドアプリケーションが常駐するデバイス上にローカル(記憶装置308内)に常駐してもよい。代替として、または加えて、データベースは、メディアコンテンツソース416および/またはメディアガイドデータソース418に常駐してもよい。イベントエントリが、データベースの代わりに、ファイル(例えば、XMLファイル)内に記憶される事例では、メディアガイドアプリケーションは、クエリを使用する代わりに、XMLファイルを解析してもよいことに留意されたい。
ステップ612では、メディアガイドアプリケーションは、選択されたイベントがデータベース内に存在するかどうかを判定する。選択されたイベントの開始時間および終了時間の両方と合致するエントリがデータベース内に存在しない場合、プロセス600は、ステップ614に進み、メディアガイドアプリケーションは、データベースエントリを選択されたイベントからのカレンダデータとともに作成する。プロセス600は、次いで、ステップ606に進む。開始時間および終了時間の両方が合致する、少なくとも1つのイベントがデータベース内に存在する場合、プロセス600は、ステップ616に進み、メディアガイドアプリケーションは、データベースから、選択されたイベントと関連付けられたイベントエントリを読み出す(例えば、制御回路304を介して)。イベントエントリがファイル(例えば、XMLファイル)内に記憶される事例では、メディアガイドアプリケーションは、イベントエントリをファイルから読み出してもよいことに留意されたい。
ステップ618では、メディアガイドアプリケーションは、データベースから読み出されるイベントエントリのデータと選択されたイベントのデータとを比較する(例えば、制御回路304を介して)。メディアガイドアプリケーションは、含まれる他のデータとイベントとを比較することによって比較を行ってもよい。例えば、メディアガイドアプリケーションは、主題、説明、リマインダ情報等を比較してもよい。ステップ620では、メディアガイドアプリケーションは、データベースから読み出されるイベントエントリが、選択されたイベントのデータと合致するかどうかを判定する(例えば、制御回路604を介して)。イベントエントリが選択されたイベントのデータと合致する場合、プロセス600は、ステップ606に進み、次のイベントが、処理のために選択される。データベースから読み出されるイベントエントリからのデータが、選択されたイベントのデータと合致しない場合、プロセス600は、ステップ622に進む。
ステップ622では、メディアガイドアプリケーションは、データベースエントリを選択されたイベントからのデータで更新する(例えば、制御回路304を介して)。メディアガイドアプリケーションは、データベースエントリ内のデータを選択されたイベントからのデータで上書きしてもよい。代替として、メディアガイドアプリケーションは、データベースエントリと選択されたイベントとの間で異なる情報のみを上書きしてもよい。プロセス600は、次いで、ステップ606に進む。
図6の説明は、本開示の任意の他の実施形態とともに使用され得ることが考慮される。加えて、プロセス600のステップは、本開示の目的を促進するように、代替的な順序で、または並行して行われてもよい。例えば、メディアガイドアプリケーションは、性能を向上させるために、複数の論理プロセッサスレッドまたは物理的プロセッサを使用してもよい。さらに、プロセス600は、分岐予測を組み込むことによって拡張されてもよい。プロセス600は、適切に構成されたソフトウェアおよびハードウェアの組み合わせ上に実装されてもよく、プロセスのうちの1つまたはそれを上回る部分を実装するために、図3−4に関して議論されるデバイスまたは機器のいずれかが使用され得ることに留意されたい。
図7は、プロセス600を実装するために使用され得る、可能性として考えられる擬似コードを図示する。図7の擬似コードは、任意の数のプログラミング言語および種々の異なるハードウェアで実装され得、スタイルおよび形式は、限定的として解釈されるべきではなく、むしろ、プロセス600を実装するために使用されるコードと一致するであろうステップおよびプロシージャの一般的テンプレートであることが当業者に明白となるであろう。
ライン702では、メディアガイドアプリケーションは、変数を初期化し、緊急アラートを受信するためのルーチンの開始に備えたサブルーチンを実行する(例えば、制御回路304を介して)。例えば、メディアガイドアプリケーションは、非一過性の記憶媒体(例えば、記憶デバイス308)からRAMの中へ、または処理回路306用のキャッシュの中へ命令をコピーしてもよい(例えば、制御回路304を介して)。メディアガイドアプリケーションは、メディアガイドアプリケーションにルーチンが開始することを要求するユーザ入力が受信されたことを通知するユーザ入力インターフェース310からの信号に応答して、初期化サブルーチンを実行してもよい。
ライン705では、メディアガイドアプリケーションは、現在のユーザを読み出すための機能を実行する(例えば、制御回路304を介して)。ライン706では、メディアガイドアプリケーションは、新しい要求を作成するための機能を実行する(例えば、制御回路304を介して)。新しい要求は、カレンダデータに関する要求であって、現在のユーザのインジケーションを含んでもよい。ステップ707では、メディアガイドアプリケーションは、カレンダデータを受信するための機能を実行する(例えば、制御回路304を介して)。機能は、入力としてカレンダデータが常駐するサーバ名をとってもよく、新しい要求が、ライン706において作成される。
ライン708では、メディアガイドアプリケーションは、異なるイベントを分離するために、カレンダデータを解析するための機能を実行してもよい(例えば、制御回路304を介して)。イベントは、各イベントを処理するためにトラバースされ得る、アレイまたは別の類似データ構造内に記憶されてもよい。ライン709では、メディアガイドアプリケーションは、各受信されたイベントを通して反復する「Forループ」を実行する(例えば、制御回路304を介して)。受信されたイベント毎に、メディアガイドアプリケーションは、ライン710において、以前に受信されたイベントを記憶するデータベース内のイベントの存在を検索するためのクエリを生成する(例えば、制御回路304を介して)。メディアガイドアプリケーションは、図6に関連して説明される任意の様式でクエリを生成してもよい。
ライン711では、メディアガイドアプリケーションは、クエリと合致する任意のイベントを受信するために、クエリをデータベースに伝送するための機能を実行する(例えば、制御回路を介して)。ライン712では、メディアガイドアプリケーションは、任意のイベントが現在処理されているイベントと合致するかどうかを判定する(例えば、制御回路304を介して)。イベントが合致しない場合、メディアガイドアプリケーションは、ライン713において、新しいデータベースエントリを作成するための機能を実行する(例えば、制御回路304を介して)。機能は、入力としてイベントと関連付けられたデータをとってもよい。ライン714では、メディアガイドアプリケーションは、新しいエントリを記憶のためにデータベースに伝送するための機能を実行する(例えば、制御回路304を介して)。
ライン715において、メディアガイドアプリケーションが、処理されているイベントがデータベース内のイベントと合致することを判定する場合、メディアガイドアプリケーションは、ライン716において、イベントデータを解析するための機能を実行する(例えば、制御回路304を介して)。ライン717では、メディアガイドアプリケーションは、データベースから読み出されるイベントのイベントデータを解析するための機能を実行する(例えば、制御回路304を介して)。ライン718では、メディアガイドアプリケーションは、2つのイベントのイベントデータを比較する(例えば、制御回路304を介して)。メディアガイドアプリケーションは、図6と関連して議論される任意の様式で比較を行ってもよい。
ライン719では、メディアガイドアプリケーションは、2つのイベントのデータが合致するかどうかを判定する(例えば、制御回路304を介して)。合致が見出されない場合、メディアガイドアプリケーションは、ライン720において、既存のイベントを新しいデータで更新するための機能を実行する(例えば、制御回路304を介して)。メディアガイドアプリケーションは、図6に関して議論される任意の様式で更新を行ってもよい。しかしながら、データが合致する場合、メディアガイドアプリケーションは、データを更新せず、「Forループ」の次の反復に進む。メディアガイドアプリケーションは、ライン725に示されるように、プロセスの終了に進む(例えば、制御回路304を介して)。例えば、メディアガイドアプリケーションは、メモリをクリーンアップし、もはや必要とされない変数を破棄してもよい。
図7における擬似コードは、任意の数のプログラミング言語および種々の異なるハードウェアで実装され得、原始関数、論理評価、および機能評価の特定の選択肢および場所は、限定的であることを意図していないことに留意されたい。また、コードは、種々の論理評価の順序を操作し、単一の反復ループではなくて、いくつかの反復を並行して行うように、または入力または最終出力を根本的に変更することなく、実行時間および性能メトリックを別様に操作して最適化するように、リファクタリングされ得る、または書き換えられ得ることに留意されたい。
前述のように、図5のステップ504および506では、メディアガイドアプリケーションは、複数のイベントのイベント時間間隔と第1の複数のメディアアセットのメディアアセット時間間隔とを比較し(例えば、制御回路304を介して)、比較に基づいて、対応するメディアアセットデータベースエントリ内に、読み出されるイベントと重複する伝送時間を有するそれらのメディアアセットに関する競合インジケータを記憶する。プロセス500のステップ504およびステップ506の一部は、図8のプロセス800によってさらに例示される。
ステップ802では、メディアガイドアプリケーションは、データベースから、複数のイベントに対応するデータベースエントリおよび第1の複数のメディアアセットに対応するデータベースエントリを読み出す(例えば、制御回路304を介して)。イベントエントリおよびメディアアセットエントリは両方とも、同一データベース内に常駐してもよいことに留意されたい。代替として、イベントエントリは、1つのデータベース内に常駐してもよく、メディアアセットエントリは、別のデータベース内に常駐してもよい。また、イベントエントリおよびメディアアセットエントリは、ファイル(例えば、XMLファイル)または他の適切なデータ構造内に常駐してもよいことに留意されたい。データベースは、メディアガイドアプリケーションが常駐するデバイス上にローカル(例えば、記憶装置308内)に記憶されてもよい。加えて、または代替として、データベースは、メディアコンテンツソース416および/またはメディアガイドデータソース418に記憶されてもよい。
ステップ804では、メディアガイドアプリケーションは、複数のイベントに対応する全データベースエントリが以前に選択されているかどうかを判定する(例えば、制御回路304を介して)。複数のイベントに対応する全データベースエントリが以前に選択されている場合、プロセス800は、ステップ808に進み、終了する。複数のイベントに対応する全データベースエントリが、以前に選択されていない場合、プロセス800は、ステップ806に進む。ステップ806では、メディアガイドアプリケーションは、複数のイベントのイベントに対応する以前に選択されていないデータベースエントリを選択する(例えば、制御回路304を介して)。例えば、複数のイベントに対応するデータベースエントリは、データベースから読み出された後、RAM内に記憶されてもよい。これらのエントリは、アレイ等のデータ構造内に記憶されてもよい。メディアガイドアプリケーションは、アレイを通して反復し、処理のために各エントリを選択してもよい。
ステップ810では、メディアガイドアプリケーションは、イベント開始時間およびイベント終了時間をイベントに対応する選択されたデータベースエントリから読み出す(例えば、制御回路304を介して)。ステップ806に関連して前述のように、データベースエントリは、データベースから読み出された後、RAM内に記憶されてもよい。メディアガイドアプリケーションは、メモリ内のエントリにアクセスし、データベースエントリと関連付けられた異なるフィールドを抽出してもよい。メディアガイドアプリケーションは、次いで、イベント開始時間およびイベント終了時間に対応するフィールド内のデータを読み出してもよい。
ステップ812では、メディアガイドアプリケーションは、第1の複数のメディアアセットに対応する全データベースエントリが以前に選択されているかどうかを判定する(例えば、制御回路304を介して)。第1の複数のメディアアセットに対応する全データベースエントリが以前に選択されている場合、プロセス800は、ステップ804に進む。そうでなければ、プロセス800は、ステップ814に進む。
ステップ814では、メディアガイドアプリケーションは、第1の複数のメディアアセットのメディアアセットに対応する以前に選択されていないデータベースエントリを選択する(例えば、制御回路304を介して)。ステップ816では、メディアガイドアプリケーションは、メディアアセット開始時間およびメディアアセット終了時間をメディアアセットに対応する選択されたデータベースエントリから読み出す(例えば、制御回路304を介して)。メディアガイドアプリケーションは、ステップ810に関連して議論されるものと同一様式で読出動作を行ってもよい。
ステップ818では、メディアガイドアプリケーションは、イベント開始時間とメディアアセット開始時間およびメディアアセット終了時間とを比較し、選択されたイベントが重複するメディアアセットを判定してもよい(例えば、制御回路304を介して)。例えば、イベントの開始時間が、メディアアセット伝送の開始時間と終了時間との間にある場合、メディアガイドアプリケーションは、イベントがメディアアセットと重複することを判定してもよい。
ステップ820では、メディアガイドアプリケーションは、イベント終了時間とメディアアセット開始時間およびメディアアセット終了時間とを比較し、選択されたイベントが重複するメディアアセットを判定する。例えば、イベントの終了時間が、メディアアセット伝送の開始時間と終了時間との間にある場合、メディアガイドアプリケーションは、イベントがメディアアセットと重複することを判定してもよい。したがって、メディアガイドアプリケーションは、重複がステップ818またはステップ820のいずれかまたは両方において見出されるとき、重複を検出してもよい。メディアガイドアプリケーションは、重複を検出するとき、メディアアセットの伝送時間およびイベントと関連付けられた時間帯を考慮することが可能にされてもよいことに留意されたい。例えば、ユーザの通常時間帯は、東部標準時であってもよい。しかしながら、ユーザは、旅行中であり得、太平洋標準時に位置し得る。メディアガイドアプリケーションが、イベント開始時間および終了時間とメディアアセット開始時間および終了時間とを比較するとき、メディアガイドアプリケーションは、最初に、開始時間および終了時間を1つの時間帯(例えば、グリニッジ標準時)に変換してもよい。したがって、第2の複数のメディアアセット識別子が表示されるとき、重複は、ユーザがどの時間帯に居るかにかかわらず、正しく示される。
ステップ822では、メディアガイドアプリケーションは、イベント開始時間またはイベント終了時間のいずれかがメディアアセット開始時間とメディアアセット終了時間との間にあるかどうかを判定する(例えば、制御回路304を介して)。イベント開始時間またはイベント終了時間のいずれもメディアアセット開始時間とメディアアセット終了時間との間にない場合、プロセス800は、ステップ804に進む。そうでなければ、プロセス800は、ステップ824に進む。
ステップ824では、メディアガイドアプリケーションは、メディアアセットに対応する選択されたデータベースエントリを(1)イベントに対応するデータベースエントリからのデータと、(2)競合インジケータとで更新する(例えば、制御回路304を介して)。メディアガイドアプリケーションは、データベースエントリ内の全データをイベントデータで上書きすることによって更新を行ってもよい。代替として、メディアガイドアプリケーションは、変更したデータベースエントリの部分のみを上書きしてもよい。メディアガイドアプリケーションが更新を完了すると、プロセス800は、ステップ804に進み、別の以前に選択されていないイベントが、処理のために選択される。
図8の説明は、本開示の任意の他の実施形態とともに使用されてもよいことが考慮される。加えて、プロセス800のステップは、本開示の目的を促進するように、代替的な順序で、または並行して行われてもよい。例えば、メディアガイドアプリケーションは、性能を向上させるために、複数の論理プロセッサスレッドまたは物理的プロセッサを使用してもよい。さらに、プロセス800は、分岐予測を組み込むことによって拡張されてもよい。プロセス800は、適切に構成されたソフトウェアおよびハードウェアの組み合わせ上に実装されてもよく、プロセスのうちの1つまたはそれを上回る部分を実装するために、図3−4に関して議論されるデバイスまたは機器のいずれかが使用され得ることに留意されたい。
図9は、プロセス800を実装するために使用され得る、可能性として考えられる擬似コードを図示する。図9の擬似コードは、任意の数のプログラミング言語および種々の異なるハードウェアで実装され得、スタイルおよび形式は、限定的として解釈されるべきではなく、むしろ、プロセス800を実装するために使用されるコードと一致するであろうステップおよびプロシージャの一般的テンプレートであることが当業者に明白となるであろう。
ライン902では、メディアガイドアプリケーションは、変数を初期化し、メディアアセットエントリとイベントエントリとを比較するためのルーチンの開始に備えたサブルーチンを実行する(例えば、制御回路304を介して)。例えば、メディアガイドアプリケーションは、非一過性の記憶媒体(例えば、記憶デバイス308)からRAMの中へ、または処理回路306用のキャッシュの中へ命令をコピーしてもよい(例えば、制御回路304を介して)。メディアガイドアプリケーションは、ルーチン700の完了に応答して初期化サブルーチンを実行してもよい。
ライン905では、メディアガイドアプリケーションは、カレンダイベントを読み出すための機能を実行する。機能は、入力としてサーバ名(例えば、メディアコンテンツソース416および/またはメディアガイドデータソース418と関連付けられたサーバ)をとることができる。代替として、メディアガイドアプリケーションは、カレンダイベントをメディアガイドアプリケーションが常駐するデバイス上の記憶装置308から読み出してもよい。それらの事例では、サーバ名は、機能に提供されない。メディアガイドアプリケーションは、プロセス800に関連して説明される任意の様式で機能を行ってもよい。
ライン906では、メディアガイドアプリケーションは、メディアアセットエントリを読み出すための機能を実行する(例えば、制御回路306を介して)。機能は、メディアアセットエントリが遠隔サーバから読み出される事例では、入力としてサーバ名をとってもよい。例えば、メディアアセットエントリは、メディアコンテンツソース416および/またはメディアガイドデータソース418と関連付けられたサーバから読み出されてもよい。加えて、または代替として、メディアガイドアプリケーションは、メディアアセットエントリをメディアガイドアプリケーションが常駐するデバイス上の記憶装置308から読み出してもよい。いくつかの事例では、メディアガイドアプリケーションが常駐するデバイスは、メディアアセットエントリを特定の時間期間にわたって記憶してもよく、遠隔サーバ(例えば、メディアコンテンツソース416および/またはメディアガイドデータソース418と関連付けられたサーバ)は、メディアアセットエントリをより長い期間にわたって記憶してもよい。したがって、メディアガイドアプリケーションは、メディアアセットエントリを両方の場所から読み出してもよい。例えば、翌週にわたるメディアアセットエントリは、メディアガイドアプリケーションが常駐するデバイス上に記憶されてもよく、サーバは、エントリを最大1ヶ月先まで記憶してもよい。
ライン907では、メディアガイドアプリケーションは、全イベントエントリに反復する「Forループ」を実行する(例えば、制御回路304を介して)。ライン908では、メディアガイドアプリケーションは、現在処理されているイベントエントリの開始時間を読み出すための機能を実行する(例えば、制御回路304を介して)。ライン909では、メディアガイドアプリケーションは、現在処理されているイベントエントリの終了時間を読み出すための機能を実行する(例えば、制御回路304を介して)。両方の読出動作は、図8のプロセス800に関連して説明される任意の様式で行われてもよいことに留意されたい。
ライン910では、メディアガイドアプリケーションは、各メディアアセットエントリを通して反復する第2の「Forループ」を実行する。ライン911では、メディアガイドアプリケーションは、処理されているメディアアセットエントリと関連付けられた開始時間を読み出すための機能を実行する(例えば、制御回路304を介して)。ライン912では、メディアガイドアプリケーションは、現在処理されているメディアアセットエントリと関連付けられた終了時間を読み出すための機能を実行する(例えば、制御回路304を介して)。両方の読出動作は、図8のプロセス800に関連して説明される任意の様式で実行されてもよいことに留意されたい。
ライン913では、メディアガイドアプリケーションは、イベント開始時間がメディアアセット開始時間とメディアアセット終了時間との間にあるかどうかを判定する(例えば、制御回路304を介して)。イベント開始時間が、メディアアセット開始時間とメディアアセット終了時間との間にある場合、メディアガイドアプリケーションは、ライン914において、メディアアセットエントリをイベントエントリからのデータで更新するための機能を実行する(例えば、制御回路304を介して)。メディアガイドアプリケーションは、イベントの開始時間、イベントの終了時間、説明、リマインダ情報、主題等のメディアアセットエントリをデータで更新してもよい。
ライン915では、メディアガイドアプリケーションは、メディアアセットエントリを新しい競合インジケータで更新するための機能を実行する(例えば、制御回路304を介して)。例えば、メディアガイドアプリケーションは、メディアアセットエントリをデータベース内の異なるテーブル内に記憶される競合インジケータへのポインタで更新してもよい。加えて、または代替として、イベントエントリへのポインタは、競合インジケータとしての役割を果たしてもよい。本事例では、メディアガイドアプリケーションは、メディアアセットエントリ内のイベントエントリからのデータを記憶する必要はなく、代わりに、データベースの異なる部分または別のデータベース内のイベントエントリへのポインタを記憶する。その結果、より少ない記憶容量が、メディアアセットエントリを記憶するために使用されるであろう。
ライン917では、メディアガイドアプリケーションは、イベント終了時間がメディアアセット開始時間とメディアアセット終了時間との間にあるかどうかを判定する(例えば、制御回路304を介して)。イベント終了時間が、メディアアセット開始時間とメディアアセット終了時間との間にある場合、メディアガイドアプリケーションは、ライン918において、メディアアセットエントリをイベントエントリからのデータで更新するための機能を実行する(例えば、制御回路304を介して)。メディアガイドアプリケーションは、メディアアセットエントリをイベントの開始時間、イベントの終了時間、説明、リマインダ情報、主題等のデータで更新してもよい。
ライン919では、メディアガイドアプリケーションは、メディアアセットエントリを新しい競合インジケータで更新するための機能を実行する(例えば、制御回路304を介して)。例えば、メディアガイドアプリケーションは、メディアアセットエントリをデータベース内の異なるテーブル内に記憶される競合インジケータへのポインタで更新してもよい。加えて、または代替として、イベントエントリへのポインタは、競合インジケータとしての役割を果たしてもよい。本事例では、メディアガイドアプリケーションは、メディアアセットエントリ内のイベントエントリからのデータを記憶する必要はなく、代わりに、データベースの異なる部分または別のデータベース内のイベントエントリへのポインタを記憶する。その結果、より少ない記憶容量が、メディアアセットエントリを記憶するために使用されるであろう。
ライン921では、メディアガイドアプリケーションは、Inner Forループの次のステップに進み、ライン922では、メディアガイドアプリケーションは、Outer Forループの次のステップに進む。メディアガイドアプリケーションは、ライン924に示されるように、プロセスの終了に進む(例えば、制御回路304を介して)。例えば、メディアガイドアプリケーションは、メモリをクリーンアップし、もはや必要とされない変数を破棄してもよい。
図9における擬似コードは、任意の数のプログラミング言語および種々の異なるハードウェアで実装され得、原始関数、論理評価、および機能評価の特定の選択肢および場所は、限定的であることを意図していないことに留意されたい。また、コードは、種々の論理評価の順序を操作し、単一の反復ループではなくて、いくつかの反復を並行して行うように、または入力または最終出力を根本的に変更することなく、実行時間および性能メトリックを別様に操作して最適化するように、リファクタリングされ得る、または書き換えられ得ることに留意されたい。
図10のプロセス1000は、ステップ506の別の部分を例示する。具体的には、プロセス1000は、メディアガイドアプリケーションによって、データベース内において、図8のプロセス800によって更新されたデータベースエントリを更新するために使用され得るステップを図示する。ステップ1002では、メディアガイドアプリケーションは、記憶装置から、第1の複数のメディアアセットに対応する複数のデータベースエントリを読み出す(例えば、制御回路304を介して)。メディアガイドアプリケーションは、記憶装置から、図8のプロセス800の実行から生じた記憶されるエントリを読み出してもよい。
ステップ1004では、メディアガイドアプリケーションは、更新された第1の複数のメディアアセットに対応するデータベースエントリを判定する(例えば、制御回路304を介して)。メディアガイドアプリケーションは、メモリ内の各データベースエントリの更新フラグにアクセスすることによって判定を行ってもよい。多くの現在のプログラミングパッケージは、更新フラグをあるルーチンによって更新されたメモリ内のデータベースエントリに対して自動的に設定するルーチンを含むことに留意されたい。
ステップ1008では、メディアガイドアプリケーションは、任意のデータベースエントリが更新されたかどうかを判定する。データベースエントリが更新されていない場合、プロセス1000は、ステップ1006に進み、終了する。少なくとも1つのデータベースエントリが更新された場合、プロセス1000は、ステップ1010に進む。ステップ1004および1008は、並行して行われてもよい、または1つのステップに組み合わせられてもよいことに留意されたい。例えば、メディアガイドアプリケーションは、各データベースエントリを通して反復し、少なくとも1つのデータベースエントリが更新されたことが見出される場合、メモリ内にフラグを記憶してもよい。第1の更新されたデータベースエントリが見出される場合、メディアガイドアプリケーションは、検索を終了し、少なくとも1つのデータベースエントリが更新されたことを判定してもよい。代替として、メディアガイドアプリケーションは、全データベースエントリを通して検索し、更新された各データベースエントリへのポインタを含む、データ構造(例えば、アレイ)を作成してもよい。メディアガイドアプリケーションは、次いで、アレイが任意のポインタを有するかどうかを判定してもよい。アレイがポインタを有する場合、更新されたデータベースエントリが、見出される。ポインタがアレイ内に存在しない場合、データベースエントリは、更新されない。
ステップ1010では、メディアガイドアプリケーションは、第1の複数のメディアアセット識別子に関するデータベースエントリを含有するデータベースに接続する(例えば、制御回路304を介してI/Oパス302を通して)。例えば、メディアガイドアプリケーションは、データベースに接続要求を伝送してもよい(I/Oパス302を介して)。データベースは、メディアコンテンツソース416および/またはメディアガイドデータソース418に位置してもよく、これは、通信ネットワーク414を通してアクセスされてもよいことに留意されたい。代替として、データベースは、インターネットまたは別のネットワークを経由してアクセス可能な任意の場所に常駐してもよい。
ステップ1012では、メディアガイドアプリケーションは、データベース接続が成功したかどうかを判定する(例えば、制御回路304を介して)。メディアガイドアプリケーションは、ステップ1010からの接続要求へのデータベースからの応答を分析することによってその判定を行ってもよい。メディアガイドアプリケーションが、データベースへの接続に成功しない場合、プロセス1000は、ステップ1010に進む。ステップ1010では、メディアガイドアプリケーションは、別の接続の試行を行ってもよい。メディアガイドアプリケーションが、データベースが利用不可能であることを判定し、再び接続を試行する前に、具体的時間量を待機するであろう前に、任意の数の接続試行が行われてもよいことに留意されたい。メディアガイドアプリケーションは、ユーザにアラートし、および/または接続失敗と関連付けられたデータをログファイルに保存してもよい。データベース接続が成功する場合、プロセス1000は、ステップ1014に進む。
ステップ1014では、メディアガイドアプリケーションは、処理のために以前に選択されていないデータベースエントリを選択する、(例えば、制御回路304を介して)。ステップ1016では、メディアガイドアプリケーションは、更新クエリを生成し、選択されたデータベースエントリを更新する。クエリは、更新クエリを生成するために、更新されているデータベースと互換性がある、具体的アプリケーションプログラミングインターフェース(「API」)コールを含んでもよい。ステップ1018では、メディアガイドアプリケーションは、更新クエリをデータベースに伝送する(例えば、制御回路304を介してI/Oパス302を通して)。ステップ1020では、メディアガイドアプリケーションは、更新クエリへの応答をデータベースから受信し、ステップ1022では、更新が成功したかどうかを判定する。更新が成功する場合、プロセス1000は、ステップ1014に進む。そうでなければ、プロセス1000は、ステップ1024に進み、メディアガイドアプリケーションは、エラーを生成し、それをログに書き込む(例えば、制御回路304を介して)。ログは、記憶装置308内に記憶され得るメディアガイドアプリケーションと同一デバイス上に常駐してもよいことに留意されたい。加えて、または代替として、エラーログは、メディアコンテンツソース416および/またはメディアガイドデータソース418に常駐してもよい。
図10の説明は、本開示の任意の他の実施形態とともに使用されてもよいことが考慮される。加えて、プロセス1000のステップは、本開示の目的を促進するように、代替的な順序で、または並行して行われてもよい。例えば、メディアガイドアプリケーションは、性能を向上させるために、複数の論理プロセッサスレッドまたは物理的プロセッサを使用してもよい。さらに、プロセス1000は、分岐予測を組み込むことによって拡張されてもよい。プロセス1000は、適切に構成されたソフトウェアおよびハードウェアの組み合わせ上に実装されてもよく、プロセスのうちの1つまたはそれを上回る部分を実装するために、図3−4に関して議論されるデバイスまたは機器のいずれかが使用され得ることに留意されたい。
図11は、プロセス1000を実装するために使用され得る、可能性として考えられる擬似コードを図示する。図11の擬似コードは、任意の数のプログラミング言語および種々の異なるハードウェアで実装され得、スタイルおよび形式は、限定的として解釈されるべきではなく、むしろ、プロセス1000を実装するために使用されるコードと一致するであろうステップおよびプロシージャの一般的テンプレートであることが当業者に明白となるであろう。
ライン1102では、メディアガイドアプリケーションは、変数を初期化し、緊急アラートを受信するためのルーチンの開始に備えたサブルーチンを実行する(例えば、制御回路304を介して)。例えば、メディアガイドアプリケーションは、非一過性の記憶媒体(例えば、記憶デバイス308)からRAMの中へ、または処理回路306用のキャッシュの中へ命令をコピーしてもよい(例えば、制御回路304を介して)。メディアガイドアプリケーションは、ルーチン900の完了に応答して初期化サブルーチンを実行してもよい。
ライン1105では、メディアガイドアプリケーションは、メディアアセットエントリを読み出すための機能を実行する(例えば、制御回路304を介して)。メディアガイドアプリケーションは、図10のプロセス1000に関連して説明される任意の方法によってメディアアセットエントリを読み出してもよい。ライン1106では、メディアガイドアプリケーションは、プロセス800の一部として更新されたメディアアセットエントリを検出するための機能を実行する(例えば、制御回路304を介して)。メディアガイドアプリケーションは、それらのデータベースエントリへのポインタをアレイまたは別の適切なデータ構造内に記憶してもよい。
ライン1107では、メディアガイドアプリケーションは、任意のエントリが更新されたかどうかを判定する。エントリが更新されていない場合、メディアガイドアプリケーションは、終了サブルーチンを実行する(例えば、制御回路304を介して)。終了サブルーチンは、図9に関連して説明される終了サブルーチンに類似してもよい。メディアガイドアプリケーションが、少なくとも1つのメディアアセットエントリが更新されたことを判定する場合、メディアガイドアプリケーションは、ライン1109に進み、「if」条件文は、終了する。ライン1110では、メディアガイドアプリケーションは、ステータス変数をゼロに設定する(例えば、制御回路304を介して)。
ライン1111では、メディアガイドアプリケーションはステータス変数がゼロ以外の値に設定されるまで反復するであろう、whileループを実行する(例えば、制御回路304を介して)。ライン1112では、メディアガイドアプリケーションは、データベースに接続するための機能を実行する(例えば、制御回路304を介して)。機能が成功する場合、ステータス変数は、ゼロ以外の数に設定される。ある数の試み後、接続試行を停止するために、さらなる擬似コードが追加されてもよいことに留意されたい。他の擬似コードも、再開前に具体的時間量にわたって接続試行を停止するために追加されてもよい。そのような擬似コードは、図11にデータベースを更新する具体的ステップに焦点を当てさせるために含まれていない。ライン1113では、メディアガイドアプリケーションは、whileループの次のステップを実行する(例えば、制御回路304を介して)。
データベース接続が成功すると、メディアガイドアプリケーションは、ライン1114において、更新をデータベースに伝送するために、「Forループ」を実行し、各更新されたエントリを通して反復する。ライン1115では、メディアガイドアプリケーションは、データベースを処理されている現在のエントリで更新するためのクエリを生成するための機能を実行する(例えば、制御回路304を介して)。クエリが作成されると、ライン1116において、データベースに伝送される。ライン1117では、メディアガイドアプリケーションは、更新が成功したかどうかを判定する(例えば、制御回路304を介して)。更新が成功しない場合、メディアガイドアプリケーションは、エラーをログファイルに書き込むための機能を実行する(例えば、制御回路304を介して)。エラーは、エラーが生じた理由に関連する任意の情報を含んでもよい。ライン1119では、「if」条件文は、終了する。ライン1120では、メディアガイドアプリケーションは、「Forループ」の次のステップに進む。ライン1122では、メディアガイドアプリケーションは、終了サブルーチンを実行する。例えば、メディアガイドアプリケーションは、メモリをクリーンアップし、もはや必要とされない変数を破棄してもよい。
図11における擬似コードは、任意の数のプログラミング言語および種々の異なるハードウェアで実装され得、原始関数、論理評価、および機能評価の特定の選択肢および場所は、限定的であることを意図していないことに留意されたい。また、コードは、種々の論理評価の順序を操作し、単一の反復ループではなくて、いくつかの反復を並行して行うように、または入力または最終出力を根本的に変更することなく、実行時間および性能メトリックを別様に操作して最適化するように、リファクタリングされ得る、または書き換えられ得ることに留意されたい。
前述のように、プロセス500のステップ508では、メディアガイドアプリケーションは、表示のために、第2の複数のメディアアセットを生成する(例えば、制御回路304を介して)。図12のプロセス1200は、メディアガイドアプリケーションがプロセス500のステップ508において使用し得る、具体的ステップを例示する。ステップ1202では、メディアガイドアプリケーションは、メディアアセット識別子が表示される必要がある、時間期間および1つまたはそれを上回るコンテンツソースを判定する(例えば、制御回路304を介して)。例えば、メディアガイドアプリケーションは、ユーザが、午後5:00〜7:00の間のチャンネル1〜5に関するスケジューリング情報を確認することを所望することを示す入力を受信してもよい(例えば、ユーザ入力インターフェース31から)。それに応答して、メディアガイドアプリケーションは、午後5:00〜7:00の間のチャンネル1〜5に関する表示画面が表示される必要があることを判定してもよい。
ステップ1204では、メディアガイドアプリケーションは、時間期間および1つまたはそれを上回るコンテンツソースに基づいて、第2の複数のメディアアセット識別子を検索する(例えば、制御回路304を介して)。例えば、メディアアセット識別子は、データベース内に記憶されてもよい。メディアガイドアプリケーションは、時間間隔(例えば、午後5:00〜7:00)およびコンテンツソース(例えば、チャンネル1〜5)を検索パラメータとして含む、クエリを作成してもよい。メディアガイドアプリケーションは、メディアガイドアプリケーションが常駐するデバイスの記憶装置308内のメディアアセット識別子に対して検索を行ってもよい。代替として、または加えて、メディアガイドアプリケーションは、メディアコンテンツソース416および/またはメディアガイドデータソース418内のメディアアセット識別子を検索してもよい。例えば、メディアガイドアプリケーションが検索基準に適合する任意のメディアアセット識別子を記憶装置308内に見出さない事例では、メディアガイドアプリケーションは、メディアコンテンツソース416および/またはメディアガイドデータソース418に対して検索を行ってもよい。
ステップ1206では、メディアガイドアプリケーションは、検索の結果として少なくとも1つのメディアアセット識別子が識別されたかどうかを判定する(例えば、制御回路304を介して)。メディアアセット識別子が検索の結果として識別されない場合、プロセス1200は、ステップ1208に進む。ステップ1208では、メディアガイドアプリケーションは、表示のために、メッセージをユーザに生成し、いずれのメディアアセット識別子も検索基準を満たさないことをユーザに知らせる(例えば、ユーザが、何も伝送されない時間期間およびチャンネルを選定した事例において)(例えば、制御回路304を介して)。少なくとも1つのメディアアセット識別子が見出される場合、プロセス1200は、ステップ1210に進む。ステップ1210では、メディアガイドアプリケーションは、以前に選択されていない任意のさらなるメディアアセット識別子が残っていないかどうかを判定する(例えば、制御回路304を介して)。全メディアアセット識別子が以前に選択されている場合、プロセス1200は、ステップ1212に進み、終了する。少なくとも1つのメディアアセット識別子が以前に選択されていない場合、プロセス1200は、ステップ1214に進む。
ステップ1214では、メディアガイドアプリケーションは、メディアアセット識別子を以前に選択されていない第2の複数のメディアアセット識別子から選択する(例えば、制御回路304を介して)。ステップ1216では、メディアガイドアプリケーションは、選択されたメディアアセット識別子に対応するメディアアセットデータベースエントリを読み出す(例えば、制御回路304を介して)。メディアガイドアプリケーションは、メディアアセット識別子の具体的IDを含むデータベースへのクエリを生成することによって、読出動作を行ってもよい。ステップ1218では、メディアガイドアプリケーションは、読み出されるメディアアセットデータベースエントリが競合インジケータを含むかどうかを判定する(例えば、制御回路304を介して)。メディアガイドアプリケーションが、競合インジケータがメディアアセットデータベースエントリ内に含まれないことを判定する場合、プロセス1200は、ステップ1220に進み、メディアガイドアプリケーションは、表示のために、メディアアセット識別子を生成する(例えば、制御回路304を介して、ディスプレイ312上に)。例えば、メディアガイドアプリケーションは、メディアアセットデータベースエントリと関連付けられたデータを送信し、情報をディスプレイ(例えば、ディスプレイ312)上にレンダリングすることができる、同一デバイス内にレンダリングしてもよい。プロセス1200は、次いで、ステップ1210に進む。しかしながら、メディアアセットデータベースエントリが、競合インジケータを含む場合、プロセス1200は、ステップ1222に進む。
ステップ1222では、メディアガイドアプリケーションは、競合インジケータに対応する視覚的インジケータを識別する(例えば、制御回路304を介して)。例えば、異なる視覚的インジケータが、メディアガイドアプリケーションに利用可能であってもよい。いくつかの事例では、メディアガイドアプリケーションは、競合インジケータの一部として、対応する視覚的インジケータへのリンクを記憶してもよい。いくつかの事例では、視覚的インジケータは、メディアアセットデータベースエントリ内に記憶されてもよく、メディアガイドアプリケーションは、それを読み出してもよい。
ステップ1124では、メディアガイドアプリケーションは、表示のために、選択されたメディアアセット識別子を視覚的インジケータとともに生成する(例えば、制御回路304を介して、ディスプレイ312上に)。プロセス1200は、次いで、ステップ1210に進む。
図12の説明は、本開示の任意の他の実施形態とともに使用されてもよいことが考慮される。加えて、プロセス1200のステップは、本開示の目的を促進するように、代替的な順序で、または並行して行われてもよい。例えば、メディアガイドアプリケーションは、性能を向上させるために、複数の論理プロセッサスレッドまたは物理的プロセッサを使用してもよい。さらに、プロセス1200は、分岐予測を組み込むことによって拡張されてもよい。プロセス1200は、適切に構成されたソフトウェアおよびハードウェアの組み合わせ上に実装されてもよく、プロセスのうちの1つまたはそれを上回る部分を実装するために、図3−4に関して議論されるデバイスまたは機器のいずれかが使用され得ることに留意されたい。
図13は、プロセス1200を実装するために使用され得る、可能性として考えられる擬似コードを図示する。図13の擬似コードは、任意の数のプログラミング言語および種々の異なるハードウェアで実装され得、スタイルおよび形式は、限定的として解釈されるべきではなく、むしろ、プロセス1200を実装するために使用されるコードと一致するであろうステップおよびプロシージャの一般的テンプレートであることが当業者に明白となるであろう。
ライン1302では、メディアガイドアプリケーションは、変数を初期化し、緊急アラートを受信するためのルーチンの開始に備えたサブルーチンを実行する(例えば、制御回路304を介して)。例えば、メディアガイドアプリケーションは、非一過性の記憶媒体(例えば、記憶デバイス308)からRAMの中へ、または処理回路306用のキャッシュの中へ命令をコピーしてもよい(例えば、制御回路304を介して)。メディアガイドアプリケーションは、ルーチン1100の完了に応答して初期化サブルーチンを実行してもよい。
ライン1305および1306では、メディアガイドアプリケーションは、表示されるべき時間期間およびコンテンツソースを読み出す(例えば、制御回路304を介して)。図12に関連して議論されるように、時間期間およびコンテンツソースは、ユーザによって要求されてもよい。ライン1307では、メディアガイドアプリケーションは、表示される必要があるメディアアセット識別子を検索するためのクエリを作成するための機能を実行する(例えば、制御回路304を介して)。ライン1308では、メディアガイドアプリケーションは、要求されるメディアアセット識別子に関してデータベースにクエリするための機能を実行する(例えば、制御回路304を介して)。クエリは、図12に関連して説明されるものと同一様式で作成されてもよい。クエリに応答して、メディアガイドアプリケーションは、クエリと合致するメディアアセット識別子を返してもよい。メディアガイドアプリケーションは、メディアアセット識別子をアレイまたは別の適切なデータ構造内に記憶してもよい。
ライン1309では、メディアガイドアプリケーションは、アレイが任意のデータを含むかどうかを判定する(例えば、制御回路304を介して)。アレイが任意のデータを含まない場合、メディアガイドアプリケーションは、ライン1322において終了サブルーチンを実行する。アレイが少なくともいくつかのデータを含む場合、メディアガイドアプリケーションはライン1310において、各見出されるメディアアセット識別子を通して反復する、「forループ」を実行する(例えば、制御回路304を介して)。
ライン1311では、メディアガイドアプリケーションは、データベースエントリと関連付けられたデータを読み出し、データを変数内に記憶するための機能を実行する(例えば、制御回路304を介して)。ライン1312では、メディアガイドアプリケーションは、データが競合インジケータを含むかどうかを判定する(例えば、制御回路304を介して)。競合インジケータが含まれない場合、データは、レンダリングされるためにディスプレイに追加される。競合インジケータがデータ内に含まれる場合、メディアガイドアプリケーションは、ライン1313において、競合インジケータと関連付けられた視覚的インジケータを見出し、それを読み出すための機能を実行する(例えば、制御回路304を介して)。メディアガイドアプリケーションは、図12に関連して説明される任意の様式で本動作を行ってもよい。ライン1314では、メディアガイドアプリケーションは、メディアアセット識別子およびインジケータを表示されるべき画面に追加するための機能を実行する(例えば、制御回路304を介して)。ライン1318では、メディアガイドアプリケーションは、「forループ」の次のステップを実行する(例えば、制御回路304を介して)。ライン1319では、メディアガイドアプリケーションは、データを表示のためにレンダリングするための機能を実行する(例えば、制御回路304を介して)。ライン1322では、メディアガイドアプリケーションは、終了サブルーチンを実行する。例えば、メディアガイドアプリケーションは、メモリをクリーンアップし、もはや必要とされない変数を破棄してもよい。
図13における擬似コードは、任意の数のプログラミング言語および種々の異なるハードウェアで実装され得、原始関数、論理評価、および機能評価の特定の選択肢および場所は、限定的であることを意図していないことに留意されたい。また、コードは、種々の論理評価の順序を操作し、単一の反復ループではなくて、いくつかの反復を並行して行うように、または入力または最終出力を根本的に変更することなく、実行時間および性能メトリックを別様に操作して最適化するように、リファクタリングされ得る、または書き換えられ得ることに留意されたい。
いくつかの実施形態では、メディアガイドアプリケーションは、ユーザが異なる優先順位のイベントと重複するメディアアセットを視覚的に区別することを可能にしてもよい。具体的には、メディアガイドアプリケーションは、第1の部分内の第1のメディアアセット識別子に対応する第1のメディアアセットの伝送時間と少なくとも部分的に重複する、複数のイベントの第1のイベントの第1の優先順位を判定してもよい。例えば、カレンダデータは、メディアガイドアプリケーションがカレンダアプリケーションから読み出す優先順位データを有してもよい。メディアガイドアプリケーションは、単に、特定のイベントに関するイベントデータベースエントリにアクセスすることによって、イベントの優先順位を判定してもよい。加えて、または代替として、メディアガイドアプリケーションは、イベントの一部であるキーワードに基づいて、各イベントの優先順位を判定してもよい。例えば、メディアガイドアプリケーションは、合致する場合、イベントを高優先順位に昇格させ得る、キーワードのセットへのアクセスを有してもよい。メディアガイドアプリケーションは、イベントデータベースエントリ内の全単語をキーワードに合致させ、任意のキーワードが合致するかどうかを判定してもよい。いくつかの実施形態では、1つのキーワードが合致する場合、イベントは、高優先順位イベントとして指定されてもよい。
他の実施形態では、イベントが高優先順位イベントに昇格されるために、閾値数の単語が合致しなければならない。閾値は、ユーザまたはシステムのアドミニストレータによって設定されてもよい。いくつかの実施形態では、各キーワードは、加重と関連付けられてもよく、閾値は、加重された値であってもよい。したがって、適切な加重値を伴う十分なキーワードが合致する場合、イベントは、高優先順位イベントに昇格されてもよい。
メディアガイドアプリケーションは、第1の部分内の第2のメディアアセット識別子に対応する第2のメディアアセットの伝送時間と少なくとも部分的に重複する、複数のイベントの第2のイベントの第2の優先順位を判定してもよい。第2の優先順位は、第1の優先順位と全く同一様式で判定されてもよい。
メディアガイドアプリケーションは、第2の優先順位と異なる第1の優先順位に基づいて、第1の部分内の第1のメディアアセット識別子を第1の部分内の第2のメディアアセット識別子から視覚的に区別してもよい。例えば、メディアガイドアプリケーションは、高優先順位と関連付けられたメディアアセット識別子を赤色で、より低い優先順位を緑色でレンダリングしてもよい。
いくつかの実施形態では、異なる視覚的インジケータが、異なる優先順位と関連付けられてもよく、メディアガイドアプリケーションは、ユーザが、異なる視覚的インジケータを介して、異なる優先順位イベントと重複するメディアアセットを視覚的に区別することを可能にしてもよい。具体的には、メディアガイドアプリケーションは、第1の優先順位と関連付けられた第1の視覚的インジケータおよび第2の優先順位と関連付けられた第2の視覚的インジケータを記憶してもよい。メディアガイドアプリケーションは、これらのインジケータをデータベーステーブル内に対応する優先順位とともに記憶してもよい。メディアガイドアプリケーションは、表示のために、第1の視覚的インジケータを伴う第1のメディアアセット識別子および第2の視覚的インジケータを伴う第2のメディアアセット識別子を生成してもよい。
図14は、異なる優先順位のための異なる視覚的インジケータを含む、1つの可能性として考えられる表示を例示する。表示1400のエリア1404は、水平スケール1406上の異なる時間期間および垂直軸1420上のチャンネル番号のグリッド表示を含む。「Game of Thrones」に対応するメディアアセット識別子1412は、ユーザに「Game of Thrones」が低優先順位イベントと重複することを示すように、1つの様式で陰影されている。メディアアセット識別子1408は、異なる陰影を介して、メディアアセット識別子1412から視覚的に区別される。本事例では、メディアアセット識別子1408は、高優先順位イベントと重複するメディアアセットに対応する。メディアアセット識別子1410もまた、高優先順位イベントと重複することを示すために陰影されている。しかしながら、ユーザに本メディアアセット識別子の一部のみがイベントと重複することを示すために、メディアアセット識別子1410の一部のみが陰影されている。「News」を表すメディアアセット識別子1416は、本メディアアセット識別子と関連付けられたメディアアセットが任意のイベントと重複していないことを示すために、陰影されていない。凡例1418は、ユーザに、各タイプの陰影の意味を示す。異なる陰影が、異なる優先順位のために使用されてもよいことに留意されたい。また、他の優先順位も、図14内に異なる陰影とともに含めるために可能性として考えられることに留意されたい。また、メディアアセット識別子を特定の方法で陰影する代わりに、メディアアセット識別子は、異なる色(例えば、高優先順位イベントとの重複に関しては赤色、低優先順位イベントとの重複に関しては緑色、および無重複に関しては青色)であってもよいことに留意されたい。
エリア1402は、現在選択されているメディアアセット1408「Will and Grace」に関するさらなる情報を提供する。エリア1402の内側では、エリア1414が、イベント「Will and Grace」についてのいくつかの詳細、具体的には、イベントの説明、開始時間、および終了時間を示す。また、「Will and Grace」が高優先順位イベントと重複するため、イベントを再スケジュールするためのオプションは、提示されないことに留意されたい。代わりに、メディアアセットを記録するためのオプションが、エリア1414の内側においてユーザに利用可能である。
いくつかの実施形態では、図14に説明されるように、メディアガイドアプリケーションは、ユーザが重複イベントを再スケジュールすることを可能にしてもよい。具体的には、メディアガイドアプリケーションは、第1の優先順位を再スケジュールされ得る複数のイベントのそれらのイベントに割り当て、第2の優先順位を再スケジュールされ得ない複数のイベントのそれらのイベントに割り当ててもよい。第1のメディアアセット識別子のユーザ選択に応答して、メディアガイドアプリケーションは、表示のために、第1のイベントと関連付けられたカレンダデータを生成し、第1のイベントを再スケジュールするためのオプションをユーザに提供してもよい。ユーザが重複イベントを再スケジュールするためのオプションを選択する場合、メディアガイドアプリケーションは、表示のために、イベントの詳細(例えば、開始時間、終了時間、説明、主題、リマインダ情報等)を含み得るフォームを生成してもよい。メディアガイドアプリケーションは、ユーザが情報を編集することを可能にしてもよい。いったんユーザが情報の編集を完了すると、ユーザは、編集されたフォームをサブミットしてもよい。メディアガイドアプリケーションは、ユーザがイベントの編集を完了したことのインジケーションをユーザから受信してもよい(例えば、ユーザがサブミットオプションを選択することによって)。メディアガイドアプリケーションは、次いで、編集されたイベントをカレンダアプリケーションに伝送し、メディアアセット識別子のデータベースを更新し、競合インジケータを適切なメディアアセット識別子から除去してもよい。
第2のメディアアセット識別子のユーザ選択に応答して、メディアガイドアプリケーションは、表示のために、第2のイベントと関連付けられたカレンダデータを生成し、第2のメディアアセットを記録するためのオプションをユーザに提供してもよい。メディアガイドアプリケーションは、表示のために、メディアアセットを記録するための1つまたはそれを上回るオプションを生成してもよい、または、メディアアセットが実際にはシリーズの一部である場合、メディアアセットが関連付けられたシリーズを記録するための1つまたはそれを上回るオプションを生成してもよい。
いくつかの実施形態では、メディアアセットガイドアプリケーションは、エリア1404内における表示のために、メディアアセットのシリーズについての情報を生成し、重複情報をディスプレイ内に含めてもよい。本明細書で参照されるように、用語「シリーズ」は、共通特性を共有する、複数のメディアアセットを指す。例えば、メディアガイドアプリケーションは、表示のために、シリーズと関連付けられたメディアアセットに対応するメディアアセット識別子(例えば、NBA決勝戦の1〜7戦に対応するメディアアセット識別子)を生成してもよい。本事例では、メディアガイドアプリケーションは、表示のために、少なくとも1つのイベントと重複する各試合とともに、それらの試合をイベントと重複しない試合から視覚的に区別する視覚的インジケータを生成してもよい。いくつかの実施形態では、メディアガイドアプリケーションは、表示のために、ユーザが少なくとも1つのイベントと重複するメディアアセットに対応する表示されるメディアアセット識別子のうちの1つを選択することに応答して、重複イベントの詳細を生成してもよい。
いくつかの実施形態では、メディアガイドアプリケーションは、第3の優先順位(例えば、中間優先順位)をいくつかのイベントに割り当ててもよい。例えば、中間優先順位イベントは、ある状況下で移動され得る、それらのイベントであってもよい。中間優先順位イベントと重複するメディアアセットに対応するメディアアセット識別子に関して、メディアガイドアプリケーションは、再スケジューリング要求をイベントの他の参加者に伝送するためのオプションをユーザに提供(例えば、表示のために生成)してもよい。メディアガイドアプリケーションはさらに、他の参加者から、再スケジューリング要求が容認可能であるかどうかの応答を受信してもよい。全他の参加者が合意する場合、メディアガイドアプリケーションは、イベントを再スケジュールすることに進み、ユーザに変更を通知してもよい。全参加者が合意しない場合、メディアガイドアプリケーションは、イベントを再スケジュールしなくてもよい。
いくつかの実施形態では、第1の部分内のメディアアセット識別子は、第1のタイプのインジケータによって第2の部分内のメディアアセット識別子から視覚的に区別され、第1のメディアアセット識別子は、第2のタイプのインジケータを伴う第2のメディアアセット識別子から視覚的に区別される。例えば、第1の部分内のメディアアセット識別子(すなわち、少なくとも1つのイベントと重複するメディアアセットに対応する)は、異なる色によって、第1の部分内のメディアアセット識別子から区別されてもよい(例えば、赤色対青色)。加えて、高優先順位イベントと重複するメディアアセットに対応するメディアアセット識別子は、低優先順位イベントと重複するメディアアセットに対応するメディアアセット識別子が、アイコンを有していなくてもよい、または異なるアイコンを有してもよいことを示す、アイコンを含んでもよい。インジケータのタイプの実施例は、色、陰影、アイコン、テキストインジケーションを含んでもよい。
いくつかの実施形態では、メディアガイドアプリケーションは、複数のイベントのイベント時間間隔と第1の複数のメディアアセットのメディアアセット時間間隔とを比較するとき、以下のステップを行ってもよい。メディアガイドアプリケーションは、複数のイベントの第1のイベントに関して、第1の開始時間および第1の終了時間を読み出してもよい。例えば、第1のイベントは、メディアガイドデータベースが常駐する同一デバイス上のデータベースである記憶装置308内に記憶されてもよい。加えて、または代替として、第1のイベントは、異なる場所(例えば、メディアコンテンツソース416および/またはメディアガイドデータソース418)内に記憶されてもよい。それらの事例では、メディアガイドアプリケーションは、ネットワーク(例えば、通信ネットワーク414)を介して、第1のイベントを遠隔ソースから読み出してもよい。
メディアガイドアプリケーションは、第1の複数のメディアアセット内の第1のメディアアセットに関して、第2の開始時間および第2の終了時間を読み出してもよい。第1のメディアアセットは、第1のイベントと同一場所から読み出されてもよい。イベントおよびメディアアセット識別子は両方とも、同一データベースまたは異なるデータベース内に記憶されてもよいことに留意されたい。メディアガイドアプリケーションは、第1の開始時間と第2の開始時間および第2の終了時間とを比較し、第1の終了時間と第2の開始時間および第2の終了時間とを比較してもよい。メディアガイドアプリケーションは、重複が存在するかどうかを判定するために、日付および時間間の簡単な数学的比較を行ってもよい。第1の開始時間または第1の終了時間が第2の開始時間と第2の終了時間との間にあることの判定に基づいて、メディアガイドアプリケーションは、第1のメディアアセットに関する第1の競合インジケータを生成してもよい。第1の競合インジケータは、重複イベントの優先順位およびその優先順位のための指定されたインジケータを判定することによって生成されてもよい。前述のように、競合インジケータは、イベントへのポインタを含んでもよい。
いくつかの実施形態では、メディアガイドアプリケーションは、ユーザが、ユーザが消費することを所望するメディアアセットのメディアアセット伝送時間に基づいて、イベントを作成することを可能にしてもよい。具体的には、第1の部分内の第1のメディアアセット識別子のユーザ選択に応答して、メディアガイドアプリケーションは、表示のために、第1のメディアアセット識別子と関連付けられた第1のメディアアセットに対応する新しいイベントを作成するためのオプションを生成してもよい。オプションのユーザ選択に応答して、メディアガイドアプリケーションは、それぞれ、第1のメディアアセットのメディアアセット開始時間およびメディアアセット終了時間に対応するイベント開始時間およびイベント終了時間を有する、新しいイベントを作成してもよい。例えば、メディアガイドアプリケーションは、表示のために、ユーザが新しいイベントを作成するために編集し得るフォームを生成してもよい。フォームは、メディアアセットの開始時間、メディアアセットの終了時間、およびタイトルを他の適切な情報とともに事前に埋められてもよい。ユーザがフォームの編集を完了すると、メディアガイドアプリケーションは、イベントを作成するためのユーザ入力を受信してもよい。メディアガイドアプリケーションは、新しいイベントをカレンダアプリケーションに伝送してもよい。
いくつかの実施形態では、メディアガイドアプリケーションは、ユーザが将来の時間のためにスケジュールされているメディアアセットを消費するように別のユーザを招待することを可能にしてもよい。具体的には、メディアガイドアプリケーションは、カレンダアプリケーションから、異なるユーザと関連付けられた複数のイベントに関するカレンダデータを受信してもよく、異なるユーザと関連付けられたカレンダデータは、関連付けられたイベント開始時間および終了時間を有するイベント時間間隔を含む。メディアガイドアプリケーションは、図6に関連して説明されるものと同一様式でカレンダデータを読み出してもよい。
第2の複数のメディアアセットの第1の部分内の第1のメディアアセット識別子のユーザ選択に応答して、メディアガイドアプリケーションは、第1のメディアアセット識別子と関連付けられたメディアアセットの伝送時間が異なるユーザと関連付けられたイベント時間間隔のうちの少なくとも1つと少なくとも部分的に重複するかどうかを判定してもよい。メディアガイドアプリケーションは、図8および10に関連して説明されるものと同一様式で判定を行ってもよい。第1のメディアアセット識別子と関連付けられたメディアアセットは、異なるユーザと関連付けられたイベント時間間隔のうちの少なくとも1つと少なくとも部分的に重複しないことの判定に基づいて、メディアガイドアプリケーションは、表示のために、第1のメディアアセット識別子と関連付けられたメディアアセットを消費するように異なるユーザを招待するためのオプションを生成してもよい。ユーザがオプションを選択すると、メディアガイドアプリケーションは、異なるユーザと通信するための手段を判定してもよい。例えば、メディアガイドアプリケーションは、異なるユーザの電子メールアドレスまたはソーシャルネットワークユーザ名に関してユーザに促してもよい。メディアガイドアプリケーションは、次いで、メッセージを電子メールアドレスまたは異なるユーザのソーシャルネットワークアカウントに伝送してもよい。
いくつかの実施形態では、メディアガイドアプリケーションは、ユーザが具体的メディアアセットを消費または記録するようにスケジュールされているユーザのソーシャルネットワーキング友達を判定することを可能にしてもよい。具体的には、メディアガイドアプリケーションは、ソーシャルネットワーキングアプリケーションと関連付けられたサーバから、ユーザの友達と関連付けられた複数のユーザ識別子を読み出してもよい。例えば、メディアガイドアプリケーションは、ユーザに、ユーザのソーシャルネットワーキング認証情報を入力するように促してもよい。加えて、または代替として、メディアガイドアプリケーションは、すでに記憶されている(例えば、記憶装置308内に)ユーザのソーシャルネットワーキング証明書を有してもよい。メディアガイドアプリケーションは、初期設定の際にユーザのソーシャルネットワーキング証明書を促すように構成されてもよい。
メディアガイドアプリケーションは、複数のユーザ識別子内のユーザ識別子毎に、各友達と関連付けられた複数のイベントに関するカレンダデータを読み出してもよく、カレンダデータは、関連付けられたイベント開始時間および終了時間を有するイベント時間間隔を含む。メディアガイドアプリケーションは、図6に説明される任意のプロセスによって、カレンダデータを読み出してもよい。さらに、メディアガイドアプリケーションは、ソーシャルネットワーキングアプリケーションにアクセスすることによって、友達の電子メールアドレスを判定してもよい。メディアガイドアプリケーションは、次いで、友達の電子メールアドレスを使用して、友達のカレンダデータにアクセスしてもよい。
第2の複数のメディアアセット識別子内の第1のメディアアセット識別子のユーザ選択に応答して、メディアガイドアプリケーションは、表示のために、第1のメディアアセット識別子に対応するメディアアセットを消費するようにスケジュールされているユーザのそれらの友達と関連付けられた1つまたはそれを上回るユーザ識別子を生成してもよい。例えば、メディアガイドアプリケーションは、表示のために、友達のユーザ名をソーシャルネットワーキングアプリケーションから生成してもよい。加えて、または代替として、メディアガイドアプリケーションは、表示のために、ソーシャルネットワーキングアプリケーションから読み出される友達の写真を生成してもよい。
いくつかの実施形態では、メディアガイドアプリケーションは、ユーザが具体的イベントをキャンセルした事例では、重複を除去するように構成されてもよい。周期的に、メディアガイドアプリケーションは、カレンダアプリケーションから、時間間隔を含むカレンダデータを読み出してもよい。メディアガイドアプリケーションは、既存のイベントと読み出されるイベントとを比較してもよく、読み出されるイベント内にも含まれない任意の既存のイベントに関して、メディアガイドアプリケーションは、それらのイベントを既存のイベントから除去し、また、競合インジケータを適切なメディアアセット識別子およびそのメディアアセットデータベースエントリから除去してもよい。
いくつかの実施形態では、メディアガイドアプリケーションは、ユーザに関する複数のカレンダを読み出してもよい。例えば、メディアガイドアプリケーションは、仕事用カレンダおよび個人用カレンダを読み出してもよい。いくつかの事例では、仕事用カレンダからのイベントは、「高」優先順位を伴って指定され、個人用カレンダからのイベントは、「低」優先順位イベントを伴って指定されてもよい。
いくつかの実施形態では、メディアガイドアプリケーションは、異なる時間におけるイベントと重複し、メディアアセットがオンデマンドで利用可能である場合、メディアアセットの消費に関してユーザがスケジュールするためのオプションを提供してもよい。例えば、メディアガイドアプリケーションは、あるイベントと重複するメディアアセットに対応するメディアアセット識別子のユーザ選択を受信してもよい。メディアガイドアプリケーションは、オンデマンドメディアアセットを検索し、メディアアセットがオンデマンドで利用可能であるかどうかを判定してもよい。メディアアセットがオンデマンドで利用可能である場合、メディアガイドアプリケーションは、表示のために、ユーザが示す時間にメディアアセットを消費するようにスケジュールするためのオプションをユーザに生成してもよい。
いくつかの実施形態では、メディアガイドアプリケーションは、メディアアセット伝送時間が、イベントと重複しないが、イベントまで、またはイベントからの移動時間と重複し得る事例では、ユーザに重複を警告してもよい。例えば、ユーザが、午後2:00の飛行機に搭乗し、メディアアセットが1:45に終了する場合、メディアガイドアプリケーションは、ユーザが空港までの移動時間を要する必要があり、飛行機が出発するある時間量(例えば、2時間)前に空港に到着している必要があり得るため、そのメディアアセットを視覚的に区別してもよい。メディアガイドアプリケーションは、イベントを分析し、イベントの場所を判定してもよい。メディアガイドアプリケーションは、イベントの場所をイベントと関連付けられた要素のうちの1つとしてカレンダアプリケーションから受信してもよい。メディアガイドアプリケーションは、次いで、その時間を開始時間またはイベントの終了時間のいずれかに加算し、重複時間を延長させてもよい。
いくつかの実施形態では、メディアガイドアプリケーションは、イベントの場所およびイベントと関連付けられたキーワード(例えば、イベントの説明)と既知のイベントタイプとを比較し、ユーザが、そのイベントのために、開始時間の具体的時間量前に到着していることが要求されるかどうかを判定してもよい。例えば、メディアガイドアプリケーションは、飛行機の出発、電車の出発等のイベントタイプを含む、テーブルにアクセス可能であってもよい。メディアガイドアプリケーションが、メディアガイドアプリケーションによって処理されているイベントに対応するテーブル内のイベントを識別すると、メディアガイドアプリケーションは、その時間量を開始時間または終了時間に加算し(例えば、ユーザが空港から移動中であるとき)、重複を延長させてもよい。いくつかの事例では、イベントは、テーブル内のイベントのタイプと合致せず、したがって、重複時間をさらに延長しないであろうことに留意されたい。テーブルは、記憶装置308内に位置するデータベース内に記憶されてもよい。加えて、または代替として、テーブルは、メディアコンテンツソース416および/またはメディアガイドデータソース418に位置するデータベース内に記憶されてもよい。
本開示の前述の実施形態は、限定ではなく、例証目的のために提示され、本開示は、続く請求項によってのみ限定される。さらに、いずれか1つの実施形態で説明される特徴および制限は、本明細書の任意の他の実施形態に適用され得、一実施形態に関するフローチャートまたは実施例は、好適な様式で任意の他の実施形態と組み合わせられ、異なる順序で行われ、または並行して行われ得ることに留意されたい。加えて、本明細書で説明されるシステムおよび方法は、リアルタイムで行われてもよい。また、上記で説明されるシステムおよび/または方法は、他のシステムおよび/または方法に適用され、またはそれらに従って使用され得ることにも留意されたい。

Claims (50)

  1. カレンダ情報をメディアガイドアプリケーション内に提示するための方法であって、
    カレンダアプリケーションから、ユーザと関連付けられた複数のイベントに関するカレンダデータを受信するステップであって、前記カレンダデータは、関連付けられたイベント開始時間および終了時間を有するイベント時間間隔を備える、ステップと、
    前記複数のイベントのイベント時間間隔と第1の複数のメディアアセットのメディアアセット時間間隔とを比較するステップであって、前記第1の複数のメディアアセットの各メディアアセットは、関連付けられたメディアアセット開始時間および終了時間を有し、対応するメディアアセット時間間隔の間、複数のユーザへの伝送のためにスケジュールされている、ステップと、
    前記比較に基づいて、対応するメディアアセットデータベースエントリ内に、第2の複数のメディアアセットに対応する第1の複数のメディアアセット識別子に関する競合インジケータを記憶するステップであって、前記第2の複数のメディアアセットは、前記イベント時間間隔のうちの少なくとも1つと少なくとも部分的に重複する関連付けられたメディアアセット時間間隔を有する、前記第1の複数のメディアアセットからのメディアアセットを備える、ステップと、
    表示のために、ある時間期間の間の前記複数のユーザへの伝送のためにスケジュールされているメディアアセットに対応する第2の複数のメディアアセット識別子を生成するステップであって、前記第2の複数のメディアアセット識別子は、前記第1の複数のメディアアセット識別子内に含まれるメディアアセット識別子を備える第1の部分および前記第1の複数のメディアアセット識別子内に含まれないメディアアセット識別子を含む第2の部分を備え、前記第1の部分内のメディアアセット識別子は、前記第2の部分内のメディアアセット識別子から視覚的に区別される、ステップと
    を含む、方法。
  2. 前記第1の部分内の第1のメディアアセット識別子に対応する第1のメディアアセットの伝送時間と少なくとも部分的に重複する、前記複数のイベントの第1のイベントの第1の優先順位を判定するステップと、
    前記第1の部分内の第2のメディアアセット識別子に対応する第2のメディアアセットの伝送時間と少なくとも部分的に重複する、前記複数のイベントの第2のイベントの第2の優先順位を判定するステップと、
    前記第2の優先順位と異なる前記第1の優先順位に基づいて、前記第1の部分内の第1のメディアアセット識別子を前記第1の部分内の第2のメディアアセット識別子から視覚的に区別するステップと
    をさらに含む、請求項1に記載の方法。
  3. 前記第1の優先順位と関連付けられた第1の視覚的インジケータおよび前記第2の優先順位と関連付けられた第2の視覚的インジケータを記憶するステップと、
    表示のために、前記第1の視覚的インジケータを伴う前記第1のメディアアセット識別子および前記第2の視覚的インジケータを伴う前記第2のメディアアセット識別子を生成するステップと
    をさらに含む、請求項2に記載の方法。
  4. 前記第1の優先順位を再スケジュールされ得る前記複数のイベントのそれらのイベントに割り当て、前記第2の優先順位を再スケジュールされ得ない前記複数のイベントのそれらのイベントに割り当てるステップと、
    前記第1のメディアアセット識別子のユーザ選択に応答して、表示のために、前記第1のイベントと関連付けられたカレンダデータを生成し、前記第1のイベントを再スケジュールするためのオプションをユーザに提供するステップと、
    前記第2のメディアアセット識別子のユーザ選択に応答して、表示のために、前記第2のイベントと関連付けられたカレンダデータを生成し、前記第2のメディアアセットを記録するためのオプションを前記ユーザに提供するステップと
    をさらに含む、請求項2に記載の方法。
  5. 前記第1の部分内のメディアアセット識別子は、第1のタイプのインジケータによって前記第2の部分内のメディアアセット識別子から視覚的に区別され、前記第1のメディアアセット識別子は、第2のタイプのインジケータを伴う前記第2のメディアアセット識別子から視覚的に区別される、請求項2に記載の方法。
  6. 前記インジケータのタイプは、色、陰影、およびアイコンを備える、請求項5に記載の方法。
  7. 前記複数のイベントのイベント時間間隔と前記第1の複数のメディアアセットのメディアアセット時間間隔とを比較するステップは、
    前記複数のイベントの第1のイベントに関して、第1の開始時間および第1の終了時間を読み出すステップと、
    前記第1の複数のメディアアセット内の第1のメディアアセットに関して、第2の開始時間および第2の終了時間を読み出すステップと、
    前記第1の開始時間と前記第2の開始時間および前記第2の終了時間とを比較し、前記第1の終了時間と前記第2の開始時間および前記第2の終了時間とを比較するステップと、
    前記第1の開始時間または前記第1の終了時間が前記第2の開始時間と前記第2の終了時間との間にあることの判定に基づいて、前記第1のメディアアセットに関する第1の競合インジケータを生成するステップと
    を含む、請求項1に記載の方法。
  8. 前記第1の部分内の第1のメディアアセット識別子のユーザ選択に応答して、表示のために、前記第1のメディアアセット識別子と関連付けられた第1のメディアアセットに対応する新しいイベントを作成するためのオプションを生成するステップと、
    前記オプションのユーザ選択に応答して、それぞれ、前記第1のメディアアセットのメディアアセット開始時間およびメディアアセット終了時間に対応するイベント開始時間およびイベント終了時間を有する、前記新しいイベントを作成するステップと、
    前記新しいイベントを前記カレンダアプリケーションに伝送するステップと
    をさらに含む、請求項1に記載の方法。
  9. 前記カレンダアプリケーションから、異なるユーザと関連付けられた複数のイベントに関するカレンダデータを受信するステップであって、前記異なるユーザと関連付けられたカレンダデータは、関連付けられたイベント開始時間および終了時間を有するイベント時間間隔を備える、ステップと、
    前記第2の複数のメディアアセットの前記第1の部分内の第1のメディアアセット識別子のユーザ選択に応答して、前記第1のメディアアセット識別子と関連付けられたメディアアセットの伝送時間が前記異なるユーザと関連付けられた前記イベント時間間隔のうちの少なくとも1つと少なくとも部分的に重複するかどうかを判定するステップと、
    前記第1のメディアアセット識別子と関連付けられた前記メディアアセットの伝送時間が前記異なるユーザと関連付けられた前記イベント時間間隔のうちの少なくとも1つと少なくとも部分的に重複しないことの判定に基づいて、表示のために、前記第1のメディアアセット識別子と関連付けられたメディアアセットを消費するように前記異なるユーザを招待するためのオプションを生成するステップと
    をさらに含む、請求項1に記載の方法。
  10. ソーシャルネットワーキングアプリケーションと関連付けられたサーバから、前記ユーザの友達と関連付けられた複数のユーザ識別子を読み出すステップと、
    前記複数のユーザ識別子内のユーザ識別子毎に、各友達と関連付けられた複数のイベントに関するカレンダデータを読み出すステップであって、前記カレンダデータは、関連付けられたイベント開始時間および終了時間を有するイベント時間間隔を備える、ステップと、
    前記第2の複数のメディアアセット識別子内の第1のメディアアセット識別子のユーザ選択に応答して、表示のために、前記第1のメディアアセット識別子に対応するメディアアセットを消費するようにスケジュールされている前記ユーザのそれらの友達と関連付けられた1つまたはそれを上回るユーザ識別子を生成するステップと
    をさらに含む、請求項1に記載の方法。
  11. カレンダ情報をメディアガイドアプリケーション内に提示するためのシステムであって、
    記憶デバイスと、
    通信回路と、
    制御回路であって、
    カレンダアプリケーションから、通信回路を介して、ユーザと関連付けられた複数のイベントに関するカレンダデータを受信することであって、前記カレンダデータは、関連付けられたイベント開始時間および終了時間を有するイベント時間間隔を備える、ことと、
    前記複数のイベントのイベント時間間隔と第1の複数のメディアアセットのメディアアセット時間間隔とを比較することであって、前記第1の複数のメディアアセットの各メディアアセットは、関連付けられたメディアアセット開始時間および終了時間を有し、対応するメディアアセット時間間隔の間、複数のユーザへの伝送のためにスケジュールされる、ことと、
    前記比較に基づいて、前記記憶デバイスにおいて、対応するメディアアセットデータベースエントリ内に、第2の複数のメディアアセットに対応する第1の複数のメディアアセット識別子に関する競合インジケータを記憶することであって、前記第2の複数のメディアアセットは、前記イベント時間間隔のうちの少なくとも1つと少なくとも部分的に重複する関連付けられたメディアアセット時間間隔を有する、前記第1の複数のメディアアセットからのメディアアセットを備える、ことと、
    表示のために、ある時間期間の間の前記複数のユーザへの伝送のためにスケジュールされているメディアアセットに対応する第2の複数のメディアアセット識別子を生成することであって、前記第2の複数のメディアアセット識別子は、前記第1の複数のメディアアセット識別子内に含まれるメディアアセット識別子を備える第1の部分および前記第1の複数のメディアアセット識別子内に含まれないメディアアセット識別子を含む第2の部分を備え、前記第1の部分内のメディアアセット識別子は、前記第2の部分内のメディアアセット識別子から視覚的に区別される、ことと
    を行うように構成される、制御回路と、
    を備える、システム。
  12. 前記制御回路はさらに、
    前記第1の部分内の第1のメディアアセット識別子に対応する第1のメディアアセットの伝送時間と少なくとも部分的に重複する、前記複数のイベントの第1のイベントの第1の優先順位を判定することと、
    前記第1の部分内の第2のメディアアセット識別子に対応する第2のメディアアセットの伝送時間と少なくとも部分的に重複する、前記複数のイベントの第2のイベントの第2の優先順位を判定することと、
    前記第2の優先順位と異なる前記第1の優先順位に基づいて、前記第1の部分内の第1のメディアアセット識別子を前記第1の部分内の第2のメディアアセット識別子から視覚的に区別することと
    を行うように構成される、請求項11に記載のシステム。
  13. 前記制御回路はさらに、
    前記記憶デバイス内に、前記第1の優先順位と関連付けられた第1の視覚的インジケータおよび前記第2の優先順位と関連付けられた第2の視覚的インジケータを記憶することと、
    表示のために、前記第1の視覚的インジケータを伴う前記第1のメディアアセット識別子および前記第2の視覚的インジケータを伴う前記第2のメディアアセット識別子を生成することと
    を行うように構成される、請求項12に記載のシステム。
  14. 前記制御回路はさらに、
    前記第1の優先順位を再スケジュールされ得る前記複数のイベントのそれらのイベントに割り当て、前記第2の優先順位を再スケジュールされ得ない前記複数のイベントのそれらのイベントに割り当てることと、
    前記第1のメディアアセット識別子のユーザ選択に応答して、表示のために、前記第1のイベントと関連付けられたカレンダデータを生成し、前記第1のイベントを再スケジュールするためのオプションをユーザに提供することと、
    前記第2のメディアアセット識別子のユーザ選択に応答して、表示のために、前記第2のイベントと関連付けられたカレンダデータを生成し、前記第2のメディアアセットを記録するためのオプションを前記ユーザに提供することと
    を行うように構成される、請求項12に記載のシステム。
  15. 前記第1の部分内のメディアアセット識別子は、第1のタイプのインジケータによって前記第2の部分内のメディアアセット識別子から視覚的に区別され、前記第1のメディアアセット識別子は、第2のタイプのインジケータを伴う前記第2のメディアアセット識別子から視覚的に区別される、請求項12に記載のシステム。
  16. 前記インジケータのタイプは、色、陰影、およびアイコンを備える、請求項15に記載のシステム。
  17. 前記制御回路は、前記複数のイベントのイベント時間間隔と前記第1の複数のメディアアセットのメディアアセット時間間隔とを比較するとき、
    前記複数のイベントの第1のイベントに関して、第1の開始時間および第1の終了時間を読み出すことと、
    前記第1の複数のメディアアセット内の第1のメディアアセットに関して、第2の開始時間および第2の終了時間を読み出すことと、
    前記第1の開始時間と前記第2の開始時間および前記第2の終了時間とを比較し、前記第1の終了時間と前記第2の開始時間および前記第2の終了時間とを比較することと、
    前記第1の開始時間または前記第1の終了時間が前記第2の開始時間と前記第2の終了時間との間にあることの判定に基づいて、前記第1のメディアアセットに関する第1の競合インジケータを生成することと
    を行うようにさらに構成される、請求項11に記載のシステム。
  18. 前記制御回路は、
    前記第1の部分内の第1のメディアアセット識別子のユーザ選択に応答して、表示のために、前記第1のメディアアセット識別子と関連付けられた第1のメディアアセットに対応する新しいイベントを作成するためのオプションを生成することと、
    前記オプションのユーザ選択に応答して、それぞれ、前記第1のメディアアセットのメディアアセット開始時間およびメディアアセット終了時間に対応するイベント開始時間およびイベント終了時間を有する、前記新しいイベントを作成することと、
    前記新しいイベントを前記カレンダアプリケーションに伝送することと
    を行うようにさらに構成される、請求項11に記載のシステム。
  19. 前記制御回路は、
    前記カレンダアプリケーションから、異なるユーザと関連付けられた複数のイベントに関するカレンダデータを受信することであって、前記異なるユーザと関連付けられたカレンダデータは、関連付けられたイベント開始時間および終了時間を有するイベント時間間隔を備える、ことと、
    前記第2の複数のメディアアセットの前記第1の部分内の第1のメディアアセット識別子のユーザ選択に応答して、前記第1のメディアアセット識別子と関連付けられたメディアアセットの伝送時間が前記異なるユーザと関連付けられた前記イベント時間間隔のうちの少なくとも1つと少なくとも部分的に重複するかどうかを判定することと、
    前記第1のメディアアセット識別子と関連付けられた前記メディアアセットの伝送時間が、前記異なるユーザと関連付けられた前記イベント時間間隔のうちの少なくとも1つと少なくとも部分的に重複しないことの判定に基づいて、表示のために、前記第1のメディアアセット識別子と関連付けられたメディアアセットを消費するように前記異なるユーザを招待するためのオプションを生成することと
    を行うようにさらに構成される、請求項11に記載のシステム。
  20. 前記制御回路は、
    ソーシャルネットワーキングアプリケーションと関連付けられたサーバから、前記ユーザの友達と関連付けられた複数のユーザ識別子を読み出すことと、
    前記複数のユーザ識別子内のユーザ識別子毎に、各友達と関連付けられた複数のイベントに関するカレンダデータを読み出すことであって、前記カレンダデータは、関連付けられたイベント開始時間および終了時間を有するイベント時間間隔を備える、ことと、
    前記第2の複数のメディアアセット識別子内の第1のメディアアセット識別子のユーザ選択に応答して、表示のために、前記第1のメディアアセット識別子に対応するメディアアセットを消費するようにスケジュールされている前記ユーザのそれらの友達と関連付けられた1つまたはそれを上回るユーザ識別子を生成することと
    を行うようにさらに構成される、請求項11に記載のシステム。
  21. カレンダ情報をメディアガイドアプリケーション内に提示するためのシステムであって、
    カレンダアプリケーションから、ユーザと関連付けられた複数のイベントに関するカレンダデータを受信するための手段であって、前記カレンダデータは、関連付けられたイベント開始時間および終了時間を有するイベント時間間隔を備える、手段と、
    前記複数のイベントのイベント時間間隔と第1の複数のメディアアセットのメディアアセット時間間隔とを比較するための手段であって、前記第1の複数のメディアアセットの各メディアアセットは、関連付けられたメディアアセット開始時間および終了時間を有し、対応するメディアアセット時間間隔の間、複数のユーザへの伝送のためにスケジュールされている、手段と、
    前記比較に基づいて、対応するメディアアセットデータベースエントリ内に、第2の複数のメディアアセットに対応する第1の複数のメディアアセット識別子に関する競合インジケータを記憶するための手段であって、前記第2の複数のメディアアセットは、前記イベント時間間隔のうちの少なくとも1つと少なくとも部分的に重複する関連付けられたメディアアセット時間間隔を有する、前記第1の複数のメディアアセットからのメディアアセットを備える、手段と、
    表示のために、ある時間期間の間の前記複数のユーザへの伝送のためにスケジュールされているメディアアセットに対応する第2の複数のメディアアセット識別子を生成するための手段であって、前記第2の複数のメディアアセット識別子は、前記第1の複数のメディアアセット識別子内に含まれるメディアアセット識別子を備える第1の部分および前記第1の複数のメディアアセット識別子内に含まれないメディアアセット識別子を含む第2の部分を備え、前記第1の部分内のメディアアセット識別子は、前記第2の部分内のメディアアセット識別子から視覚的に区別される、手段と
    を備える、システム。
  22. 前記第1の部分内の第1のメディアアセット識別子に対応する第1のメディアアセットの伝送時間と少なくとも部分的に重複する、前記複数のイベントの第1のイベントの第1の優先順位を判定するための手段と、
    前記第1の部分内の第2のメディアアセット識別子に対応する第2のメディアアセットの伝送時間と少なくとも部分的に重複する、前記複数のイベントの第2のイベントの第2の優先順位を判定するための手段と、
    前記第2の優先順位と異なる前記第1の優先順位に基づいて、前記第1の部分内の第1のメディアアセット識別子を前記第1の部分内の第2のメディアアセット識別子から視覚的に区別するための手段と
    をさらに備える、請求項21に記載のシステム。
  23. 前記第1の優先順位と関連付けられた第1の視覚的インジケータおよび前記第2の優先順位と関連付けられた第2の視覚的インジケータを記憶するための手段と、
    表示のために、前記第1の視覚的インジケータを伴う前記第1のメディアアセット識別子および前記第2の視覚的インジケータを伴う前記第2のメディアアセット識別子を生成するための手段と
    をさらに備える、請求項22に記載のシステム。
  24. 前記第1の優先順位を再スケジュールされ得る前記複数のイベントのそれらのイベントに割り当て、前記第2の優先順位を再スケジュールされ得ない前記複数のイベントのそれらのイベントに割り当てるための手段と、
    前記第1のメディアアセット識別子のユーザ選択に応答して、表示のために、前記第1のイベントと関連付けられたカレンダデータを生成し、前記第1のイベントを再スケジュールするためのオプションをユーザに提供するための手段と、
    前記第2のメディアアセット識別子のユーザ選択に応答して、表示のために、前記第2のイベントと関連付けられたカレンダデータを生成し、前記第2のメディアアセットを記録するためのオプションを前記ユーザに提供するための手段と
    をさらに備える、請求項22に記載のシステム。
  25. 前記第1の部分内のメディアアセット識別子は、第1のタイプのインジケータによって前記第2の部分内のメディアアセット識別子から視覚的に区別され、前記第1のメディアアセット識別子は、第2のタイプのインジケータを伴う前記第2のメディアアセット識別子から視覚的に区別される、請求項22に記載のシステム。
  26. 前記インジケータのタイプは、色、陰影、およびアイコンを備える、請求項25に記載のシステム。
  27. 前記複数のイベントのイベント時間間隔と前記第1の複数のメディアアセットのメディアアセット時間間隔とを比較するための手段は、
    前記複数のイベントの第1のイベントに関して、第1の開始時間および第1の終了時間を読み出すための手段と、
    前記第1の複数のメディアアセット内の第1のメディアアセットに関して、第2の開始時間および第2の終了時間を読み出すための手段と、
    前記第1の開始時間と前記第2の開始時間および前記第2の終了時間とを比較し、前記第1の終了時間と前記第2の開始時間および前記第2の終了時間とを比較するための手段と、
    前記第1の開始時間または前記第1の終了時間が前記第2の開始時間と前記第2の終了時間との間にあることの判定に基づいて、前記第1のメディアアセットに関する第1の競合インジケータを生成するための手段と
    を含む、請求項21に記載のシステム。
  28. 前記第1の部分内の第1のメディアアセット識別子のユーザ選択に応答して、表示のために、前記第1のメディアアセット識別子と関連付けられた第1のメディアアセットに対応する新しいイベントを作成するためのオプションを生成するための手段と、
    前記オプションのユーザ選択に応答して、それぞれ、前記第1のメディアアセットのメディアアセット開始時間およびメディアアセット終了時間に対応するイベント開始時間およびイベント終了時間を有する、前記新しいイベントを作成するための手段と、
    前記新しいイベントを前記カレンダアプリケーションに伝送するための手段と
    をさらに備える、請求項21に記載のシステム。
  29. 前記カレンダアプリケーションから、異なるユーザと関連付けられた複数のイベントに関するカレンダデータを受信するための手段であって、前記異なるユーザと関連付けられたカレンダデータは、関連付けられたイベント開始時間および終了時間を有するイベント時間間隔を備える、手段と、
    前記第2の複数のメディアアセットの前記第1の部分内の第1のメディアアセット識別子のユーザ選択に応答して、前記第1のメディアアセット識別子と関連付けられたメディアアセットの伝送時間が前記異なるユーザと関連付けられた前記イベント時間間隔のうちの少なくとも1つと少なくとも部分的に重複するかどうかを判定するための手段と、
    前記第1のメディアアセット識別子と関連付けられた前記メディアアセットの伝送時間が前記異なるユーザと関連付けられた前記イベント時間間隔のうちの少なくとも1つと少なくとも部分的に重複しないことの判定に基づいて、表示のために、前記第1のメディアアセット識別子と関連付けられたメディアアセットを消費するように前記異なるユーザを招待するためのオプションを生成するための手段と
    をさらに備える、請求項21に記載のシステム。
  30. ソーシャルネットワーキングアプリケーションと関連付けられたサーバから、前記ユーザの友達と関連付けられた複数のユーザ識別子を読み出すための手段と、
    前記複数のユーザ識別子内のユーザ識別子毎に、各友達と関連付けられた複数のイベントに関するカレンダデータを読み出すための手段であって、前記カレンダデータは、関連付けられたイベント開始時間および終了時間を有するイベント時間間隔を備える、手段と、
    前記第2の複数のメディアアセット識別子内の第1のメディアアセット識別子のユーザ選択に応答して、表示のために、前記第1のメディアアセット識別子に対応するメディアアセットを消費するようにスケジュールされている前記ユーザのそれらの友達と関連付けられた1つまたはそれを上回るユーザ識別子を生成するための手段と
    をさらに備える、請求項21に記載のシステム。
  31. カレンダ情報をメディアガイドアプリケーション内に提示するためのその上に符号化された命令を有する、非一過性コンピュータ可読媒体であって、前記命令は、
    カレンダアプリケーションから、ユーザと関連付けられた複数のイベントに関するカレンダデータを受信するための命令であって、前記カレンダデータは、関連付けられたイベント開始時間および終了時間を有するイベント時間間隔を備える、命令と、
    前記複数のイベントのイベント時間間隔と第1の複数のメディアアセットのメディアアセット時間間隔とを比較するための命令であって、前記第1の複数のメディアアセットの各メディアアセットは、関連付けられたメディアアセット開始時間および終了時間を有し、対応するメディアアセット時間間隔の間、複数のユーザへの伝送のためにスケジュールされている、命令と、
    前記比較に基づいて、対応するメディアアセットデータベースエントリ内に、第2の複数のメディアアセットに対応する第1の複数のメディアアセット識別子に関する競合インジケータを記憶するための命令であって、前記第2の複数のメディアアセットは、前記イベント時間間隔のうちの少なくとも1つと少なくとも部分的に重複する関連付けられたメディアアセット時間間隔を有する、前記第1の複数のメディアアセットからのメディアアセットを備える、命令と、
    表示のために、ある時間期間の間の前記複数のユーザへの伝送のためにスケジュールされているメディアアセットに対応する第2の複数のメディアアセット識別子を生成するための命令であって、前記第2の複数のメディアアセット識別子は、前記第1の複数のメディアアセット識別子内に含まれるメディアアセット識別子を備える第1の部分および前記第1の複数のメディアアセット識別子内に含まれないメディアアセット識別子を含む第2の部分を備え、前記第1の部分内のメディアアセット識別子は、前記第2の部分内のメディアアセット識別子から視覚的に区別される、命令と
    を備える、非一過性コンピュータ可読媒体。
  32. 前記命令はさらに、
    前記第1の部分内の第1のメディアアセット識別子に対応する第1のメディアアセットの伝送時間と少なくとも部分的に重複する、前記複数のイベントの第1のイベントの第1の優先順位を判定するための命令と、
    前記第1の部分内の第2のメディアアセット識別子に対応する第2のメディアアセットの伝送時間と少なくとも部分的に重複する、前記複数のイベントの第2のイベントの第2の優先順位を判定するための命令と、
    前記第2の優先順位と異なる前記第1の優先順位に基づいて、前記第1の部分内の第1のメディアアセット識別子を前記第1の部分内の第2のメディアアセット識別子から視覚的に区別するための命令と
    を備える、請求項31に記載の非一過性コンピュータ可読媒体。
  33. 前記命令はさらに、
    前記第1の優先順位と関連付けられた第1の視覚的インジケータおよび前記第2の優先順位と関連付けられた第2の視覚的インジケータを記憶するための命令と、
    表示のために、前記第1の視覚的インジケータを伴う前記第1のメディアアセット識別子および前記第2の視覚的インジケータを伴う前記第2のメディアアセット識別子を生成するための命令と
    を備える、請求項32に記載の非一過性コンピュータ可読媒体。
  34. 前記命令はさらに、
    前記第1の優先順位を再スケジュールされ得る前記複数のイベントのそれらのイベントに割り当て、前記第2の優先順位を再スケジュールされ得ない前記複数のイベントのそれらのイベントに割り当てるための命令と、
    前記第1のメディアアセット識別子のユーザ選択に応答して、表示のために、前記第1のイベントと関連付けられたカレンダデータを生成し、前記第1のイベントを再スケジュールするためのオプションをユーザに提供するための命令と、
    前記第2のメディアアセット識別子のユーザ選択に応答して、表示のために、前記第2のイベントと関連付けられたカレンダデータを生成し、前記第2のメディアアセットを記録するためのオプションを前記ユーザに提供するための命令と
    を備える、請求項32に記載の非一過性コンピュータ可読媒体。
  35. 前記第1の部分内のメディアアセット識別子は、第1のタイプのインジケータによって前記第2の部分内のメディアアセット識別子から視覚的に区別され、前記第1のメディアアセット識別子は、第2のタイプのインジケータを伴う前記第2のメディアアセット識別子から視覚的に区別される、請求項32に記載の非一過性コンピュータ可読媒体。
  36. 前記インジケータのタイプは、色、陰影、およびアイコンを備える、請求項35に記載の非一過性コンピュータ可読媒体。
  37. 前記複数のイベントのイベント時間間隔と前記第1の複数のメディアアセットのメディアアセット時間間隔とを比較するための命令はさらに、
    前記複数のイベントの第1のイベントに関して、第1の開始時間および第1の終了時間を読み出すための命令と、
    前記第1の複数のメディアアセット内の第1のメディアアセットに関して、第2の開始時間および第2の終了時間を読み出すための命令と、
    前記第1の開始時間と前記第2の開始時間および前記第2の終了時間とを比較し、前記第1の終了時間と前記第2の開始時間および前記第2の終了時間とを比較するための命令と、
    前記第1の開始時間または前記第1の終了時間が前記第2の開始時間と前記第2の終了時間との間にあることの判定に基づいて、前記第1のメディアアセットに関する第1の競合インジケータを生成するための命令と
    を備える、請求項31に記載の非一過性コンピュータ可読媒体。
  38. 前記命令はさらに、
    前記第1の部分内の第1のメディアアセット識別子のユーザ選択に応答して、表示のために、前記第1のメディアアセット識別子と関連付けられた第1のメディアアセットに対応する新しいイベントを作成するためのオプションを生成するための命令と、
    前記オプションのユーザ選択に応答して、それぞれ、前記第1のメディアアセットのメディアアセット開始時間およびメディアアセット終了時間に対応するイベント開始時間およびイベント終了時間を有する、前記新しいイベントを作成するための命令と、
    前記新しいイベントを前記カレンダアプリケーションに伝送するための命令と
    を備える、請求項31に記載の非一過性コンピュータ可読媒体。
  39. 前記命令はさらに、
    前記カレンダアプリケーションから、異なるユーザと関連付けられた複数のイベントに関するカレンダデータを受信するための命令であって、前記異なるユーザと関連付けられたカレンダデータは、関連付けられたイベント開始時間および終了時間を有するイベント時間間隔を備える、命令と、
    前記第2の複数のメディアアセットの前記第1の部分内の第1のメディアアセット識別子のユーザ選択に応答して、前記第1のメディアアセット識別子と関連付けられたメディアアセットの伝送時間が前記異なるユーザと関連付けられた前記イベント時間間隔のうちの少なくとも1つと少なくとも部分的に重複するかどうかを判定するための命令と、
    前記第1のメディアアセット識別子と関連付けられた前記メディアアセットの伝送時間が前記異なるユーザと関連付けられた前記イベント時間間隔のうちの少なくとも1つと少なくとも部分的に重複しないことの判定に基づいて、表示のために、前記第1のメディアアセット識別子と関連付けられたメディアアセットを消費するように前記異なるユーザを招待するためのオプションを生成するための命令と
    を備える、請求項31に記載の非一過性コンピュータ可読媒体。
  40. 前記命令はさらに、
    ソーシャルネットワーキングアプリケーションと関連付けられたサーバから、前記ユーザの友達と関連付けられた複数のユーザ識別子を読み出すための命令と、
    前記複数のユーザ識別子内のユーザ識別子毎に、各友達と関連付けられた複数のイベントに関するカレンダデータを読み出すための命令であって、前記カレンダデータは、関連付けられたイベント開始時間および終了時間を有するイベント時間間隔を備える、命令と、
    前記第2の複数のメディアアセット識別子内の第1のメディアアセット識別子のユーザ選択に応答して、表示のために、前記第1のメディアアセット識別子に対応するメディアアセットを消費するようにスケジュールされている前記ユーザのそれらの友達と関連付けられた1つまたはそれを上回るユーザ識別子を生成するための命令と
    を備える、請求項31に記載の非一過性コンピュータ可読媒体。
  41. カレンダ情報をメディアガイドアプリケーション内に提示するための方法であって、
    カレンダアプリケーションから、ユーザと関連付けられた複数のイベントに関するカレンダデータを受信するステップであって、前記カレンダデータは、イベント時間間隔を備える、ステップと、
    前記イベント時間間隔に基づいて、前記ユーザと関連付けられたイベントと重複する伝送時間を有するメディアアセットに対応する、第1の複数のメディアアセット識別子を判定するステップと、
    前記判定に基づいて、表示のために、ある時間期間の間の前記複数のユーザへの伝送のためにスケジュールされているメディアアセットに対応する第2の複数のメディアアセット識別子を生成するステップであって、前記第2の複数のメディアアセット識別子は、前記第1の複数のメディアアセット識別子内に含まれるメディアアセット識別子を備える第1の部分および前記第1の複数のメディアアセット識別子内に含まれないメディアアセット識別子を含む第2の部分を備え、前記第1の部分内のメディアアセット識別子は、前記第2の部分内のメディアアセット識別子から視覚的に区別される、ステップと
    を含む、方法。
  42. 前記第1の部分内の第1のメディアアセット識別子に対応する第1のメディアアセットの伝送時間と少なくとも部分的に重複する、前記複数のイベントの第1のイベントの第1の優先順位を判定するステップと、
    前記第1の部分内の第2のメディアアセット識別子に対応する第2のメディアアセットの伝送時間と少なくとも部分的に重複する、前記複数のイベントの第2のイベントの第2の優先順位を判定するステップと、
    前記第2の優先順位と異なる前記第1の優先順位に基づいて、前記第1の部分内の第1のメディアアセット識別子を前記第1の部分内の第2のメディアアセット識別子から視覚的に区別するステップと
    をさらに含む、請求項41に記載の方法。
  43. 前記第1の優先順位と関連付けられた第1の視覚的インジケータおよび前記第2の優先順位と関連付けられた第2の視覚的インジケータを記憶するステップと、
    表示のために、前記第1の視覚的インジケータを伴う前記第1のメディアアセット識別子および前記第2の視覚的インジケータを伴う前記第2のメディアアセット識別子を生成するステップと
    をさらに含む、請求項42に記載の方法。
  44. 前記第1の優先順位を再スケジュールされ得る前記複数のイベントのそれらのイベントに割り当て、前記第2の優先順位を再スケジュールされ得ない前記複数のイベントのそれらのイベントに割り当てるステップと、
    前記第1のメディアアセット識別子のユーザ選択に応答して、表示のために、前記第1のイベントと関連付けられたカレンダデータを生成し、前記第1のイベントを再スケジュールするためのオプションをユーザに提供するステップと、
    前記第2のメディアアセット識別子のユーザ選択に応答して、表示のために、前記第2のイベントと関連付けられたカレンダデータを生成し、前記第2のメディアアセットを記録するためのオプションを前記ユーザに提供するステップと
    をさらに含む、請求項42または43に記載の方法。
  45. 前記第1の部分内のメディアアセット識別子は、第1のタイプのインジケータによって前記第2の部分内のメディアアセット識別子から視覚的に区別され、前記第1のメディアアセット識別子は、第2のタイプのインジケータを伴う前記第2のメディアアセット識別子から視覚的に区別される、請求項42−44のいずれか1項に記載の方法。
  46. 前記イベント時間間隔に基づいて、前記ユーザと関連付けられたイベントと重複するメディアアセットに対応する前記第1の複数のメディアアセット識別子を判定するステップは、
    前記複数のイベントのイベント時間間隔と第1の複数のメディアアセットのメディアアセット時間間隔とを比較するステップと、
    前記比較に基づいて、前記第2の複数のメディアアセットに対応する前記第1の複数のメディアアセット識別子に関する競合インジケータを記憶するステップであって,前記第2の複数のメディアアセットは、前記イベント時間間隔のうちの少なくとも1つと少なくとも部分的に重複する関連付けられたメディアアセット時間間隔を有する、前記第1の複数のメディアアセットからのメディアアセットを備える、ステップと
    を含む、請求項41−45のいずれか1項に記載の方法。
  47. 前記複数のイベントのイベント時間間隔と前記第1の複数のメディアアセットのメディアアセット時間間隔とを比較するステップは、
    前記複数のイベントの第1のイベントに関して、第1の開始時間および第1の終了時間を読み出すステップと、
    前記第1の複数のメディアアセット内の第1のメディアアセットに関して、第2の開始時間および第2の終了時間を読み出すステップと、
    前記第1の開始時間と前記第2の開始時間および前記第2の終了時間とを比較し、前記第1の終了時間と前記第2の開始時間および前記第2の終了時間とを比較するステップと、
    前記第1の開始時間または前記第1の終了時間が前記第2の開始時間と前記第2の終了時間との間にあることの判定に基づいて、前記第1のメディアアセットに関する第1の競合インジケータを生成するステップと
    を含む、請求項41−46のいずれか1項に記載の方法。
  48. 前記第1の部分内の第1のメディアアセット識別子のユーザ選択に応答して、表示のために、前記第1のメディアアセット識別子と関連付けられた第1のメディアアセットに対応する新しいイベントを作成するためのオプションを生成するステップと、
    前記オプションのユーザ選択に応答して、それぞれ、前記第1のメディアアセットのメディアアセット開始時間およびメディアアセット終了時間に対応するイベント開始時間およびイベント終了時間を有する、前記新しいイベントを作成するステップと、
    前記新しいイベントを前記カレンダアプリケーションに伝送するステップと
    をさらに含む、請求項41−47のいずれか1項に記載の方法。
  49. 前記カレンダアプリケーションから、異なるユーザと関連付けられた複数のイベントに関するカレンダデータを受信するステップであって、前記異なるユーザと関連付けられたカレンダデータは、関連付けられたイベント開始時間および終了時間を有するイベント時間間隔を備える、ステップと、
    前記第2の複数のメディアアセットの前記第1の部分内の第1のメディアアセット識別子のユーザ選択に応答して、前記第1のメディアアセット識別子と関連付けられたメディアアセットの伝送時間が前記異なるユーザと関連付けられた前記イベント時間間隔のうちの少なくとも1つと少なくとも部分的に重複するかどうかを判定するステップと、
    前記第1のメディアアセット識別子と関連付けられた前記メディアアセットの伝送時間が前記異なるユーザと関連付けられた前記イベント時間間隔のうちの少なくとも1つと少なくとも部分的に重複しないことの判定に基づいて、表示のために、前記第1のメディアアセット識別子と関連付けられたメディアアセットを消費するように前記異なるユーザを招待するためのオプションを生成するステップと
    をさらに含む、請求項41−48のいずれか1項に記載の方法。
  50. ソーシャルネットワーキングアプリケーションと関連付けられたサーバから、前記ユーザの友達と関連付けられた複数のユーザ識別子を読み出すステップと、
    前記複数のユーザ識別子内のユーザ識別子毎に、各友達と関連付けられた複数のイベントに関するカレンダデータを読み出すステップであって、前記カレンダデータは、関連付けられたイベント開始時間および終了時間を有するイベント時間間隔を備える、ステップと、
    前記第2の複数のメディアアセット識別子内の第1のメディアアセット識別子のユーザ選択に応答して、表示のために、前記第1のメディアアセット識別子に対応するメディアアセットを消費するようにスケジュールされている前記ユーザのそれらの友達と関連付けられた1つまたはそれを上回るユーザ識別子を生成するステップと
    をさらに含む、請求項41−49のいずれか1項に記載の方法。
JP2017565182A 2015-12-23 2016-12-21 カレンダ予定とメディアアセット伝送時間との間の重複を検出するための方法およびシステム Active JP6914859B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/998,109 2015-12-23
US14/998,109 US9743139B2 (en) 2015-12-23 2015-12-23 Methods and systems for detecting overlaps between calendar appointments and media asset transmission times
PCT/US2016/068020 WO2017112771A1 (en) 2015-12-23 2016-12-21 Methods and systems for detecting overlaps between calendar appointments and media asset transmission times

Publications (3)

Publication Number Publication Date
JP2019506760A true JP2019506760A (ja) 2019-03-07
JP2019506760A5 JP2019506760A5 (ja) 2020-02-06
JP6914859B2 JP6914859B2 (ja) 2021-08-04

Family

ID=57861231

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017565182A Active JP6914859B2 (ja) 2015-12-23 2016-12-21 カレンダ予定とメディアアセット伝送時間との間の重複を検出するための方法およびシステム

Country Status (8)

Country Link
US (1) US9743139B2 (ja)
EP (1) EP3378022A1 (ja)
JP (1) JP6914859B2 (ja)
KR (1) KR20180098127A (ja)
CN (1) CN107735806A (ja)
AU (2) AU2016378582A1 (ja)
CA (1) CA2989449A1 (ja)
WO (1) WO2017112771A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019193037A (ja) * 2018-04-23 2019-10-31 シャープ株式会社 情報処理装置、表示装置、制御プログラム、及び記録媒体

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10681421B2 (en) 2017-01-03 2020-06-09 Turner Broadcasting System, Inc. Personalized, event-driven, and location-based consumption of media content
US9948966B1 (en) * 2017-04-19 2018-04-17 Rovi Guides, Inc. Systems and methods for modifying playback of a media asset based on an event that will interrupt playback of the media asset
CN109102250B (zh) * 2018-08-09 2021-11-16 北京春雪会计服务有限公司 一种对电子信息的进行访问的方法
CN111417022B (zh) * 2020-03-06 2022-09-06 海信视像科技股份有限公司 冲突检测方法及显示设备
CN112631871A (zh) * 2020-12-28 2021-04-09 北京大米科技有限公司 行为消息的处理方法、装置、存储介质及电子设备
US11907911B2 (en) * 2020-12-29 2024-02-20 Motorola Mobility Llc Methods and devices for resolving agenda and calendaring event discrepancies
US11877029B2 (en) 2021-06-07 2024-01-16 Sony Interactive Entertainment LLC Smart media recommendations by events

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006119757A (ja) * 2004-10-19 2006-05-11 Canon Inc 情報処理装置及びスケジュール管理方法
JP2009141952A (ja) * 2007-11-16 2009-06-25 Sony Corp 情報処理装置、情報処理方法、コンテンツ視聴装置、コンテンツ表示方法、プログラム及び情報共有システム
US20130104170A1 (en) * 2011-10-21 2013-04-25 Avermedia Technologies, Inc. Method for Processing Electronic Television Program
JP2014079004A (ja) * 2007-04-30 2014-05-01 Google Inc 番組案内ユーザインターフェイス(programguideuserinterface)

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030086694A1 (en) 2001-11-07 2003-05-08 Nokia Corporation Recording program scheduling information in an electronic calendar
US7797331B2 (en) * 2002-12-20 2010-09-14 Nokia Corporation Method and device for organizing user provided information with meta-information
US7739602B2 (en) * 2003-06-24 2010-06-15 Aol Inc. System and method for community centric resource sharing based on a publishing subscription model
US20060117349A1 (en) 2004-11-29 2006-06-01 Ruhl Timothy J Providing a personalized programming guide
US7665107B2 (en) * 2005-03-11 2010-02-16 Microsoft Corporation Viral advertising for interactive services
KR100678921B1 (ko) * 2005-10-18 2007-02-05 삼성전자주식회사 다중 서버 환경에 적합한 디바이스를 클라이언트로 하여동기화를 수행하는 방법 및 장치
JP4137952B2 (ja) * 2006-05-01 2008-08-20 ソニー・エリクソン・モバイルコミュニケーションズ株式会社 情報処理装置、情報処理方法、情報処理プログラム、及び携帯端末装置
US8564544B2 (en) * 2006-09-06 2013-10-22 Apple Inc. Touch screen device, method, and graphical user interface for customizing display of content category icons
US8418206B2 (en) * 2007-03-22 2013-04-09 United Video Properties, Inc. User defined rules for assigning destinations of content
US20120174039A1 (en) 2011-01-05 2012-07-05 United Video Properties, Inc. Systems and methods for navigating through content in an interactive media guidance application
US20120210353A1 (en) * 2011-02-11 2012-08-16 Sony Network Entertainment International Llc Second display interaction with social networking feed
US9324060B2 (en) * 2011-05-10 2016-04-26 International Business Machines Corporation Displaying a plurality of calendar entries
US20130173796A1 (en) * 2011-12-30 2013-07-04 United Video Properties, Inc. Systems and methods for managing a media content queue
US9986273B2 (en) * 2012-03-29 2018-05-29 Sony Interactive Entertainment, LLC Extracting media content from social networking services
WO2014028071A1 (en) * 2012-08-17 2014-02-20 Flextronics Ap, Llc Methods and displays for providing intelligent television badges
EP2680599A1 (en) * 2012-06-29 2014-01-01 Thomson Licensing Provision of a personalized media content
GB2508420A (en) * 2012-11-30 2014-06-04 Sony Corp System generating user indication based on availability of future scheduled broadcast programme for catch-up (streamed) viewing after broadcast
WO2014106124A1 (en) * 2012-12-30 2014-07-03 Gary Stephen Shuster Global contact synchronization
WO2014135188A1 (en) 2013-03-04 2014-09-12 Epg-Assistant Gmbh Method and apparatus for generating a viewing and recording schedule from an electronic program guide
US9253330B2 (en) * 2014-02-28 2016-02-02 International Business Machines Corporation Automatically record and reschedule conference calls for playback based upon calendar invitations and presence monitoring
US10034052B2 (en) * 2014-07-28 2018-07-24 Eldon Technologies Apparatus, systems and methods for synchronizing calendar information with electronic program guide information

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006119757A (ja) * 2004-10-19 2006-05-11 Canon Inc 情報処理装置及びスケジュール管理方法
JP2014079004A (ja) * 2007-04-30 2014-05-01 Google Inc 番組案内ユーザインターフェイス(programguideuserinterface)
JP2009141952A (ja) * 2007-11-16 2009-06-25 Sony Corp 情報処理装置、情報処理方法、コンテンツ視聴装置、コンテンツ表示方法、プログラム及び情報共有システム
US20130104170A1 (en) * 2011-10-21 2013-04-25 Avermedia Technologies, Inc. Method for Processing Electronic Television Program

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019193037A (ja) * 2018-04-23 2019-10-31 シャープ株式会社 情報処理装置、表示装置、制御プログラム、及び記録媒体
JP7130419B2 (ja) 2018-04-23 2022-09-05 シャープ株式会社 情報処理装置、表示装置、制御プログラム、及び記録媒体

Also Published As

Publication number Publication date
AU2016378582A1 (en) 2018-01-18
AU2022268369A1 (en) 2022-12-15
EP3378022A1 (en) 2018-09-26
JP6914859B2 (ja) 2021-08-04
US9743139B2 (en) 2017-08-22
WO2017112771A8 (en) 2018-01-11
US20170188098A1 (en) 2017-06-29
WO2017112771A1 (en) 2017-06-29
KR20180098127A (ko) 2018-09-03
CA2989449A1 (en) 2017-06-29
CN107735806A (zh) 2018-02-23

Similar Documents

Publication Publication Date Title
US11934372B2 (en) Systems and methods for updating a knowledge graph through user input
US11477529B2 (en) Methods and systems for distributing media guidance among multiple devices
JP6914859B2 (ja) カレンダ予定とメディアアセット伝送時間との間の重複を検出するための方法およびシステム
JP7102341B2 (ja) 地理的コンテンツ制限にかかわらずにプレイリストのメディアに対する継続したアクセスを確実にするシステムおよび方法
KR102506649B1 (ko) 자연어 쿼리의 보충 기능을 수행하기 위한 시스템 및 방법
KR102323614B1 (ko) 미디어 자산을 효율적으로 다운로드하는 방법 및 시스템
JP2019530305A (ja) 利用可能な記憶スペースの関数として連続番組録画を管理するためのシステムおよび方法
US11829491B2 (en) Systems and methods for managing access to media assets based on a projected location of a user
JP2019526081A (ja) 自然言語クエリのための実行パスを判定するシステムおよび方法
JP2019507508A (ja) 複数のデバイス上でのメディアアセット再生を同期するためのシステムおよび方法
US10063901B2 (en) Systems and methods for modifying access to media assets
US10856034B2 (en) Systems and methods for modifying the display of inputs on a user input device
JP2019506013A (ja) メディアを消費しているユーザにメディアを消費している他者の進捗度をアラートするためのシステムおよび方法
JP7387787B2 (ja) メディアアセットの記憶されたバージョンをユーザにより適したバージョンと置換するためのシステムおよび方法
JP2019532435A (ja) 広告掲載の競合を解決するためのシステムおよび方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191223

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20191223

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210125

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20210423

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210512

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20210614

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210714

R150 Certificate of patent or registration of utility model

Ref document number: 6914859

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150