WO2014084803A1 - Event management for television programming - Google Patents

Event management for television programming Download PDF

Info

Publication number
WO2014084803A1
WO2014084803A1 PCT/UA2012/000105 UA2012000105W WO2014084803A1 WO 2014084803 A1 WO2014084803 A1 WO 2014084803A1 UA 2012000105 W UA2012000105 W UA 2012000105W WO 2014084803 A1 WO2014084803 A1 WO 2014084803A1
Authority
WO
WIPO (PCT)
Prior art keywords
calendar
television
information
television program
user
Prior art date
Application number
PCT/UA2012/000105
Other languages
French (fr)
Inventor
Zane Eaton
Original Assignee
Echostar Ukraine, LLC
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 Echostar Ukraine, LLC filed Critical Echostar Ukraine, LLC
Priority to PCT/UA2012/000105 priority Critical patent/WO2014084803A1/en
Publication of WO2014084803A1 publication Critical patent/WO2014084803A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • 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
    • H04N21/431Generation of visual interfaces for content selection or interaction; Content or additional data rendering
    • H04N21/4312Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations
    • H04N21/4316Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations for displaying supplemental content in a region of the screen, e.g. an advertisement in a separate window
    • 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/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
    • 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/462Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
    • 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/466Learning process for intelligent management, e.g. learning user preferences for recommending movies
    • H04N21/4668Learning process for intelligent management, e.g. learning user preferences for recommending movies for recommending content, e.g. movies
    • 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/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/47214End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for content reservation or setting reminders; for requesting event notification, e.g. of sport results or stock market
    • 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/478Supplemental services, e.g. displaying phone caller identification, shopping application
    • H04N21/4786Supplemental services, e.g. displaying phone caller identification, shopping application e-mailing
    • 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

Definitions

  • This disclosure relates to apparatus and methods of content display, and particularly to event management for television programming.
  • a person watching television may have access to a large selection of television programming.
  • Such television programming may be available across multiple channels and may include scheduled programming and on-demand programming.
  • An electronic programming guide (EPG) may be used to view current and upcoming television programming.
  • PVRs personal video recorders
  • DVRs digital video recorders
  • PVRs/DVRs use a hard drive to record digital data that represents a television program.
  • Various optical media and other forms of memory can be used to record television programs or digital representations thereof.
  • a user of such television programming equipment can encounter a number of difficulties in managing available television programming. For example, with typical EPGs having an extensive list of channels and programming listings that extend over many days, navigating an EPG can be cumbersome. Along the same lines, even though a user may have selected a program of interest from the EPG, the user may not have the time or desire to go back through the EPG to find more programs of interest. Furthermore, a user who has selected programs for recording may forget about those programs. And, in the case of live television programs, a user may forget about live programs of interest, that are upcoming.
  • a user may try to address one or more of the foregoing problems, but not without encountering a significant measure of inconvenience.
  • event management for television programming addresses one or more of the foregoing problems in a convenient manner for a user.
  • Various methods, systems, and computer products are disclosed for event management techniques for television programming. Some embodiments provide for adding events for television programming to a calendar system.
  • the calendar system may be associated with an email system and/or may include an email system with calendar features. In some embodiments, the calendar system may not be associated with an email system.
  • an event may correspond to one or more of an appointment, a meeting, and/or a reminder in the calendar system.
  • the events may include for example without limitation descriptive program information, a program time, a program duration, and/or reminder settings.
  • the reminder settings may include a number of reminders and corresponding time information.
  • the calendar system may allow a user to send calendar events to one or more other users.
  • a television tuner device may have access to a user's calendar provided via the calendar system.
  • a television service provider may have access to a user's calendar provided via the calendar system.
  • a television tuner device and/or a television service provider may add events to a user's calendar provided via the calendar system.
  • the events may notify a user that a television program has been recorded and is available for viewing.
  • the events may notify a user about an upcoming live televised event.
  • the events may be user-customizable.
  • user preferences/settings may be stored remotely.
  • a user can create and/or modify events via a television tuner device.
  • a user can create and/or modify events via an end-user computing device.
  • the end-user computing device may be remote from the television tuner device.
  • events are automatically added to a calendar system according to user selection of television programs via a television tuner device.
  • notifications regarding events may be communicated to a user via email and/or texting service.
  • events added to a user's calendar may indicate a status of a corresponding television program.
  • the status may include whether a program has been scheduled for recording, recorded, viewed, suggested, on time, delayed, and/or canceled.
  • a user may select, via an interface for an event added to a user's calendar, whether a program is to be recorded or not recorded.
  • a user may manage recordings remotely via the calendar system. In some embodiments, if there is a conflict involving one or more scheduled recordings, a user may be notified via the calendar system.
  • a user may handle a conflict involving one or more scheduled recordings via the calendar system.
  • a user may be notified via the calendar system.
  • the user may be notified via the calendar system.
  • a user may be notified about a start of a new season of a program series of interest to the user.
  • a user's calendar may be populated with events based on one or more programs of interest to the user.
  • one or more program suggestions and/or queries may be presented to a user based at least in part on past events added to a user's calendar.
  • one or more program suggestions and/or queries may be presented to a user based at least in part on one or more open time periods of the user's calendar.
  • one or more programs may be automatically recorded based at least in part on one or more open time periods of the user's calendar.
  • a method provides for event management for television programming using a calendar system.
  • a set of information indicative of a selected television program may be accessed.
  • the set of information may be from a television programming system.
  • An indication of descriptive information about the selected television program may be identified.
  • An indication of a time corresponding to the selected television program may be identified.
  • a calendar event for the calendar system may be generated at least partially based on the set of information.
  • a description for the calendar event may be identified at least partially based on the indication of descriptive information about the selected television program.
  • a block of time for the calendar event may be identified at least partially based on the indication of the time corresponding to the selected television program.
  • the generating may include causing display of the calendar event.
  • a system provides for event management for television programming, using a calendar system.
  • the system may include one or more processors and memory communicatively coupled with, and readable by, the one or more processors.
  • the memory may have stored therein processor-readable instructions, which, when executed by the one or more processors, cause the one or more processors to perform a method.
  • a set of information indicative of a selected television program may be accessed.
  • the set of information indicative of the selected television program may have come electronically from a television programming system.
  • An indication of descriptive information about the selected television program may be identified in the set of information.
  • An indication of a time corresponding to the selected television program may be identified in the set of information.
  • a calendar event for a calendar system may be generated at least partially based on the set of information indicative of the selected television program.
  • a description for the calendar event may be identified at least partially based on the indication of descriptive information about the selected television program.
  • a block of time for the calendar event may be identified at least partially based on the indication of the time corresponding to the selected television program.
  • the generating may include causing display of the calendar event.
  • a television tuning device is configured to facilitate event management for television programming.
  • the television tuning device may include one or more processors and one or more storage devices coupled to the one or more processors and configured to store instructions to cause the one or more processors to process an indication of a selected television program and to generate a set of information indicative of the selected television program.
  • the set of information indicative of the selected television program may include an indication of descriptive information about the selected television program, an indication of a time corresponding to the selected television program, and an indication of a status of the selected television program.
  • the instructions are to cause the one or more processors to transmit the set of information indicative of the selected television program to a calendar system to generate a calendar event at least partially based on the set of information indicative of the selected television program.
  • a description for the calendar event is to be at least partially based on the indication of descriptive information about the selected television program.
  • a block of time for the calendar event is to be at least partially based on the indication of the time corresponding to the selected television program.
  • FIG. 1 illustrates an embodiment of a system, in accordance with certain embodiments of the present disclosure.
  • FIG. 2 illustrates a simplified diagram of an event management system, in accordance with certain embodiments of the present disclosure.
  • FIG. 3 illustrates a simplified end-user system, in accordance with certain embodiments of the present disclosure.
  • FIG. 4 illustrates an example of a calendar that may be a user interface used in a calendar system, in accordance with certain embodiments of the present disclosure.
  • FIG. 5 illustrates an example of a calendar interface that may be a user interface used in the calendar system, in accordance with certain embodiments of the present disclosure.
  • FIG. 6A illustrates an example of a reminder that may be presented to a user via a calendar system, in accordance with certain embodiments of the present disclosure.
  • FIG. 6B illustrates an example of a notification that may be presented to a user via a calendar system, in accordance with certain embodiments of the present disclosure.
  • FIG. 7 illustrates an example of a calendar which has been populated with events based on one or more programs of interest to a user, in accordance with certain embodiments of the present disclosure.
  • FIG. 8 illustrates an example of a calendar interface that may be a user interface used in a calendar system corresponding to a suggested program, in accordance with certain embodiments of the present disclosure.
  • FIG. 9 illustrates an example of a user interface for scheduling a meeting, in accordance with certain embodiments of the present disclosure.
  • FIG. 10 illustrates an example of a method of providing for event management for television programming, in accordance with certain embodiments of the present disclosure.
  • FIG. 1 1 illustrates an embodiment of a computer system, in accordance with certain embodiments of the present disclosure.
  • similar components or features may have the same reference label. Further, various components of the same type may be distinguished by following the reference label by a dash and a second label that distinguishes among the similar components. If only the first reference label is used in the specification, the description is applicable to any one of the similar components having the same first reference label irrespective of the second reference label.
  • Certain embodiments of the present disclosure are directed to apparatus and methods of content display, and particularly to implementing navigation techniques for electronic programming giiides and recorded video.
  • the navigation techniques may be more intuitive and efficient.
  • embodiments detailed herein may be directed toward controlling television- based equipment, the principles easily can be extended to other types of content and devices, such as video game equipment, computer equipment, handheld electronic devices, and the like.
  • the terms "television” or “television service” can include traditional television programming, such as linear television programs, as well as other types of audio, video and/or audio/video content, such as on-demand video content, streaming video content and the like delivered via any type of content delivery systems, such as a cable, satellite, cellular/wireless, Internet/IP and/or any other content delivery technology or system currently known or hereafter developed.
  • embodiments herein describe set-top boxes and/or other devices being connected with a television or other device having an electronic display.
  • the automated calibration process can also be incorporated into the device having the electronic display, such as a television with an integrated cable, satellite or IPTV receiver.
  • the technology discussed herein additionally can be extended to any of a variety of other electronic display devices, such as, for example, computers, tablets, hand-held mobile devices, cell phones, e-readers, personal media players, and the like.
  • a person of ordinary skill in the art will recognize various alterations, additions, omissions, and substitutions.
  • Certain embodiments according to the present disclosure may solve a number of difficulties that a user of television programming equipment can otherwise encounter in managing available television programming. Certain embodiments may facilitate the identification of programs of interest to a user, alleviating the oftentimes cumbersome efforts of navigating an EPG. Certain embodiments may save time for user by identifying programs of interest. Certain embodiments may facilitate selection of programs for recording. Certain embodiments may aid a user in keeping track of programs of interest. Certain embodiments may aid a user in keeping track of whether or not programs of interest have been scheduled for recording, recorded, viewed, suggested, on time, delayed, and/or canceled. Certain embodiments may aid a user in keeping track of live television programs. Certain embodiments may aid a user in being aware of schedule changes for television programs. Certain embodiments may be integrated or otherwise used in conjunction with an email/calendar user, thereby providing a convenient approach to managing television programming. Certain embodiments provide for improved and convenient personal information management that addresses one or more problems associated with television programming experiences.
  • FIG. 1 illustrates an embodiment of a system 100, in accordance with certain embodiments of the present disclosure.
  • the system 100 may include: a television service provider 135, an uplink station 110, a television programming services system 140, an electronic programming guide server 150, a programming database 160, a satellite 120, an end-user system 165, end-user equipment 130, a television tuner device 170, a user input device 175, an end-user display device 180, a network 185, and a programming information server 190.
  • more or fewer components may be present.
  • a satellite-based television service such as direct broadcast satellite (DBS) service
  • DBS service may involve television channels and/or other content (e.g., on-demand programming) being transmitted via a satellite uplink and multiple downlinks to end-user equipment configured to receive satellite transmissions.
  • a single uplink or multiple uplinks may be used to deliver television channels and other content to a large number of end-users.
  • the uplink station 1 10 is configured to transmit one or more television channels and/or other content to the satellite 120.
  • the satellite 120 may be located in geosynchronous orbit to provide continuous service to a particular geographical area.
  • the satellite 120 may serve to relay information received from the uplink station 1 10 to a plurality of sets of end-user equipment such as the end-user equipment 130.
  • the end-user system 165 may contain the components present at an end-user's home or business. It should be understood that the system 100 may be used to deliver television channels and other content to many end-users, which may involve many end-user systems similar to the end-user system 165.
  • the end-user system 165 may include the television tuner device 170.
  • the television tuner device 170 may be associated with or located near an individual, business, or other entity, user or subscriber that receives a program service transmission from the service provider 135.
  • the program service transmission may be received through a subscription to the service.
  • the terms "user” and/or “subscriber” refer to an individual or company who receives a program service transmission. This may include those who have purchased a subscription to the program service transmission. Additionally, the terms "user” and/or “subscriber” may refer to individuals who have been given access to the program service transmission through promotional offers and/or other non-fee-based agreements.
  • the television programming services system 140 may represent one or more computer systems that are configured to provide one or more television channels and/or other content to the uplink station 110 to be delivered to the end-user equipment 130.
  • the electronic programming guide server 150 may be part of the television programming services system 140 or may be separate. The electronic programming guide server 150 may provide television programming information to the television tuner device 170.
  • the electronic programming guide server 150 may communicate with one or more programming databases, such as the programming database 160.
  • the programming database 160 may be located locally to electronic programming guide server 150 or may be remotely accessible.
  • the programming database 160 may contain television programming information to be presented to end-users.
  • the television service provider 135 may own, manage, and/or operate the uplink station 110, the television programming services system 140, the electronic programming guide server 150, and/or the programming database 160. There may be more than one television service provider 135. In some embodiments, some or all of these components may be owned and/or operated by entities other than the television service provider 135.
  • the end-user equipment 130 may be configured to receive DBS service.
  • the downlink from the satellite 120 to the end-user equipment 130 may be unidirectional. As such, while signals may be transmitted from the satellite 120 to the end-user equipment 130, signals may not be transmitted from the end-user equipment 130 to the satellite 120. Thus, while information may be received by the end-user equipment 130 from the television service provider 135 via the satellite 120, it may not be possible to use the same communication link to transmit information back to the television service provider 135. However, in some embodiments, the satellite communication link may be bidirectional.
  • the end-user equipment 130 may include one or more satellite dishes configured to receive signals from the satellite 120.
  • the end-user equipment 130 may include a single satellite dish equipped with multiple tuners.
  • a single tuner is connected with a satellite dish.
  • a single television tuner device, the television tuner device 170 equipped with one or more tuners 124, is illustrated as connected with the end-user equipment 130. It should be understood that, in other embodiments, the end- user equipment 130 may be connected with multiple television tuner devices.
  • the television tuner device 170 may be or include a standalone piece of equipment, such as a set-top box. In some embodiments, the television tuner device 170 may be incorporated as part of another device, such as a television (or some other form of the end-user display device 180). The television tuner device 170 may communicate with multiple other pieces of equipment, such as the user input device 175, and the end-user display device 180.
  • the end-user display device 180 may be a device that is used to display television channels and/or other televised content to an end-user. Examples of possible end-user display devices may include: televisions, computer systems, and mobile devices.
  • the television tuner device 170 may serve as an interface between the signals received from the satellite 120 by the end-user equipment 130 and the end-user display device 180.
  • the television tuner device 170 may be configured to receive, analyze, and transmit information received from the satellite 120 by the end-user equipment 130 to the end-user display device 180.
  • the television tuner device 170 may include a decoder 128 to decode received signals.
  • the decoder 128 may be programmed to decrypt or otherwise decode some or all of the received signals in accordance with purchases and selections made by a user.
  • the television tuner device 170 may receive information via the satellite 120 from the television service provider 135, this communication link may not allow information to be transmitted from the television tuner device 170 back to the television service provider 135, in certain embodiments. As such, another communication link may be used for communication that originates from the television tuner device 170. In the example depicted, the television tuner device 170 is in communication with the network 185.
  • the television tuner device 170 may include a network interface 132.
  • the network interface 132 may be operable to communicate or send information across a data network, such as a packet based data network 185.
  • the network interface 132 may take the form of a modem network interface card, cable plug or jack, or the like. Using the network interface 132, the television tuner device 170 may communicate over a network 185 such as the public switched telephone network (PSTN).
  • PSTN public switched telephone network
  • the network 185 may be any type of network capable of data communication, such as, for example, a local or wide area network or the Internet.
  • the network 185 may be any suitable means to facilitate data transfer in the system 100.
  • the network 185 may be implemented with, without limitation, one or more of the Internet, a wide area network (WAN), a local area network (LAN), a wireless local area network (WLAN), a metropolitan area network (MAN), a cellular network, such as through 4G, 3G, GSM, etc., another wireless network, a gateway, and/or any other appropriate architecture or system that facilitates the communication of signals, data, and/or message.
  • the network 185 may transmit data using any suitable communication protocol.
  • the network 185 and its various components may be implemented using hardware, software, and communications media such wires, optical fibers, microwaves, radio waves, and other electromagnetic and/or optical carriers, and/or any combination of the foregoing.
  • the television tuner device 170 may be configured to communicate via a home Wi-Fi network, a local area network, a cable modem, DSL modem, or any other form of available connection with the Internet.
  • the television tuner device 170 may communicate through the network interface 132 using any suitable communication protocol such as TCP/IP.
  • the television tuner device 170 may communicate with one or more websites through the network interface 132. In so doing, the television tuner device 170 may reference and receive information or other content that may be outputted on a display to provide an enhanced or expanded graphical user interface (GUI), in accordance with an example embodiment.
  • GUI graphical user interface
  • a user may communicate with the service provider 135 in some embodiments.
  • a request for specific television programming information may be communicated to the service provider 135.
  • the television tuner device 170 may be able to communicate with the electronic programming guide server 150.
  • the television tuner device 170 may receive information or other content that may be outputted on the display 180 from the service provider 135. This information could include audiovisual clips or the like.
  • television programming information may be received by the television tuner device 170 via the satellite 120, it should be understood that in some embodiments television programming information may be transmitted to the television tuner device 170 by the electronic programming guide server 150 via the network 185.
  • the communication link between the television tuner device 170 and the electronic programming guide server 150 via the network 185 may be used for bidirectional communication.
  • television channels and/or other content may be delivered to end- users via a direct broadcast satellite arrangement.
  • embodiments of this disclosure may pertain to other forms of televised content delivery.
  • cable television which utilizes a cable network, may utilize various arrangements for organizing search results within an electronic programming guide as described herein.
  • a fiber-based television network and/or IP -based television network may utilize various arrangements for organizing search results within an electronic programming guide as described herein.
  • the television tuner device 170 may be in communication with one or more programming information servers, such as the programming information server 190, e.g. , via the network 185.
  • the programming information server 190 may represent a computer system containing information on television programs and/or other content.
  • the programming information server 190 may have additional information about television programs and/or content in addition to (and/or the same as) what is present in the television programming information transmitted to the television tuner device 170 by the electronic programming guide server 150.
  • the television tuner device 170 may include one or more processors 134 operable to run executable code in connection with various functions associated with the television tuner device 170.
  • the processor 134 may display graphics, images, animations or other content on the display 180, such as a television (TV) or monitor.
  • the processor 134 may be further operable to initiate or facilitate transmission of one or more messages to the service provider 135.
  • the processor 134 may be further operable to recall and display stored content, such as purchased or recorded programs.
  • the processor 134 may also receive, store, and/or display an onscreen graphical user interface (GUI) such as an Electronic Program Guide (EPG) 172, which may provide a schedule of program content and/or other features.
  • GUI graphical user interface
  • EPG Electronic Program Guide
  • the television tuner device 170 may be configured to execute and display (via the end-user display device 180) the EPG 172 based on television programming information received via the satellite 120 by the end- user equipment 130 from the electronic programming guide server 150.
  • the terms "electronic programming guide” or "EPG” may include an interface that includes a schedule of programming content provided to a user as part of a program service transmission system.
  • the EPG 172 may include software and/or firmware executed by the television tuner device 170.
  • the EPG 172 may comprise a database or may otherwise access a database containing information including, for example, names or titles of viewing events (programs), corresponding channel numbers and names, brief descriptions of the programs, start and finish times, and rating and content information related to the events. This information may be called EPG information or program information. Any suitable information may be included in the EPG information.
  • the EPG 172 may display on the end-user display device 180 program information for multiple times, multiple channels, and multiple television programs. For example, by an end-user interacting with EPG 172, the end-user may be able to determine at what time a television program is scheduled to appear on a particular television channel. The EPG 172 may also allow the end-user to switch between television channels. In addition to listing the time, channel, and name of the television program, additional information may be present for television programs, such as a brief description of the television program, a rating (e.g., G, PG, PG-13, R), and/or the year of release.
  • a rating e.g., G, PG, PG-13, R
  • such television programming information from the electronic programming guide server 150 may be transmitted for a period of days, such as a week, periodically, such as once per week, via the satellite 120 and/or the network 185.
  • the EPG or program information may be communicated to the television tuner device 170 using a dedicated data channel.
  • the processor 134 may execute a display module 148 or program, which accesses stored EPG data 152 and provides a formatted graphic output on the display 180.
  • the tuner 124 may "tune" to the EPG data channel and collects the EPG information.
  • the EPG information may be communicated in a serial fashion to the television tuner device 170, and thus, has a beginning and an end.
  • the EPG information may start with "program channel 1 " and provide programming information for a predefined number of days or the like for that particular channel.
  • EPG information for "program channel 2" for the predefined number of days or the like may follow, and so on, until the EPG information for all "program channels" has been communicated to the television tuner device 1 70.
  • the communication of the EPG information then starts again at the beginning of the EPG information.
  • the EPG infonnation may simply be repeated. At other times, the EPG information may be updated and then communicated. This looped, periodically repeating communication of the entire EPG information is referred to as a "carousel" EPG information format.
  • the television tuner device 170 begins receiving the EPG information midway during the communication of the "carousel" of EPG information, the television tuner device 170 understands that a complete set of EPG information has been received when it has gone through the entire carousel of EPG information. That is, the entire carousel of EPG infonnation has been received when the received EPG information has returned to its initial entry point into the carousel of EPG information.
  • the television tuner device 170 While the television tuner device 170 is receiving the EPG information, or once the television tuner device 170 has received a full set of EPG information, the television tuner device 170 can construct and display an EPG to a viewer on their viewing device, such as a television or the like. If the entire carousel of EPG information has not yet been received, a partial EPG may be constructed and presented to the viewer.
  • the viewer is able to interactively scroll about the EPG to view available programming on a program channel of interest. Also, the viewer is able to navigate about the EPG to view textual information related to scheduled programming at future times of interest on selected program channels of interest.
  • the EPG 172 may be configured, based upon commands received from the user input device 175, to cooperatively work with the user input device 175 so that the viewer may request selected operations on a program of interest that is highlighted on the EPG.
  • the EPG data channel may include EPG information provided as the carousel of EPG information that is communicated in a periodic, serial fashion. That is, the EPG information in the EPG data channel is communicated in a serial format that is periodically repeated. If the television tuner device 170 has multiple tuners 124, one of the tuners 124 may be used to provide viewable programming and another tuner 124 can be used to tune to the EPG data channel to receive the carousel of EPG information.
  • the television tuner device 170 may include or be communicatively coupled to a recorder 136, such as a DVR (digital video recorder).
  • the recorder 136 may be integrated into the television tuner device 1 70 or may be a stand-alone device.
  • the recorder 136 may be operated by a user who programs the device or receiver function to record a particular program at a specified time. When the program occurs, the recorder 136 will record and store the program, which can then be viewed later.
  • the recorder 136 may buffer a certain amount of content during a currently broadcast transmission. Buffering a currently broadcast transmission allows a user to pause and/or rewind the content of the transmission and to then display the content in a non-live or delayed manner.
  • the television tuner device 170 may include or be associated with a memory or other storage device 164, such as magnetic or optical storage.
  • the storage device 164 may be operable to store data received from the decoded satellite signal.
  • the storage device 164 may be operable to store data received from the decoded satellite signal.
  • the storage device 164 may be volatile or non-volatile memory implemented using any suitable technique or technology such as, for example, random access memory (RAM), disk storage, flash memory, solid state, and the like.
  • RAM random access memory
  • the storage device 164 may be located either within the television tuner device 170 or separately from the television tuner device 170.
  • the storage device may also be removable in nature.
  • the stored data set may include audio and/or visual content to be transmitted and displayed through the display 180.
  • audiovisual or audiovisual content may include still images, video images, animation and/or audio.
  • Portable Network Graphics (PNG) or other appropriate formats such as for example, Tagged Image File Format (TIFF), Joint Photographic Experts Group (JPEG), Motion Picture Experts Group (MPEG)-2, MPEG-4 may be used to display an image or video.
  • videos or other programs may be stored locally in storage device 164.
  • Stored programs may include for example recorded broadcasts, pay-per-view items and/or buffered portions of a current video broadcast.
  • the storage device 164 may contain various partitions or separate storage portions and may be used for implementation of a program buffer, DVR digital video recorder resources, and/or an EPG data and/or access logic storing portion 152.
  • the storage device 164 may additionally store an application, file, module or other data that is useable by the processor 134.
  • a stored application may be executed by the processor 134 to display content on the display 180, for example display module 148.
  • an application or module includes processor executable code that may be run to carry out one or more functions associated with the television tuner device 170.
  • "Processor executable code” includes any computer-readable media or commands that may be ultimately interpreted by a processor, such as HTML or XML files that are rendered into user- viewable applications by an application executed by the processor.
  • the processor or the television tuner device 170 may comprise a presentation device interface portion to hold this code.
  • the processor 134 may execute commands received from a user.
  • User commands may be sent to the television tuner device 170 through the user input device 175 such as a remote or other wireless device, such as a remote control.
  • the user input device 175 may be a remote control that allows the user to interact with the television tuner device 170.
  • the user input device 175 may permit an end-user to interact with the EPG 172 and/or recorded video displayed by the television tuner device 170 on the end-user display device 180 in accordance with features of certain embodiments disclosed herein.
  • Information sent to the television tuner device 170 may include, for example, a command to change the displayed channel, a command to pause, fast-forward, and/or rewind a displayed program, a command to display an EPG 172, and/or a command to navigate through the EPG 172. Commands sent to the television tuner device 170 may be entered through a dedicated display menu.
  • An end-user computing system 106 may be communicatively coupled or couplable to the television tuner device 170 and/or the network 185.
  • the end-user computing system 106 may be communicatively coupled or couplable to an email/calendar back-end system 107.
  • the end-user computing system 106 and/or email/calendar back-end system 107 the end-user computing system 106 may include any device or set of devices configured to compute, process, organize, categorize, qualify, send, receive, retrieve, generate, convey, store, display, present, detect, handle, and/or use any form of information and/or data suitable for embodiments described herein.
  • the end-user computing system 106 and/or email/calendar back- end system 107 may include one or more processing resources communicatively coupled to one or more storage media, random access memory (RAM), read-only memory (ROM), and/or other types of memory.
  • the end-user computing system 106 and/or email/calendar back-end system 107 may include any one or combination of various input and output (I/O) devices, network ports, and display devices.
  • the end-user computing system 106 and/or email/calendar back-end system 107 could include a single computing device, a server, for example, or multiple computing devices, which may be implemented in or with a distributed computing and/or cloud computing environment with a plurality of servers and cloud-implemented resources.
  • the end-user computing system 106 and/or email/calendar back-end system 107 may include one or more servers.
  • the one or more servers may be hosted and maintained by one or more organizations for the management of calendar information (and other information in some embodiments) for accounts associated with the one or more organizations.
  • the one or more servers may be hosted and maintained by one or more organizations for the management of calendar information for other organizations. In some embodiments, such accounts may be available to members of the general public.
  • Various embodiments of the present disclosure may be implemented with a web interface that may be presented using a browser application.
  • FIG. 2 is a simplified diagram of an event management system 200, in accordance with certain embodiments of the present disclosure.
  • the example depicted provides one high-level configuration, but, in light of the present disclosure, various embodiments may be used with systems having different configurations and/or different components.
  • the components illustrated may represent physical and/or functional components or groupings of components in systems.
  • the event management system 200 may include a television programming system 108 and a calendar system 110.
  • the television programming system 108 may include one more components of the system 100.
  • the television programming system 108 may include a network interface 106 A, the end-user system 165, and/or the television service provider 135.
  • the event management system 200 may manage and/or facilitate management of calendar information related to television programming on behalf of one or more user accounts. For example, a user may have an account with the television service provider 135. In some embodiments, the account may be linked to one or more other accounts, such as an account of the same user and/or of different users with the calendar system 110 and/or the television service provider 135.
  • the event management system 200 may maintain calendar information that corresponds to the states of one or more calendars.
  • the calendar system 110 may be set up for particular purposes, such as event management for television programming.
  • the event management system 200 may not be associated with an email system.
  • the calendar system 110 may be a component of a larger system that may manage email, electronic tasks, and other information on behalf of one or more accounts.
  • the event management system 200 may be associated with an email system and may include a personal information management system that allows for managing email, personal tasks, calendar features, journal entries, notes, and/or other information. While examples are described with respect to the calendar system 1 10, the features may be included in a larger system.
  • the calendar system 1 10 may include calendaring functionalities that may include a graphical user interface for a calendar.
  • the graphical user interface may allow for scheduling appointments.
  • the graphical user interface may allow users to specify or select appointment characteristics (e.g., via check boxes, buttons, drop-down menus, selectable fields, etc.).
  • Appointment characteristics may include one or more of descriptive event information such as a subject for an appointment, time information such as a start time for an appointment, an end time for an appointment, and/or other time information, a recurrence setting for an appointment, duration information, alarm/reminder information/settings, busy/free time information, attendee information, and/or the like.
  • calendar information may include data relating to one or more appointment characteristics.
  • the event management system 200 may provide for adding events (i.e., calendar events) for television programming to the calendar system 1 10.
  • an event i.e., a calendar event
  • an event which may include one or more of appointment, a meeting, and/or a reminder
  • an event which may include one or more of appointment, a meeting, and/or a reminder
  • an event may include one or more electronic records corresponding to one or more particular blocks of time.
  • an event may include for example without limitation descriptive program information, a program time, a program duration, and/or reminder settings.
  • the reminder settings may include a number of reminders and corresponding time information.
  • the calendar system may allow a user to send calendar events to one or more other users.
  • the calendar system 110 may correspond to a client-server configuration used in email systems in group computing environments. It is currently commonplace for group computing environments to include an email system that includes a calendaring functionality.
  • the email/calendar system 1 10 may correspond to a client-server configuration used in email systems in other computing environments. It is currently commonplace for individuals to use an email system that includes a calendaring functionality. Examples of such systems for use in group computing environments and/or other environments include Microsoft® Outlook®, Lotus Notes®, GmailTM and Google CalendarTM, etc.
  • Microsoft® Outlook® is a common email client used with Microsoft® Exchange Servers. These email systems are typically configured to provide email, calendaring, and other applications to users.
  • the event management system 200 may use any suitable formats, standards, protocols, specifications and the like for calendaring data and synchronization, such as, without limitation, those used in view of Apple® iCal®, CalDAV, SyncML, and/or the like.
  • the calendar system 110 shown in FIG. 2 may include a calendar client 106B (referenced simply as a client) and one or more calendar servers 107.
  • the client 106B may include a software component running on the end-user computing device 106.
  • the client 106B may be or include a calendar client such as a standalone or separate software component running on the end-user computing device 106.
  • the client 106B may not be integrated or otherwise associated with email features. In other embodiments, the client 106B may be an email client, integrated or otherwise associated with email features as well as calendar features. Accordingly, the client 106B may allow for managing email, personal tasks, calendar features, journal entries, notes, and/or other information.
  • the calendar servers 107 may operate as and/or include one or more email system servers. As such, the calendar servers 107 may allow for managing email, personal tasks, calendar features, journal entries, notes, and/or other information. In some embodiments, the one or more calendar servers 107 may riot be integrated or otherwise associated with email features/servers. In some embodiments, calendar information may be maintained in data storage accessible to the one or more calendar servers 107 for various accounts facilitated by the calendar servers 107. For example, the calendar servers 107 may be communicatively coupled to one or more calendar information repositories 107 A. The calendar servers 107 may store, or have access to stored, electronic records of appointments in association with accounts associated with the calendar system 110.
  • the calendar information may indicate various state and appointment information for one or more calendars.
  • the calendar information may include data that indicates or may be used to indicate a state of a block of time.
  • a state of a block of time may correspond to being occupied, unoccupied, and/or other states.
  • Users may access stored information via one or more calendar servers 107 through a graphical user interface presented via the device 106 and/or client 106B.
  • a user may set an appointment through a graphical user interface that allows the user to specify conditions for a block of time for a calendar of the user's account, and the one or more calendar servers 107 may store a corresponding record of the appointment so that the record is associated with the user's calendar/account.
  • the client 106B may receive user input for the scheduling of appointments or the modification of scheduled appointments.
  • corresponding calendar information may be transmitted from the client 106B to the calendar server(s) 107 for data storage.
  • corresponding calendar information may be stored in local data storage.
  • the end-user computing device 106 may include a network interface 106A.
  • the one or more network interfaces 106A may include for example without limitation a web interface allowing for communication with the end-user system 165 and/or the television service provider 135.
  • the television service provider 135 may have web site/portals providing for such communication.
  • the network interface 106A may include any suitable input/output module or other system/device operable to serve as an interface between the end-user computing device 106 and the network 185.
  • the network interface 106 A may facilitate communication over the network 185 using any suitable transmission protocol and/or standard.
  • the television service provider 135 may facilitate the network interface 106A, for example, by making available one or more of a website, a web page, a web portal, a web application, a mobile application, enterprise software, and/or any suitable application software. While certain embodiments of the present disclosure provide non-limiting examples of the access to a user's calendar directly through the end-user computing device 106, it should be appreciated that certain embodiments include access to a user's calendar through the end-user system 165.
  • the end-user computing device 106 may include a mobile computing device that may be any portable device suitable for sending and receiving information over a network in accordance with embodiments described herein.
  • the mobile computing device may include one or more devices variously referenced as a mobile phone, a cellular telephone, a smartphone, a handheld mobile device, a tablet computer, a web pad, a personal digital assistant (PDA), a notebook computer, a handheld computer, a laptop computer, and/or the like.
  • the end-user computing device 106 may include one or more of a desktop computer, personal computer, and/or the like.
  • the end-user computing device 106 may be configured to communicate with one or more of the calendar server 107, the end-user system 165, and/or the television service provider 135.
  • the email client 106B and the calendar server 107 may be configured to communicate with each other via the network 185.
  • the end-user computing device 106 may be configured to communicate (e.g., via the network interface 106A) with the end-user system 165 via the network 185 and/or directly.
  • the end-user computing device 106 (e.g., via the network interface 106A) may be configured to communicate with the television service provider 135 via the network 185.
  • the client 106B may include a plug-in 106C that is associated with the client 106B.
  • the plug-in 106C may enable communications between the client 106B and the television programming system 108.
  • the plug-in 106C may include a set of software components that enable the communications.
  • the plug- in 106C may be implemented according to any suitable techniques, and may facilitate communications using any suitable protocols and techniques.
  • the plug-in 106C may enable any of the interactions between the client 106B and the television programming system 108.
  • information may be communicated to and/or from one or more components of the television programming system 108.
  • the television tuner device 170 and/or the television service provider 135 may receive and/or send calendar information.
  • calendar information may be based at least in part on any suitable communication, instruction, data, flag, signal, and/or otherwise that is a basis for, otherwise indicative of information for, creating and/or modifying a calendar event related to television programming.
  • calendar information may be pushed or pulled from the television tuner device 170 and/or the television service provider 135 on a periodic or random basis.
  • calendar information may be pushed or pulled from the television tuner device 170 and/or the television service provider 135 based on a state change corresponding to a recording schedule, such as a user selection of a program for recording.
  • FIG. 3 is a simplified illustration of an embodiment of an end-user system 365, which may correspond to the end-user system 165, in accordance with certain embodiments of the present disclosure.
  • the end-user system 365 may include the television tuner device 370, which may be a set-top box (STB) in certain embodiments, and an end-user display device 380.
  • the display 380 can be controlled by a user 350 using a user input device 375 that can send wireless signals 376 to communicate with the television tuner device 370 and/or display 380.
  • the television tuner device 370 can be configured to receive communications from the user input device 375.
  • a "user input device” may include any device operable to receive input from a user and to convey the input to the television tuner device in accordance with features of certain embodiments disclosed herein.
  • the user input device may include a mobile computing device such as one or more devices variously referenced as a mobile phone, a cellular telephone, a smartphone, a handheld mobile device, a tablet computer, a web pad, a personal digital assistant (PDA), a notebook computer, a handheld computer, a laptop computer, or the like.
  • PDA personal digital assistant
  • a mobile application may be made available for use on a mobile computing device to at least in part transform the mobile computing computing device into user input device in accordance with certain embodiments.
  • Various embodiments may include a specific purpose-based mobile application, a mobile application integrated with various other mobile application features, or a native application on a dedicated device.
  • a mobile application executed on a mobile computing device may provide for a user input device in accordance with features of certain embodiments disclosed herein.
  • the user input device may include one or more of a dedicated television remote control device, touchpad, remote control unit with motion sensing, and/or the like. . ,
  • FIG. 3 depicts a non-limiting example display 302 of an EPG, which may correspond to the EPG 172.
  • the display 302 of the EPG may be executed by the television tuner device 370, and may be displayed on the display device 380.
  • the display of an EPG may be presented to the user on the user input device.
  • the display of an EPG may be presented to the user via the end-user computing device 106.
  • the display of an EPG may be presented to the user via a mobile computing device.
  • the display of an EPG may be presented to the user via web interface and an online account provided by a service provider.
  • the user may view and navigate the EPG remotely from the display 380 and/or the television tuner device 370, with one or more additional interfaces.
  • the example display 302 shows an EPG view that takes up a portion of the screen of the display device 380.
  • the EPG view may take up the entire screen or only a portion, such as a lower portion, a side portion, a combination of lower and side portions, etc.
  • a viewing window 303 that may display a program may be displayed in addition to the EPG view 302.
  • the EPG view 302 shows a certain view of the overall EPG information with certain times 304, certain channels 306, and certain corresponding programs 308.
  • the EPG display 302 may exemplify available programming that a user 350 may see and be able to select for display or recording by a recorder.
  • the television tuner device 370 may include or be communicatively coupled to a recorder, such as a DVR.
  • the user 350 may be permitted to scroll left and right to display television programming scheduled to be shown earlier or later, respectively.
  • The may be permitted to scroll up and down to display television programming scheduled to be shown on various channels.
  • the EPG may include search function that permits the user 350 to search through the television programming information stored by EPG. While only a limited number of channels are depicted in the example of FIG.
  • search function may permit the user 350 to locate particular information within the extensive available television programming information by searching for particular text.
  • the search function may allow for some form of text entry, such as an on-screen keyboard, that permits the user 350 to provide a search string.
  • the search string may be used to search television programming information of the EPG.
  • the DVR may be set to record the program.
  • the program to be recorded may be one that is currently being broadcasted.
  • the program to be recorded may be one that will be broadcasted at a future time.
  • information corresponding to one or more programs may be transferred from the television tuner device 370 to one or more other components of the programming system 108 and/or one or more components of the calendar system 1 10.
  • information corresponding to one or more programs may be transferred to one or more of the end-user computing device 106, the television service provider 135, and/or the calendar system 110.
  • the information may be indicative of a program to be recorded.
  • the information may be indicative of a program that has already been recorded.
  • the information may include any suitable content in any suitable form to corresponding to one or more programs.
  • the information may indicate the title of the program.
  • the information may indicate time information corresponding to the program.
  • the time information may indicate a start time, an end time, and/or a duration.
  • the information may include instructions to create a calendar event.
  • the information may include calendar information.
  • the information may be a basis for calendar information.
  • calendar information may be derived from the information transferred from the television tuner device 370.
  • the television service provider 135 may send the information to one or more of the end-user computing device 106, the television service provider 135, and/or the calendar system 110.
  • the end-user system 365 may send the information to the television service provider 135, and the television service provider 135 may in turn relay the information, or otherwise send corresponding information based on the information received, to the end-user computing device 106 and/or the calendar system 1 10.
  • the information may be pulled by the end-user computing device 106 and/or the calendar system 110.
  • the information may be transferred via the network 185.
  • the information may be transferred directly from the end- user system 365 to the end-user computing device 106 and/or the calendar system 1 10.
  • the network 185 may include a local network of the user 350, such as a home network that could include a wireless network.
  • the calendar system 1 10 may access a set of information indicative of a selected television program that came electronically from the television programming system.
  • the calendar system 110 may identify and/or extract an indication of descriptive information about the selected television program.
  • the calendar system 110 may -identify and/or extract an indication of a time corresponding to the selected television program.
  • the calendar system 110 may generate calendar event for an account of a user at least partially based on the set of information indicative of the selected television program.
  • the calendar system 110 may identify a description for the calendar event at least partially based on the indication of descriptive information about the selected television program.
  • the calendar system 110 may identify a block of time for the calendar event at least partially based on the indication of the time corresponding to the selected television program. Based at least in part on the identified information, the calendar system 110 may populate one or more fields of the event.
  • an event corresponding to a television program may be added persistently a user's calendar.
  • a record for the event may be stored in local storage of the client 106B.
  • a record for the event may be stored by the calendar server 107, for example, in the calendar information repository 110.
  • records for the event stored in local storage of the client 106B and by the calendar server 107 may be synchronized on a periodic basis and/or responsive to a state change of one or more records.
  • a user may select that an event for a particular program be added to the user's calendar on an individual basis. For example, an option menu may be displayed to the user upon selection of a particular program from the EPG. The option menu may present a user-selectable option to add an event for the particular program to the user's calendar. In some embodiments, a user may select that a series of events for a particular program series be added to the user's calendar on an individual basis. For example, an option menu may be displayed to the user upon selection of a particular program from the EPG, presenting a user-selectable option to add a series of events for the particular program series to the user's calendar.
  • the population of the user's calendar with events corresponding to the user's program selections may be automatic performed by default such that the user need not make a determination about whether to add an event each time the user selects a program.
  • the user may select that default when the user configures the user's preferences.
  • the user may select that default when the user initially links the user's calendar system 110 and the end-user system 165, or any time thereafter.
  • FIG. 4 shows one non-limiting example of a calendar 400 that may be a user interface used in the calendar system 1 10, in accordance with certain embodiments of the present disclosure.
  • the calendar 400 may be provided by an application executed on the end-user computing device 106.
  • the calendar 400 may be a user interface that allows the user to see and schedule appointments and meetings.
  • the calendar 400 appears as a table with columns corresponding to days and rows corresponding to time periods.
  • the calendar 400 may be, manipulated to allow for different views.
  • the calendar 400 may show different days, different ranges of days, different times, different ranges of times, and/or the like.
  • the calendar 400 depicts a view of a particular week, but different views of portions of days, any number of days, one or more months, etc. may be shown by the calendar 400.
  • the client 106B allows for the input of various parameters for a block of time corresponding to an event, at least partially based on the information from the television tuner device 370.
  • an event 402 has been automatically added to the calendar 400 at least partially based on the information from the television tuner device 370.
  • the information may include any suitable communication, instruction, data, flag, signal, and/or otherwise that is indicative of a program of interest that may or may not be scheduled for recording.
  • the information may be pushed or pulled from television tuner device 370 on a periodic, random, or other basis.
  • the information may be pushed or pulled from television tuner device 370 based on a state change with respect to the program, for example, when the program is selected for recording.
  • the event 402 may correspond to one or more of an appointment, a meeting, and/or a reminder.
  • the event 402 may include a display of any suitable descriptive information indicative of a television program. For instance, as depicted, the event 402 displays "Tuesday Night Football (Recording Scheduled)" to indicate the corresponding program.
  • the event 402 may have been added to the calendar 400 responsive a user selection of the corresponding program for recording with the end-user system 365.
  • the event 402 corresponds to a block of time. In the example depicted, the event 402 corresponds to the block of time from 7 p.m. to 10 p.m. on Tuesday, October 2.
  • the user may select a program that is recurring, for example, a program series. Accordingly, multiple events corresponding to the recurring instances of the program may be automatically added to the calendar. For example, the example of the event 402, which corresponds to "Tuesday Night Football," may recur every Tuesday night for a certain number of weeks. In addition to the event 402, multiple events for the program may be added to the user's calendar for the additional weeks. The calendar may be automatically populated with the additional events based on the user's specific direction to record the series of programs. In some embodiments, the addition of the events may be responsive to the user selecting only one instance of the program. Thus, the additional programs may be automatically scheduled for recording in some embodiments, and the additional events may reflect that. Alternatively, he additional programs may be automatically scheduled for recording, and the additional events may merely suggest the programs, as is discussed further herein.
  • FIG. 5 shows one non-limiting example of a calendar interface 500 that may be a user interface used in the calendar system 110, in accordance with certain embodiments of the present disclosure.
  • the calendar interface 500 may correspond to the event 402.
  • the calendar interface 500 may be accessed via user selection of the event 402.
  • the calendar interface 500 may correspond to an interface that allows a user to view details about, schedule, and/or manipulate appointments, meetings, and/or reminders for the calendar system 1 10.
  • the calendar interface 500 may include a subject field 502 for the event.
  • the subject field 502 may allow for the input of any suitable descriptive information indicative of a program. For instance, the subject field 502 may be populated with a character string, such as the title of a program.
  • the subject field 502 displays "Tuesday Night Football (Recording Scheduled)" to indicate the corresponding program that is scheduled to be recorded by the user's DVR. More specific information could displayed, such as details about a sporting event or about a movie.
  • the calendar interface 500 may include a location field 504.
  • the location field 504 may allow for the input of any suitable descriptive information indicative of a program.
  • the location field 504 may be populated with a character string, such as a location corresponding to a program.
  • the location field 504 displays "Channel 5" to indicate the channel on which the corresponding program is broadcasted.
  • the location field 504 could display other location information such as the location where the event is to occur. For instance, in the case of a sporting event, the location field 504 could display the city in which the event is to occur.
  • the calendar interface 500 may include fields 506 for a start date and/or a start time for the program.
  • the calendar interface 500 may include fields 508 for an end date and/or an end time for the program.
  • the calendar interface 500 may include an option 510 to control visibility of the event to others, for example, others that may be able to view certain aspects of a particular user's calendar information.
  • the visibility control option 510 may be configurable the user.
  • an event corresponding to a program may not be visible to others by default. Accordingly, the event may be kept private with respect to others.
  • an event may have a notes field 512 that allows for the input of notes about the program.
  • the notes field could allow for additional descriptive information such as a channel, a brief description of the television program, actors, a rating (e.g. , G, PG, PG-13, R), the year of release, and/or the like.
  • the notes field 512 displays details corresponding to the sporting event indicated.
  • an event 404 may be automatically added to the calendar 400 at least partially based on the information from the television tuner device 370 to indicate a program that has already been recorded by the user's DVR.
  • the event 404 may have been previously added to the calendar 400 prior to the program being recorded, and may have been subsequently updated to indicate a status change, viz., that the program had been recorded. For instance, as depicted, the event 404 displays "Spaghetti Western Classic (Recorded)" to indicate the corresponding program and that the program has been recorded.
  • an event that has been added to the calendar 400 may be updated to indicate that the recording of a program is in progress.
  • an event 406 displays "Presidential Debate (Recording)" to indicate the corresponding program and that the recording of the program in ongoing.
  • an event that has been added to the calendar 400 may be updated to indicate that the recorded program has been viewed.
  • the event 410 indicates that the corresponding program has been viewed.
  • events may include status identifiers to indicate the current status of scheduled television program recordings.
  • the calendar interface 500 may indicate the status of a recording.
  • the subject field 502 displays "Tuesday Night Football (Recording Scheduled)" to indicate the corresponding program and that the program is scheduled to be recorded with the user's DVR.
  • the subject field 502 may be subsequently and automatically updated when the recording is ongoing and/or after the program is recorded to reflect the change in status.
  • the example status identifiers of the events 402, 404, and 406 and the event corresponding to calendar interface 500 should not be construed as limiting.
  • Various embodiments according to the present disclosure may indicate the current status of scheduled television program recordings in any suitable way.
  • the status of recordings may be indicated with any suitable textual indicator.
  • the status of recordings may be indicated with any graphical indication.
  • various states of scheduled recordings may be graphically indicated and graphically distinguished from one another with text, icons, colors, and/or the like.
  • the status change for an event may be automatically updated based on status information received from the television tuner device 370.
  • the status information may include any suitable communication, instruction, data, flag, signal, and/or otherwise that is indicative of a status corresponding to a scheduled recording.
  • the status information may be pushed or pulled from television tuner device 370 on a periodic or random basis.
  • the status information may be pushed or pulled from television tuner device 370 based on a state change of the scheduled recording. For example, the status information may be pushed or pulled from television tuner device 370 based on a time corresponding to the beginning and/or ending of the recording.
  • the status change for an event may be automatically updated based on a clock associated with the end-user computing device 200 and/or the calendar system 110.
  • the calendar interface 500 may include an option 514 to cancel a scheduled recording.
  • a user selection of the option 514 may result in the calendar system 110 communicating with the end-user system 365 so that the program is not recorded by the user's DVR. Responsive to user selection of the option 514, information may be pushed or pulled from the calendar system 1 10.
  • the information may include any suitable communication, instruction, data, flag, signal, and/or otherwise that is indicative of a user instruction to cancel the scheduled recording.
  • the end-user system 365 may be configured to process the information and cancel the scheduled recording. Accordingly, certain embodiments may provide a user with the ability to manage scheduled recording via the calendar system 1 10.
  • the calendar system 1 10 may be configured to allow user management of start and/or end times of a scheduled recording.
  • User-selectable options 506A and 508A may allow a user to select different start and/or end time for a recording. For example, a user may use option 506A to change the scheduled start time for the recording from 7:00 pm to 6:30 pm; and a user may use option 508A to change the scheduled end time for the recording from 10:00 pm to 10:30 pm. In some embodiments, a user selection may not be finalized until the user selects a save option 516. Consequent to user selection of different time(s) via options 506A and/or 508A, information may be pushed or pulled from the calendar system 110. The information may include any suitable communication, instruction, data, flag, signal, and/or otherwise that is indicative of a user instruction to modify the scheduled recording.
  • the end-user system 165 may be configured to process the information and modify the scheduled recording accordingly.
  • the calendar system 110 may be configured to allow a user to cancel a scheduled recording via the calendar 400.
  • an event displayed on the calendar 400 corresponding to a scheduled recording may be configured with a user-selectable option 408 to cancel the recording.
  • an event displayed on the calendar 400 corresponding to a scheduled recording may be configured with a user- selectable option 408 to stop a recording that is in progress.
  • the option 408 may be implemented in any suitable manner and may be a pop-up menu available upon selection of the event 402. As depicted, the option 408 may display a user-selectable option to cancel the scheduled recording of the program corresponding to the event 402.
  • a user selection of the option 408 may result in the calendar system 110 communicating with the end-user system 365 so that the program is not recorded by the user's DVR, as discussed above with respect to the calendar interface 500.
  • other user-selectable options may be implemented in a similar manner to allow a user to select different start and/or end times for a recording.
  • the calendar interface 500 may include a reminder option 518 to provide the user with a reminder before a scheduled recording.
  • the reminder option 518 may by user customizable according to user preferences. For example, a user may only want reminders for programs that are broadcasted live.
  • FIG. 6A shows one non-limiting example of a reminder 600 that may be presented to a user via the calendar system 1 10, in accordance with certain embodiments of the present disclosure.
  • the reminder 600 may be automatically presented to the user to indicate a live broadcast and/or a scheduled recording.
  • the reminder 600 may be a pop-up window presented via the client 106B in some embodiments.
  • a reminder for a live broadcast and/or a scheduled recording may be provided via an email message and/or a text message sent to the end-user computing device 106 and/or another associated end-user computing device according to User-customizable preferences.
  • the reminder 600 may correspond to a live broadcast and may comprise descriptive information 602 indicative of the program that is to be broadcasted live.
  • a user may have selected the program to be recorded.
  • a user may not have selected the program to be recorded, but may have only selected that a reminder be set for the program.
  • the reminder 600 may include a dismiss option 604 for user selection to dismiss the reminder, a snooze option 606 for user selection to delay the reminder for a user-selectable time, and/or an option 608 to view details corresponding to the reminder.
  • selection of the option 608 may open a calendar interface 500 corresponding to the event.
  • the reminder 600 may indicate a status of the live broadcasted program.
  • the descriptive information 602 displays "(On Time)" to indicate the corresponding live program is expected to be broadcasted on time according to schedule.
  • the calendar 400 may indicate a status of the live broadcasted program.
  • the event 402, as depicted, includes a status identifier.
  • the reminder 600 and/or the calendar 400 may be updated to indicate current status information. For example, if a live event has been delayed or canceled, the reminder 600 and/or the calendar 400 may be automatically updated to reflect the change in status.
  • the status change for a live event may be automatically updated based on status information received from the television tuner device 370 and/or the television service provider 135.
  • the status information may include any suitable communication, instruction, data, flag, signal, and/or otherwise that is indicative of a status corresponding to a program scheduled to be broadcasted live.
  • the status information may be pushed or pulled from television tuner device 370 and/or the television service provider 135 on a periodic or random basis.
  • the status information may be pushed or pulled from television tuner device 370 and/or the television service provider 135 based on a state change of the scheduled live program.
  • the status information may be pushed or pulled from television tuner device 370 and/or the television service provider 135 based on a time corresponding to the beginning and/or ending of the recording, such as any suitable time before the scheduled start time.
  • the status change for an event may be automatically updated based on a clock associated with the end-sure computing device 200 and/or the calendar system 110.
  • the example status identifiers indicating a status of a live event may indicate the current status of scheduled live broadcast in any suitable way.
  • the status may be indicated with any suitable textual indicator.
  • the status may be indicated with any graphical indication.
  • various states of scheduled recordings may be graphically indicated and graphically distinguished from one another with text, icons, colors, and/or the like.
  • a user may be notified via the calendar system 110 if there is a conflict with an event added to the calendar 400.
  • a user may be notified via the calendar system 110.
  • a notification of a conflict and/or a schedule change may be provided via an email message and/or a text message sent to the end- user computing device 106 and/or another associated end-user computing device according to user-customizable preferences.
  • FIG. 6B shows one non-limiting example of a notification 620 that may be presented to a user via the calendar system 110, in accordance with certain embodiments of the present disclosure.
  • the notification 620 may be a pop-up window presented via the client 106B in some embodiments.
  • the notification 620 may be automatically presented to the user to indicate a schedule change for an event added to the calendar 400.
  • the notification 620 may correspond to a live broadcast and may comprise descriptive information 622 indicative of a delay for the program that is to be broadcasted live.
  • a user planning to rush home in order to view a live program may be notified of a schedule change and then may adjust plans accordingly.
  • a scheduled recording time may be automatically adjusted by the television tuner device 370 to account for the schedule change of the program.
  • an event in the calendar 400 may be automatically adjusted to account for the schedule change of the program.
  • a notification may be presented to a user in like manner.
  • the notification 620 may include an indication 624 of the conflict.
  • the indication 624 of the conflict may include a user- selectable option that leads to an interface to resolve the conflict.
  • a user's calendar may be populated with events based on one or more programs of interest to the user. FIG.
  • FIG. 7 shows one non-limiting example of the calendar 400 which has been populated with events based on one or more programs of interest to the user, in accordance with certain embodiments of the present disclosure.
  • the calendar has been populated with tentative events 412, 414, 416, and 418.
  • the tentative events may correspond to recording suggestions based on past programs of interest identified for the user.
  • an event corresponding to a program suggestion may only be added to open time periods of the user's calendar.
  • one or more components of the system 108 determine whether an open time period is available for a program suggestion.
  • one or more components of the system 108 identify an open time period prior to identifying a program suggestion. The system 108 could use the open time period as a search criterion in searching for program suggestions.
  • the system 108 may be agnostic as to open time periods according to the user's calendar, The system 108 may identify program suggestions, and the calendar system 110 may determine whether an open time period is available for a particular program.
  • an open time period may correspond to a time period when nothing is scheduled on the user's calendar. In some embodiments, an open time period may correspond to a time period when there is availability for recording one or more programs additional programs. Stated otherwise, an end-user subsystem 365 may have the ability to record multiple programs simultaneously for a given time period, and an open time period may depend on the number of programs that the end-user subsystem 365 can record simultaneously. For instance, if an end-user subsystem 365 can record three programs simultaneously and is only set to record one program for a given time period, that time period may be considered an open time period in some embodiments.
  • the tentative events may be graphically distinguished from other events in the calendar 400 in any suitable manner.
  • tentative events may be graphically indicated and graphically distinguished with text, icons, colors, and/or the like.
  • the events 412, 414, 416, and 418 displays descriptive text indicating that suggested programs.
  • the suggestions of the events 412, 414, 416, and 418 may be based on the user's past selections, such as one or more of events 402, 404, 406, 410 of indicated in the example of FIG. 4.
  • the automatic population of suggested events may be based on information received from the television tuner device 370 and/or the television service provider 135.
  • the information may be pushed or pulled from television tuner device 370 and/or the television service provider 135 on a periodic or random basis.
  • the status information may be pushed or pulled from television tuner device 370 and/or the television service provider 135 based on user interaction, such after a user makes a selection of a program for recording.
  • the television tuner device 170 (which, again, may correspond to the television tuner device 370 in some embodiments) may be in communication with one or more programming information servers, such as the programming information server 190, e.g., via the network 185.
  • the programming information server 190 may represent a computer system containing information on television programs and/or other content.
  • the programming information server 190 may have additional information about television programs and/or content in addition to (and/or the same as) what is present in the television programming information transmitted to the television tuner device 170 by the electronic programming guide server 150.
  • the programming information server 190 may have information about television programs such as: actors and/or actresses appearing in the television program, production of the television program (such as the director, the producer, the production company), the location of filming, a genre of the television program, television programs that are similar, and suggestions (e.g., "if you like television program ' ⁇ ,' you may enjoy television program 'y'"). Similar information may also be stored by the electronic programming guide server 150, such as in the programming database 160, but may not be transmitted to the television tuner device 170. Such information may be accessible by the television tuner device 170 via the network 185 from the electronic programming guide server 150 on request.
  • Similar information may also be stored by the electronic programming guide server 150, such as in the programming database 160, but may not be transmitted to the television tuner device 170. Such information may be accessible by the television tuner device 170 via the network 185 from the electronic programming guide server 150 on request.
  • the television tuner device 370 may compare information about television programs selected for recording, and/or otherwise identified as programs of interest to the user, to other programming information to identify program suggestions.
  • a user may be notified about a start of a new season of a program series of interest to the user.
  • the television service provider 135 may compare information about television programs selected for recording, and/or otherwise identified as programs of interest to the user, to other programming information to identify program suggestions.
  • Information corresponding to the suggestions may be available to the calendar system 1 10 for the automatic population of the calendar 400 with tentative events that suggest programs for recording.
  • calendar information corresponding to the suggestions may be pushed or pulled from the television tuner device 370 and/or the television service provider 135.
  • calendar information corresponding to the suggestions may be pushed or pulled from the television tuner device 370 and/or the television service provider 135 on a periodic or random basis, or based on a state change corresponding to a recording schedule, such as a user selection of a program for recording.
  • the calendar system 1 10 may be configured to allow a user to schedule a recording via the calendar 400.
  • an event displayed on the calendar 400 corresponding to a scheduled recording may be configured with a user- selectable option 428 to schedule a recording.
  • the option 428 may be implemented in any suitable manner and may be a pop-up menu available upon selection of the event 412.
  • the option 428 may display a user-selectable option to accept a suggestion to record the program corresponding to the event 412.
  • a user selection of the option 428 may result in the calendar system 110 communicating with the end-user system 365 so that the program is recorded by the user's DVR.
  • other user-selectable options may be implemented in a similar manner to allow a user to select different start and/or end times for a recording.
  • FIG. 8 shows one non-limiting example of a calendar interface 800 that may be a user interface used in the calendar system 1 10 corresponding to a suggested program, in accordance with certain embodiments of the present disclosure.
  • the calendar interface 800 may be similar to the calendar interface 500; however, instead of including an option 514 to cancel a scheduled recording, the calendar interface 800 may include an option 814 to record the suggested program.
  • a user selection of the option 814 may result in the calendar system 1 10 communicating with the end-user system 365 so that the suggested program is recorded by the user's DVR.
  • information may be pushed or pulled from the calendar system 1 10.
  • the information may include any suitable communication, instruction, data, flag, signal, and/or otherwise that is indicative of a user instruction to cancel the scheduled recording.
  • the end-user system 365 may be configured to process the information and schedule the recording.
  • the calendar 400 may be provided by an application executed on the end-user computing device 106.
  • the calendar 400 may be a user interface that allows the user to see and schedule appointments and meetings.
  • the calendar 400 appears as a table with columns corresponding to days and rows corresponding to time periods.
  • the calendar 400 may be manipulated to allow for different views.
  • the calendar 400 may show different days, different ranges of days, different times, different ranges of times, and/or the like.
  • the calendar 400 depicts a view of a particular week, but different views of portions of days, any number of days, one or more months, etc. may be shown by the calendar 400.
  • FIG. 9 illustrates an example of a user interface 900 for scheduling an event that includes a meeting, in accordance with certain embodiments of the present disclosure.
  • the user can use one or more meeting notification functions of the calendar system 110 to set up a meeting, invite attendees, and specify a location.
  • An event may include a meeting that may correspond to an appointment with multiple attendees.
  • the end-user that organizes the meeting may invite one or more attendees.
  • the user interface 900 may correspond to interfaces 500 and/or 800 but may further include features for a meeting notification.
  • a subject field 902 may allow for the input of any suitable descriptive information for the event, and a location field 904 may be populated with any suitable descriptive information for a corresponding location, such as the address of the user's home.
  • the interface 900 may be configured to include an attendees field 906.
  • the attendees field 906 may be populated with any suitable information identifying one or more attendees. For example, email addresses and/or other contact information of attendees may be specified in the attendees field 906.
  • the interface 900 may be configured to include a user-selectable invite option 908. Selection of the invite option 908 by the user may cause a proposal for the event to be sent to individuals specified as attendees.
  • the client 106B may submit parameters for the event to the server 107.
  • the server 107 may in turn distribute invitations to the specified attendees.
  • the specified attendees may be notified via an email user interface similar to those_ disclosed herein.
  • the specified attendees may accept, decline, or otherwise respond to the invitations.
  • an event may be added to an attendee's account along with the sending of the invitation, in a similar manner to embodiments described herein.
  • FIG. 10 illustrates an example method 1000 of providing for event management for television programming, in accordance with certain embodiments of the present disclosure.
  • the method 1000 may begin at block 1002.
  • Teachings of the present disclosure may be implemented in a variety of configurations that may correspond to the systems disclosed herein. As such, the order of the steps comprising the method 1000 may be shuffled in any suitable manner and may depend on the implementation chosen. Moreover, while the following steps may be separated for the sake of description, it should be understood that certain steps may be performed simultaneously or substantially simultaneously.
  • a user selection of a program of interest may be received.
  • a user may select a particular program via an EPG display.
  • a user may select a program type (e.g., via any suitable criteria that would indicate a program type, such as sports, a specific sport, a specific league, a specific team, and/or the like) via a user interface provided with the television tuner device.
  • a user may select a particular program or program type via an interface remote from the television tuner device, such as a web interface through which a user may manage an account with a television service provider that is associated with the user's television tuner device.
  • one or more timers may be set to record one or more programs based at least in part on the user selection of a program of interest.
  • the one or more timers may be associated with a DVR of the user's television tuner device, and the timer setting results in the DVR being scheduled to record a particular program.
  • a user may explicitly select an option to record one or more programs provided by the television tuner device or by another interface.
  • information indicative of the one or more programs of interest may be pushed and/or pulled so that the calendar system or pulled has calendar information needed to add one or more events to the user's calendar.
  • the information may be based at least in part on any suitable communication, instruction, data, flag, signal, and/or otherwise that is indicative or otherwise a basis for calendar information.
  • calendar information may be pushed or pulled from the television tuner device and/or the television service provider on a periodic or random basis.
  • calendar information may be pushed or pulled from the television tuner device and/or the television service provider based on a state change corresponding to a recording schedule, such as a user selection of a program for recording.
  • one or more events may be created and added to the user's calendar at least partially based on the information indicative of the one or more programs of interest.
  • one or more calendar reminders may also be set to actively notify the user regarding the one or more programs of interest.
  • information indicative of the program updates may be pushed and/or pulled so that the calendar system has access to the information.
  • one or more corresponding events may be updated at least partially based on the information.
  • a check for conflicts may be performed for the updated events.
  • the user may be notified regarding the update(s) and/or conflict(s), if conflict(s) have been identified.
  • one or more program suggestions may be determined. If one or more program suggestions are identified, the suggested programs may be automatically scheduled for recording in some embodiments, as indicated by the transition to block 1004. However, in some embodiments, the suggested programs may not be automatically scheduled for recording. As indicated by the transition to block 1006, whether or not the suggested program(s) are automatically scheduled to record, information indicative of the suggested program(s) may be pushed/pulled so that the calendar system has access to the information. As indicated by block 1008, one or more events may be created and added to the user's calendar at least partially based on the information indicative of the one or more suggested programs.
  • the process flow may then transition to one or more of blocks 1010 through 1016. However, in some embodiments, the process flow may instead transition to block 1024.
  • user input regarding the program suggestion(s) may be received. For example, in some embodiments, a user may select, via the calendar system, an option to record a suggested program. In some embodiments where a suggest program has been automatically scheduled to be recorded, a user may select, via the calendar system, an option to cancel the scheduled recording of the suggested program. In some embodiments, a user may select, via the calendar system, an option to indicate a level of interest in the suggested program.
  • the user may indicate, via a user-selectable option, that user is or is not interested in the suggested program.
  • information indicative of the suggested program(s) may be pushed/pulled so that the television tuner device has access to the information.
  • the user DVR may be set, to record the suggested program or a scheduled recording may be canceled.
  • program suggestion criteria may be modified based on the user input.
  • FIG. 11 illustrates an embodiment of a computer system 1100.
  • a computer system 1 100 as illustrated in FIG. 1 1 may be incorporated into devices such as a set top box (STB), a first electronic device, DVR, television, media system, personal computer, and the like. Moreover, some or all of the components of the computer system 1 100 may also be incorporated into a portable electronic device, mobile phone, or other device as described herein.
  • FIG. 1 1 provides a schematic illustration of one embodiment of a computer system 1 100 that can perform the methods provided by various embodiments. It should be noted that FIG. 11 is meant only to provide a generalized illustration of various components, any or all of which may be utilized as appropriate. FIG. 11, therefore, broadly illustrates how individual system elements may be implemented in a relatively separated or relatively more integrated manner.
  • the computer system 1100 is shown comprising hardware elements that can be electrically coupled via a bus 1105 (or may otherwise be in communication, as appropriate).
  • the hardware elements may include one or more processors 11 10, including without limitation one or more general-purpose processors and/or one or more special-purpose processors (such as digital signal processing chips, graphics acceleration processors, and/or the like); one or more input devices 1 1 15, which can include without limitation a mouse, a keyboard, a camera, and/or the like; and one or more output devices 1 120, which can include without limitation a display device, a printer, and/or the like.
  • the computer system 1 100 may further include (and/or be in communication with) one or more non-transitory storage devices 1125, which can comprise, without limitation, local and/or network accessible storage, and/or can include, without limitation, a disk drive, a drive array, an optical storage device, a solid-state storage device, such as a random access memory (“RAM”), and/or a read-only memory (“ROM”), which can be programmable, flash-updateable, and/or the like.
  • RAM random access memory
  • ROM read-only memory
  • Such storage devices may be configured to implement any appropriate data stores, including without limitation, various file systems, database structures, and/or the like.
  • the computer system 1 100 might also include a communications subsystem 1130, which can include without limitation a modem, a network card (wireless or wired), an infrared communication device, a wireless communication device, and/or a chipset (such as a BluetoothTM device, an 1102.11 device, a WiFi device, a WiMax device, cellular communication facilities, etc.), and/or the like.
  • the communications subsystem 1 130 may include one or more input and/or output communication interfaces to permit data to be exchanged with a network (such as the network described below, to name one example), other computer systems, television, and/or any other devices described herein.
  • a portable electronic device may communicate image and/or other information via the communications subsystem 1 130.
  • a portable electronic device e.g. the first electronic device
  • the computer system 1100 will further comprise a working memory 1 135, which can include a RAM or ROM device, as described above.
  • the computer system 1.100 also .can comprise software elements, shown as being currently located within the working memory 1 135, including an operating system 1140, device drivers, executable libraries, and/or other code, such as one or more application programs 1145, which may comprise computer programs provided by various embodiments, and/or may be designed to implement methods, and/or configure systems, provided by other embodiments, as described herein.
  • an operating system 1140 operating system 1140
  • device drivers executable libraries
  • application programs 1145 which may comprise computer programs provided by various embodiments, and/or may be designed to implement methods, and/or configure systems, provided by other embodiments, as described herein.
  • one or more procedures described with respect to the method(s) and features discussed above might be implemented as code and/or instructions executable by a computer (and/or a processor within a computer); in an aspect, then, such code and/or instructions can be used to configure and/or adapt a general purpose computer (or other device) to perform one or more operations in accordance with the described methods.
  • a set of these instructions and/or code might be stored on a non-transitory computer- readable storage medium, such as the storage device(s) 1125 described above.
  • the storage medium might be incorporated within a computer system, such as computer system 1100.
  • the storage medium might be separate from a computer system (e.g. j a removable medium, such as a compact disc), and/or provided in an installation package, such that the storage medium can be used to program, configure, and/or adapt a general purpose computer with the instructions/code stored thereon.
  • These instructions might take the form of executable code, which is executable by the computer system 1 100 and/or might take the form of source and/or installable code, which, upon compilation and/or installation on the computer system 1 100 (e.g., using any of a variety of generally available compilers, installation programs, compression/decompression utilities, etc.), then takes the form of executable code.
  • executable code which is executable by the computer system 1 100 and/or might take the form of source and/or installable code, which, upon compilation and/or installation on the computer system 1 100 (e.g., using any of a variety of generally available compilers, installation programs, compression/decompression utilities, etc.), then takes the form of executable code.
  • executable code which is executable by the computer system 1 100 and/or might take the form of source and/or installable code, which, upon compilation and/or installation on the computer system 1 100 (e.g., using any of a variety of generally available compilers, installation programs, compression/decompression utilities, etc.), then takes
  • some embodiments may employ a computer system (such as the computer system 1100) to perform methods in accordance with various embodiments of the technology. According to a set of embodiments, some or all of the procedures of such methods are performed by the computer system 1100 in response to processor 1110 executing one or more sequences of one or more instructions (which might be incorporated into the operating system 1140 and/or other code, such as an application program 1 145) contained in the working memory 1 135. Such instructions may be read into the working memory 1135 from another computer-readable medium, such as one or more of the storage device(s) 1 125. Merely by way of example, execution of the sequences of instructions contained in the working memory 1135 might cause the processor(s) 1110 to perform one or more procedures of the methods described herein. Additionally or alternatively, portions of the methods described herein may be executed through specialized hardware.
  • machine-readable medium and “computer-readable medium,” as used herein, refer to any medium that participates in providing data that causes a machine to operate in a specific fashion.
  • various computer-readable media might be involved in providing instructions/code to processor(s) 11 10 for execution and/or might be used to store and/or carry such instructions/code.
  • a computer-readable medium is a physical and/or tangible storage medium.
  • Such a medium may take the form of a non-volatile media or volatile media.
  • Non-volatile media include, for example, optical and/or magnetic disks, such as the storage device(s) 1125.
  • Volatile media include, without limitation, dynamic memory, such as the working memory 1135.
  • Common forms of physical and/or tangible computer-readable media include, for example, a floppy disk, a flexible disk, hard disk, magnetic tape, or any other magnetic medium, a CD-ROM, any other optical medium, punchcards, papertape, any other physical medium with patterns of holes, a RAM, a PROM, EPROM, a FLASH-EPROM, any other memory chip or cartridge, or any other medium from which a computer can read instructions and/or code.
  • Various forms of computer-readable media may be involved in carrying one or more sequences of one or more instructions to the processor(s) 1 1 10 for execution.
  • the instructions may initially be carried on a magnetic disk and/or optical disc of a remote computer.
  • a remote computer might load the instructions into its dynamic memory and send the instructions as signals over a transmission medium to be received and/or executed by the computer system 1 100.
  • the communications subsystem 1130 (and/or components thereof) generally will receive signals, and the bus 1 105 then might carry the signals (and/or the data, instructions, etc. carried by the signals) to the working memory 1 135, from which the processor(s) 1 1 10 retrieves and executes the instructions.
  • The- instructions received by the working memory 1135 may optionally be stored on a non-transitory storage device 1 125 either before or after execution by the processor(s) 1110.
  • configurations may be described as a process which is depicted as a flow diagram or block diagram. Although each may describe the operations as a sequential process, many of the operations can be performed in parallel or concurrently. In addition, the order of the operations may be rearranged. A process may have additional steps not included in the figure.
  • examples of the methods may be implemented by hardware, software, firmware, middleware, microcode, hardware description languages, or any cornbination thereof.
  • the program code or code segments to perform the necessary tasks may be stored in a non-transitory computer-readable medium such as a storage medium. Processors may perform the described tasks.

Abstract

Methods, systems, and apparatus provide for event management for television programming using a calendar system. A set of information indicative of a selected television program may be accessed. The set of information may be from a television programming system. An indication of descriptive information about the selected television program may be identified. An indication of a time corresponding to the selected television program may be identified. A calendar event for the calendar system may be generated at least partially based on the set of information. A description for the calendar event may be identified at least partially based on the indication of descriptive information about the selected television program. A block of time for the calendar event may be identified at least partially based on the indication of the time corresponding to the selected television program.

Description

EVENT MANAGEMENT FOR TELEVISION PROGRAMMING
TECHNICAL FIELD
[0001] This disclosure relates to apparatus and methods of content display, and particularly to event management for television programming.
BACKGROUND
[0002] A person watching television may have access to a large selection of television programming. Such television programming may be available across multiple channels and may include scheduled programming and on-demand programming. An electronic programming guide (EPG) may be used to view current and upcoming television programming.
[0003] In addition, various devices exist that can be used to receive and record television programs. In recent times, devices known as personal video recorders (PVRs) or digital video recorders (DVRs) have become commonplace. PVRs/DVRs use a hard drive to record digital data that represents a television program. Various optical media and other forms of memory can be used to record television programs or digital representations thereof.
[0004] A user of such television programming equipment can encounter a number of difficulties in managing available television programming. For example, with typical EPGs having an extensive list of channels and programming listings that extend over many days, navigating an EPG can be cumbersome. Along the same lines, even though a user may have selected a program of interest from the EPG, the user may not have the time or desire to go back through the EPG to find more programs of interest. Furthermore, a user who has selected programs for recording may forget about those programs. And, in the case of live television programs, a user may forget about live programs of interest, that are upcoming. Even if a user remembers about an upcoming live program, the user may make efforts to view the live program, only to find out after making the efforts that the program was canceled or was moved to a different time. Moreover, even if the user thought about the possibility of such changes, the user may not have time to check on the status of live programs of interest to determine if there has been a change. Another problem is that a user may have watched and/or recorded a program series in one season, but the user may not know or may forget about when the next season for the series begins.
[0005] A user may try to address one or more of the foregoing problems, but not without encountering a significant measure of inconvenience. Thus, there is a need for event management for television programming that addresses one or more of the foregoing problems in a convenient manner for a user. These and other needs are addressed by the present disclosure.
SUMMARY
[0006] Various methods, systems, and computer products are disclosed for event management techniques for television programming. Some embodiments provide for adding events for television programming to a calendar system. In some embodiments, the calendar system may be associated with an email system and/or may include an email system with calendar features. In some embodiments, the calendar system may not be associated with an email system. In some embodiments, an event may correspond to one or more of an appointment, a meeting, and/or a reminder in the calendar system. In some embodiments, the events may include for example without limitation descriptive program information, a program time, a program duration, and/or reminder settings. In some embodiments, the reminder settings may include a number of reminders and corresponding time information. In some embodiments, the calendar system may allow a user to send calendar events to one or more other users.
[0007] In some embodiments, a television tuner device may have access to a user's calendar provided via the calendar system. In some embodiments, a television service provider may have access to a user's calendar provided via the calendar system. In some embodiments, a television tuner device and/or a television service provider may add events to a user's calendar provided via the calendar system.
[0008] In some embodiments, the events, which may include appointments, and/or reminders, may notify a user that a television program has been recorded and is available for viewing. In some embodiments, the events may notify a user about an upcoming live televised event. In some embodiments, the events may be user-customizable. In some embodiments, user preferences/settings may be stored remotely. In some embodiments, a user can create and/or modify events via a television tuner device. In some embodiments, a user can create and/or modify events via an end-user computing device. In some embodiments, the end-user computing device may be remote from the television tuner device. In some embodiments, events are automatically added to a calendar system according to user selection of television programs via a television tuner device.
[0009] In some embodiments, notifications regarding events may be communicated to a user via email and/or texting service. In some embodiments, events added to a user's calendar may indicate a status of a corresponding television program. In some embodiments, the status may include whether a program has been scheduled for recording, recorded, viewed, suggested, on time, delayed, and/or canceled. In some embodiments, a user may select, via an interface for an event added to a user's calendar, whether a program is to be recorded or not recorded. In some embodiments, a user may manage recordings remotely via the calendar system. In some embodiments, if there is a conflict involving one or more scheduled recordings, a user may be notified via the calendar system. In some embodiments, a user may handle a conflict involving one or more scheduled recordings via the calendar system. In some embodiments, if there is a change in a program schedule, a user may be notified via the calendar system. In some embodiments, if there is a change in a schedule for a program corresponding to an event added to a user's calendar, the user may be notified via the calendar system.
[0010] In some embodiments, a user may be notified about a start of a new season of a program series of interest to the user. In some embodiments, a user's calendar may be populated with events based on one or more programs of interest to the user. In some embodiments, one or more program suggestions and/or queries may be presented to a user based at least in part on past events added to a user's calendar. In some embodiments, one or more program suggestions and/or queries may be presented to a user based at least in part on one or more open time periods of the user's calendar. In some embodiments, one or more programs may be automatically recorded based at least in part on one or more open time periods of the user's calendar.
[0011] In one aspect, a method provides for event management for television programming using a calendar system. A set of information indicative of a selected television program may be accessed. The set of information may be from a television programming system. An indication of descriptive information about the selected television program may be identified. An indication of a time corresponding to the selected television program may be identified. A calendar event for the calendar system may be generated at least partially based on the set of information. A description for the calendar event may be identified at least partially based on the indication of descriptive information about the selected television program. A block of time for the calendar event may be identified at least partially based on the indication of the time corresponding to the selected television program. The generating may include causing display of the calendar event.
[0012] In another aspect, a system provides for event management for television programming, using a calendar system. The system may include one or more processors and memory communicatively coupled with, and readable by, the one or more processors. The memory may have stored therein processor-readable instructions, which, when executed by the one or more processors, cause the one or more processors to perform a method. A set of information indicative of a selected television program may be accessed. The set of information indicative of the selected television program may have come electronically from a television programming system. An indication of descriptive information about the selected television program may be identified in the set of information. An indication of a time corresponding to the selected television program may be identified in the set of information. A calendar event for a calendar system may be generated at least partially based on the set of information indicative of the selected television program. A description for the calendar event may be identified at least partially based on the indication of descriptive information about the selected television program. A block of time for the calendar event may be identified at least partially based on the indication of the time corresponding to the selected television program. The generating may include causing display of the calendar event.
[0013] In yet another aspect, a television tuning device is configured to facilitate event management for television programming. The television tuning device may include one or more processors and one or more storage devices coupled to the one or more processors and configured to store instructions to cause the one or more processors to process an indication of a selected television program and to generate a set of information indicative of the selected television program. The set of information indicative of the selected television program may include an indication of descriptive information about the selected television program, an indication of a time corresponding to the selected television program, and an indication of a status of the selected television program. The instructions are to cause the one or more processors to transmit the set of information indicative of the selected television program to a calendar system to generate a calendar event at least partially based on the set of information indicative of the selected television program. A description for the calendar event is to be at least partially based on the indication of descriptive information about the selected television program. A block of time for the calendar event is to be at least partially based on the indication of the time corresponding to the selected television program.
[0014] Further areas of applicability of the present disclosure will become apparent from the detailed description provided hereinafter. It should be understood that the detailed description and specific examples, while indicating various embodiments, are intended for purposes of illustration only and are not intended to necessarily limit the scope of the disclosure.
BRIEF DESCRIPTION OF THE DRAWINGS
[0015] A further understanding of the nature and advantages of various embodiments may be realized by reference to the following figures in conjunction with the description of certain embodiments presented herein. However, the appended figures should be seen as limiting or defining the present disclosure.
[0016] FIG. 1 illustrates an embodiment of a system, in accordance with certain embodiments of the present disclosure.
[0017] FIG. 2 illustrates a simplified diagram of an event management system, in accordance with certain embodiments of the present disclosure.
[0018] FIG. 3 illustrates a simplified end-user system, in accordance with certain embodiments of the present disclosure.
[0019] FIG. 4 illustrates an example of a calendar that may be a user interface used in a calendar system, in accordance with certain embodiments of the present disclosure.
[0020] FIG. 5 illustrates an example of a calendar interface that may be a user interface used in the calendar system, in accordance with certain embodiments of the present disclosure.
[0021] FIG. 6A illustrates an example of a reminder that may be presented to a user via a calendar system, in accordance with certain embodiments of the present disclosure.
[0022] FIG. 6B illustrates an example of a notification that may be presented to a user via a calendar system, in accordance with certain embodiments of the present disclosure.
[0023] FIG. 7 illustrates an example of a calendar which has been populated with events based on one or more programs of interest to a user, in accordance with certain embodiments of the present disclosure.
[0024] FIG. 8 illustrates an example of a calendar interface that may be a user interface used in a calendar system corresponding to a suggested program, in accordance with certain embodiments of the present disclosure.
[0025] FIG. 9 illustrates an example of a user interface for scheduling a meeting, in accordance with certain embodiments of the present disclosure.
[0026] FIG. 10 illustrates an example of a method of providing for event management for television programming, in accordance with certain embodiments of the present disclosure.
[0027] FIG. 1 1 illustrates an embodiment of a computer system, in accordance with certain embodiments of the present disclosure. [0028] In the appended figures, similar components or features may have the same reference label. Further, various components of the same type may be distinguished by following the reference label by a dash and a second label that distinguishes among the similar components. If only the first reference label is used in the specification, the description is applicable to any one of the similar components having the same first reference label irrespective of the second reference label.
DETAILED DESCRIPTION
[0029] Certain embodiments of the present disclosure are directed to apparatus and methods of content display, and particularly to implementing navigation techniques for electronic programming giiides and recorded video. The navigation techniques may be more intuitive and efficient. These and other benefits will be explained in detail below.
[0030] Although embodiments detailed herein may be directed toward controlling television- based equipment, the principles easily can be extended to other types of content and devices, such as video game equipment, computer equipment, handheld electronic devices, and the like. In addition, the terms "television" or "television service" can include traditional television programming, such as linear television programs, as well as other types of audio, video and/or audio/video content, such as on-demand video content, streaming video content and the like delivered via any type of content delivery systems, such as a cable, satellite, cellular/wireless, Internet/IP and/or any other content delivery technology or system currently known or hereafter developed. Furthermore, embodiments herein describe set-top boxes and/or other devices being connected with a television or other device having an electronic display. However, the automated calibration process can also be incorporated into the device having the electronic display, such as a television with an integrated cable, satellite or IPTV receiver. The technology discussed herein additionally can be extended to any of a variety of other electronic display devices, such as, for example, computers, tablets, hand-held mobile devices, cell phones, e-readers, personal media players, and the like. A person of ordinary skill in the art will recognize various alterations, additions, omissions, and substitutions.
[0031] Certain embodiments according to the present disclosure may solve a number of difficulties that a user of television programming equipment can otherwise encounter in managing available television programming. Certain embodiments may facilitate the identification of programs of interest to a user, alleviating the oftentimes cumbersome efforts of navigating an EPG. Certain embodiments may save time for user by identifying programs of interest. Certain embodiments may facilitate selection of programs for recording. Certain embodiments may aid a user in keeping track of programs of interest. Certain embodiments may aid a user in keeping track of whether or not programs of interest have been scheduled for recording, recorded, viewed, suggested, on time, delayed, and/or canceled. Certain embodiments may aid a user in keeping track of live television programs. Certain embodiments may aid a user in being aware of schedule changes for television programs. Certain embodiments may be integrated or otherwise used in conjunction with an email/calendar user, thereby providing a convenient approach to managing television programming. Certain embodiments provide for improved and convenient personal information management that addresses one or more problems associated with television programming experiences.
[0032] FIG. 1 illustrates an embodiment of a system 100, in accordance with certain embodiments of the present disclosure. The system 100 may include: a television service provider 135, an uplink station 110, a television programming services system 140, an electronic programming guide server 150, a programming database 160, a satellite 120, an end-user system 165, end-user equipment 130, a television tuner device 170, a user input device 175, an end-user display device 180, a network 185, and a programming information server 190. In some embodiments, more or fewer components may be present.
[0033] In some embodiments, a satellite-based television service, such as direct broadcast satellite (DBS) service, is used to deliver television services to end-users. DBS service may involve television channels and/or other content (e.g., on-demand programming) being transmitted via a satellite uplink and multiple downlinks to end-user equipment configured to receive satellite transmissions. As such, a single uplink (or multiple uplinks) may be used to deliver television channels and other content to a large number of end-users.
[0034] In the system 100, the uplink station 1 10 is configured to transmit one or more television channels and/or other content to the satellite 120. The satellite 120 may be located in geosynchronous orbit to provide continuous service to a particular geographical area. The satellite 120 may serve to relay information received from the uplink station 1 10 to a plurality of sets of end-user equipment such as the end-user equipment 130. In the system 100, only equipment linked to a single set of end-user equipment is illustrated for the sake of simplicity. For example, the end-user system 165 may contain the components present at an end-user's home or business. It should be understood that the system 100 may be used to deliver television channels and other content to many end-users, which may involve many end-user systems similar to the end-user system 165. [0035] The end-user system 165 may include the television tuner device 170. The television tuner device 170 may be associated with or located near an individual, business, or other entity, user or subscriber that receives a program service transmission from the service provider 135. The program service transmission may be received through a subscription to the service. Generally the terms "user" and/or "subscriber" refer to an individual or company who receives a program service transmission. This may include those who have purchased a subscription to the program service transmission. Additionally, the terms "user" and/or "subscriber" may refer to individuals who have been given access to the program service transmission through promotional offers and/or other non-fee-based agreements.
[0036] The television programming services system 140 may represent one or more computer systems that are configured to provide one or more television channels and/or other content to the uplink station 110 to be delivered to the end-user equipment 130. The electronic programming guide server 150 may be part of the television programming services system 140 or may be separate. The electronic programming guide server 150 may provide television programming information to the television tuner device 170.
[0037] The electronic programming guide server 150 may communicate with one or more programming databases, such as the programming database 160. The programming database 160 may be located locally to electronic programming guide server 150 or may be remotely accessible. The programming database 160 may contain television programming information to be presented to end-users.
[0038] The television service provider 135 may own, manage, and/or operate the uplink station 110, the television programming services system 140, the electronic programming guide server 150, and/or the programming database 160. There may be more than one television service provider 135. In some embodiments, some or all of these components may be owned and/or operated by entities other than the television service provider 135.
[0039] The end-user equipment 130 may be configured to receive DBS service. The downlink from the satellite 120 to the end-user equipment 130 may be unidirectional. As such, while signals may be transmitted from the satellite 120 to the end-user equipment 130, signals may not be transmitted from the end-user equipment 130 to the satellite 120. Thus, while information may be received by the end-user equipment 130 from the television service provider 135 via the satellite 120, it may not be possible to use the same communication link to transmit information back to the television service provider 135. However, in some embodiments, the satellite communication link may be bidirectional.
[0040] The end-user equipment 130 may include one or more satellite dishes configured to receive signals from the satellite 120. In some embodiments, the end-user equipment 130 may include a single satellite dish equipped with multiple tuners. In some embodiments, a single tuner is connected with a satellite dish. In the system 100, a single television tuner device, the television tuner device 170 equipped with one or more tuners 124, is illustrated as connected with the end-user equipment 130. It should be understood that, in other embodiments, the end- user equipment 130 may be connected with multiple television tuner devices.
[0041] The television tuner device 170 may be or include a standalone piece of equipment, such as a set-top box. In some embodiments, the television tuner device 170 may be incorporated as part of another device, such as a television (or some other form of the end-user display device 180).. The television tuner device 170 may communicate with multiple other pieces of equipment, such as the user input device 175, and the end-user display device 180. The end-user display device 180 may be a device that is used to display television channels and/or other televised content to an end-user. Examples of possible end-user display devices may include: televisions, computer systems, and mobile devices.
[0042] The television tuner device 170 may serve as an interface between the signals received from the satellite 120 by the end-user equipment 130 and the end-user display device 180. The television tuner device 170 may be configured to receive, analyze, and transmit information received from the satellite 120 by the end-user equipment 130 to the end-user display device 180. The television tuner device 170 may include a decoder 128 to decode received signals. The decoder 128 may be programmed to decrypt or otherwise decode some or all of the received signals in accordance with purchases and selections made by a user.
[0043] While the television tuner device 170 may receive information via the satellite 120 from the television service provider 135, this communication link may not allow information to be transmitted from the television tuner device 170 back to the television service provider 135, in certain embodiments. As such, another communication link may be used for communication that originates from the television tuner device 170. In the example depicted, the television tuner device 170 is in communication with the network 185.
[0044] The television tuner device 170 may include a network interface 132. The network interface 132 may be operable to communicate or send information across a data network, such as a packet based data network 185. The network interface 132 may take the form of a modem network interface card, cable plug or jack, or the like. Using the network interface 132, the television tuner device 170 may communicate over a network 185 such as the public switched telephone network (PSTN).
[0045] However, it should be appreciated that the network 185 may be any type of network capable of data communication, such as, for example, a local or wide area network or the Internet. Thus, the network 185 may be any suitable means to facilitate data transfer in the system 100. In various embodiments, the network 185 may be implemented with, without limitation, one or more of the Internet, a wide area network (WAN), a local area network (LAN), a wireless local area network (WLAN), a metropolitan area network (MAN), a cellular network, such as through 4G, 3G, GSM, etc., another wireless network, a gateway, and/or any other appropriate architecture or system that facilitates the communication of signals, data, and/or message. The network 185 may transmit data using any suitable communication protocol. The network 185 and its various components may be implemented using hardware, software, and communications media such wires, optical fibers, microwaves, radio waves, and other electromagnetic and/or optical carriers, and/or any combination of the foregoing.
[0046] The television tuner device 170 may be configured to communicate via a home Wi-Fi network, a local area network, a cable modem, DSL modem, or any other form of available connection with the Internet. The television tuner device 170 may communicate through the network interface 132 using any suitable communication protocol such as TCP/IP. The television tuner device 170 may communicate with one or more websites through the network interface 132. In so doing, the television tuner device 170 may reference and receive information or other content that may be outputted on a display to provide an enhanced or expanded graphical user interface (GUI), in accordance with an example embodiment.
[0047] Through the network interface 132, a user may communicate with the service provider 135 in some embodiments. For example, a request for specific television programming information may be communicated to the service provider 135. As another example, the television tuner device 170 may be able to communicate with the electronic programming guide server 150. The television tuner device 170 may receive information or other content that may be outputted on the display 180 from the service provider 135. This information could include audiovisual clips or the like. Thus, while in the system 100 television programming information may be received by the television tuner device 170 via the satellite 120, it should be understood that in some embodiments television programming information may be transmitted to the television tuner device 170 by the electronic programming guide server 150 via the network 185. As such, the communication link between the television tuner device 170 and the electronic programming guide server 150 via the network 185 may be used for bidirectional communication.
[0048] In the system 100, television channels and/or other content may be delivered to end- users via a direct broadcast satellite arrangement. However, it should be understood that embodiments of this disclosure may pertain to other forms of televised content delivery. For example, cable television, which utilizes a cable network, may utilize various arrangements for organizing search results within an electronic programming guide as described herein. Similarly, a fiber-based television network and/or IP -based television network may utilize various arrangements for organizing search results within an electronic programming guide as described herein.
[0049] As depicted, the television tuner device 170 may be in communication with one or more programming information servers, such as the programming information server 190, e.g. , via the network 185. The programming information server 190 may represent a computer system containing information on television programs and/or other content. For . example, the programming information server 190 may have additional information about television programs and/or content in addition to (and/or the same as) what is present in the television programming information transmitted to the television tuner device 170 by the electronic programming guide server 150.
[0050] The television tuner device 170 may include one or more processors 134 operable to run executable code in connection with various functions associated with the television tuner device 170. For example, the processor 134 may display graphics, images, animations or other content on the display 180, such as a television (TV) or monitor. In the case of receiving commands or other information relating to changes to the account status, the processor 134 may be further operable to initiate or facilitate transmission of one or more messages to the service provider 135. The processor 134 may be further operable to recall and display stored content, such as purchased or recorded programs.
[0051] Among other functions, the processor 134 may also receive, store, and/or display an onscreen graphical user interface (GUI) such as an Electronic Program Guide (EPG) 172, which may provide a schedule of program content and/or other features. Thus, the television tuner device 170 may be configured to execute and display (via the end-user display device 180) the EPG 172 based on television programming information received via the satellite 120 by the end- user equipment 130 from the electronic programming guide server 150. As used herein, the terms "electronic programming guide" or "EPG" may include an interface that includes a schedule of programming content provided to a user as part of a program service transmission system. The EPG 172 may include software and/or firmware executed by the television tuner device 170. The EPG 172 may comprise a database or may otherwise access a database containing information including, for example, names or titles of viewing events (programs), corresponding channel numbers and names, brief descriptions of the programs, start and finish times, and rating and content information related to the events. This information may be called EPG information or program information. Any suitable information may be included in the EPG information.
[0052] The EPG 172 may display on the end-user display device 180 program information for multiple times, multiple channels, and multiple television programs. For example, by an end-user interacting with EPG 172, the end-user may be able to determine at what time a television program is scheduled to appear on a particular television channel. The EPG 172 may also allow the end-user to switch between television channels. In addition to listing the time, channel, and name of the television program, additional information may be present for television programs, such as a brief description of the television program, a rating (e.g., G, PG, PG-13, R), and/or the year of release.
[0053] In some embodiments, such television programming information from the electronic programming guide server 150 may be transmitted for a period of days, such as a week, periodically, such as once per week, via the satellite 120 and/or the network 185. The EPG or program information may be communicated to the television tuner device 170 using a dedicated data channel. The processor 134 may execute a display module 148 or program, which accesses stored EPG data 152 and provides a formatted graphic output on the display 180.
[0054] In some embodiments, for EPG information provided on a specific channel, the tuner 124 may "tune" to the EPG data channel and collects the EPG information. The EPG information may be communicated in a serial fashion to the television tuner device 170, and thus, has a beginning and an end. For example, the EPG information may start with "program channel 1 " and provide programming information for a predefined number of days or the like for that particular channel. Next, EPG information for "program channel 2" for the predefined number of days or the like may follow, and so on, until the EPG information for all "program channels" has been communicated to the television tuner device 1 70. The communication of the EPG information then starts again at the beginning of the EPG information. In some instances, the EPG infonnation may simply be repeated. At other times, the EPG information may be updated and then communicated. This looped, periodically repeating communication of the entire EPG information is referred to as a "carousel" EPG information format.
[0055] If the television tuner device 170 begins receiving the EPG information midway during the communication of the "carousel" of EPG information, the television tuner device 170 understands that a complete set of EPG information has been received when it has gone through the entire carousel of EPG information. That is, the entire carousel of EPG infonnation has been received when the received EPG information has returned to its initial entry point into the carousel of EPG information.
[0056] While the television tuner device 170 is receiving the EPG information, or once the television tuner device 170 has received a full set of EPG information, the television tuner device 170 can construct and display an EPG to a viewer on their viewing device, such as a television or the like. If the entire carousel of EPG information has not yet been received, a partial EPG may be constructed and presented to the viewer.
[0057] The viewer is able to interactively scroll about the EPG to view available programming on a program channel of interest. Also, the viewer is able to navigate about the EPG to view textual information related to scheduled programming at future times of interest on selected program channels of interest. The EPG 172 may be configured, based upon commands received from the user input device 175, to cooperatively work with the user input device 175 so that the viewer may request selected operations on a program of interest that is highlighted on the EPG.
[0058] The EPG data channel may include EPG information provided as the carousel of EPG information that is communicated in a periodic, serial fashion. That is, the EPG information in the EPG data channel is communicated in a serial format that is periodically repeated. If the television tuner device 170 has multiple tuners 124, one of the tuners 124 may be used to provide viewable programming and another tuner 124 can be used to tune to the EPG data channel to receive the carousel of EPG information.
[0059] The television tuner device 170 may include or be communicatively coupled to a recorder 136, such as a DVR (digital video recorder). The recorder 136 may be integrated into the television tuner device 1 70 or may be a stand-alone device. The recorder 136 may be operated by a user who programs the device or receiver function to record a particular program at a specified time. When the program occurs, the recorder 136 will record and store the program, which can then be viewed later. In addition to this functionality, the recorder 136 may buffer a certain amount of content during a currently broadcast transmission. Buffering a currently broadcast transmission allows a user to pause and/or rewind the content of the transmission and to then display the content in a non-live or delayed manner.
[0060] The television tuner device 170 may include or be associated with a memory or other storage device 164, such as magnetic or optical storage. The storage device 164 may be operable to store data received from the decoded satellite signal. The storage device 164 may be operable to store data received from the decoded satellite signal. The storage device 164 may be volatile or non-volatile memory implemented using any suitable technique or technology such as, for example, random access memory (RAM), disk storage, flash memory, solid state, and the like. The storage device 164 may be located either within the television tuner device 170 or separately from the television tuner device 170. The storage device may also be removable in nature. The stored data set may include audio and/or visual content to be transmitted and displayed through the display 180. Generally, audiovisual or audiovisual content may include still images, video images, animation and/or audio. Portable Network Graphics (PNG) or other appropriate formats, such as for example, Tagged Image File Format (TIFF), Joint Photographic Experts Group (JPEG), Motion Picture Experts Group (MPEG)-2, MPEG-4 may be used to display an image or video. As a result commands or settings from a user, videos or other programs may be stored locally in storage device 164. Stored programs may include for example recorded broadcasts, pay-per-view items and/or buffered portions of a current video broadcast. The storage device 164 may contain various partitions or separate storage portions and may be used for implementation of a program buffer, DVR digital video recorder resources, and/or an EPG data and/or access logic storing portion 152.
[0061] The storage device 164 may additionally store an application, file, module or other data that is useable by the processor 134. In one instance, a stored application may be executed by the processor 134 to display content on the display 180, for example display module 148. As used herein, an application or module includes processor executable code that may be run to carry out one or more functions associated with the television tuner device 170. "Processor executable code" includes any computer-readable media or commands that may be ultimately interpreted by a processor, such as HTML or XML files that are rendered into user- viewable applications by an application executed by the processor. Alternatively, the processor or the television tuner device 170 may comprise a presentation device interface portion to hold this code. [0062] The processor 134 may execute commands received from a user. User commands may be sent to the television tuner device 170 through the user input device 175 such as a remote or other wireless device, such as a remote control. The user input device 175 may be a remote control that allows the user to interact with the television tuner device 170. Specifically, the user input device 175 may permit an end-user to interact with the EPG 172 and/or recorded video displayed by the television tuner device 170 on the end-user display device 180 in accordance with features of certain embodiments disclosed herein. Information sent to the television tuner device 170 may include, for example, a command to change the displayed channel, a command to pause, fast-forward, and/or rewind a displayed program, a command to display an EPG 172, and/or a command to navigate through the EPG 172. Commands sent to the television tuner device 170 may be entered through a dedicated display menu.
[0063] An end-user computing system 106 may be communicatively coupled or couplable to the television tuner device 170 and/or the network 185. The end-user computing system 106 may be communicatively coupled or couplable to an email/calendar back-end system 107. In various embodiments, the end-user computing system 106 and/or email/calendar back-end system 107 the end-user computing system 106 may include any device or set of devices configured to compute, process, organize, categorize, qualify, send, receive, retrieve, generate, convey, store, display, present, detect, handle, and/or use any form of information and/or data suitable for embodiments described herein. The end-user computing system 106 and/or email/calendar back- end system 107 may include one or more processing resources communicatively coupled to one or more storage media, random access memory (RAM), read-only memory (ROM), and/or other types of memory. The end-user computing system 106 and/or email/calendar back-end system 107 may include any one or combination of various input and output (I/O) devices, network ports, and display devices.
[0064] The end-user computing system 106 and/or email/calendar back-end system 107 could include a single computing device, a server, for example, or multiple computing devices, which may be implemented in or with a distributed computing and/or cloud computing environment with a plurality of servers and cloud-implemented resources. Thus, the end-user computing system 106 and/or email/calendar back-end system 107 may include one or more servers. In some embodiments, the one or more servers may be hosted and maintained by one or more organizations for the management of calendar information (and other information in some embodiments) for accounts associated with the one or more organizations. In some embodiments, the one or more servers may be hosted and maintained by one or more organizations for the management of calendar information for other organizations. In some embodiments, such accounts may be available to members of the general public. Various embodiments of the present disclosure may be implemented with a web interface that may be presented using a browser application.
[0065] FIG. 2 is a simplified diagram of an event management system 200, in accordance with certain embodiments of the present disclosure. The example depicted provides one high-level configuration, but, in light of the present disclosure, various embodiments may be used with systems having different configurations and/or different components. The components illustrated may represent physical and/or functional components or groupings of components in systems.
[0066] The event management system 200 may include a television programming system 108 and a calendar system 110. In various embodiments, the television programming system 108 may include one more components of the system 100. In some embodiments, the television programming system 108 may include a network interface 106 A, the end-user system 165, and/or the television service provider 135. In some embodiments, the event management system 200 may manage and/or facilitate management of calendar information related to television programming on behalf of one or more user accounts. For example, a user may have an account with the television service provider 135. In some embodiments, the account may be linked to one or more other accounts, such as an account of the same user and/or of different users with the calendar system 110 and/or the television service provider 135.
[0067] The event management system 200 may maintain calendar information that corresponds to the states of one or more calendars. In some embodiments, the calendar system 110 may be set up for particular purposes, such as event management for television programming. In some embodiments, the event management system 200 may not be associated with an email system. However, in some embodiments, the calendar system 110 may be a component of a larger system that may manage email, electronic tasks, and other information on behalf of one or more accounts. Accordingly, in some embodiments, the event management system 200 may be associated with an email system and may include a personal information management system that allows for managing email, personal tasks, calendar features, journal entries, notes, and/or other information. While examples are described with respect to the calendar system 1 10, the features may be included in a larger system.
[0068] The calendar system 1 10 may include calendaring functionalities that may include a graphical user interface for a calendar. The graphical user interface may allow for scheduling appointments. The graphical user interface may allow users to specify or select appointment characteristics (e.g., via check boxes, buttons, drop-down menus, selectable fields, etc.). Appointment characteristics may include one or more of descriptive event information such as a subject for an appointment, time information such as a start time for an appointment, an end time for an appointment, and/or other time information, a recurrence setting for an appointment, duration information, alarm/reminder information/settings, busy/free time information, attendee information, and/or the like. In various embodiments, calendar information may include data relating to one or more appointment characteristics.
[0069] The event management system 200 may provide for adding events (i.e., calendar events) for television programming to the calendar system 1 10. In various embodiments, an event (i.e., a calendar event) may correspond to one or more of an appointment, a meeting, and/or a reminder in the calendar system. In various embodiments, an event, which may include one or more of appointment, a meeting, and/or a reminder, may include one or more electronic records corresponding to one or more particular blocks of time. In some embodiments, an event may include for example without limitation descriptive program information, a program time, a program duration, and/or reminder settings. In some embodiments, the reminder settings may include a number of reminders and corresponding time information. In some embodiments, the calendar system may allow a user to send calendar events to one or more other users.
[0070] In some embodiments, the calendar system 110 may correspond to a client-server configuration used in email systems in group computing environments. It is currently commonplace for group computing environments to include an email system that includes a calendaring functionality. In some embodiments, the email/calendar system 1 10 may correspond to a client-server configuration used in email systems in other computing environments. It is currently commonplace for individuals to use an email system that includes a calendaring functionality. Examples of such systems for use in group computing environments and/or other environments include Microsoft® Outlook®, Lotus Notes®, Gmail™ and Google Calendar™, etc. For example, Microsoft® Outlook® is a common email client used with Microsoft® Exchange Servers. These email systems are typically configured to provide email, calendaring, and other applications to users. In many email systems, one or more email servers support a number of email clients. The event management system 200 may use any suitable formats, standards, protocols, specifications and the like for calendaring data and synchronization, such as, without limitation, those used in view of Apple® iCal®, CalDAV, SyncML, and/or the like. [0071] The calendar system 110 shown in FIG. 2 may include a calendar client 106B (referenced simply as a client) and one or more calendar servers 107. In some embodiments, the client 106B may include a software component running on the end-user computing device 106. In some embodiments, the client 106B may be or include a calendar client such as a standalone or separate software component running on the end-user computing device 106. In some embodiments, the client 106B may not be integrated or otherwise associated with email features. In other embodiments, the client 106B may be an email client, integrated or otherwise associated with email features as well as calendar features. Accordingly, the client 106B may allow for managing email, personal tasks, calendar features, journal entries, notes, and/or other information.
[0072] In some embodiments, the calendar servers 107 may operate as and/or include one or more email system servers. As such, the calendar servers 107 may allow for managing email, personal tasks, calendar features, journal entries, notes, and/or other information. In some embodiments, the one or more calendar servers 107 may riot be integrated or otherwise associated with email features/servers. In some embodiments, calendar information may be maintained in data storage accessible to the one or more calendar servers 107 for various accounts facilitated by the calendar servers 107. For example, the calendar servers 107 may be communicatively coupled to one or more calendar information repositories 107 A. The calendar servers 107 may store, or have access to stored, electronic records of appointments in association with accounts associated with the calendar system 110.
[0073] The calendar information may indicate various state and appointment information for one or more calendars. The calendar information may include data that indicates or may be used to indicate a state of a block of time. A state of a block of time may correspond to being occupied, unoccupied, and/or other states. Users may access stored information via one or more calendar servers 107 through a graphical user interface presented via the device 106 and/or client 106B. For example, a user may set an appointment through a graphical user interface that allows the user to specify conditions for a block of time for a calendar of the user's account, and the one or more calendar servers 107 may store a corresponding record of the appointment so that the record is associated with the user's calendar/account. Accordingly, the client 106B may receive user input for the scheduling of appointments or the modification of scheduled appointments. In some embodiments, corresponding calendar information may be transmitted from the client 106B to the calendar server(s) 107 for data storage. In the alternative or in addition, in some embodiments, corresponding calendar information may be stored in local data storage. [0074] The end-user computing device 106 may include a network interface 106A. The one or more network interfaces 106A may include for example without limitation a web interface allowing for communication with the end-user system 165 and/or the television service provider 135. The television service provider 135 may have web site/portals providing for such communication. The network interface 106A may include any suitable input/output module or other system/device operable to serve as an interface between the end-user computing device 106 and the network 185. The network interface 106 A may facilitate communication over the network 185 using any suitable transmission protocol and/or standard. In some embodiments, the television service provider 135 may facilitate the network interface 106A, for example, by making available one or more of a website, a web page, a web portal, a web application, a mobile application, enterprise software, and/or any suitable application software. While certain embodiments of the present disclosure provide non-limiting examples of the access to a user's calendar directly through the end-user computing device 106, it should be appreciated that certain embodiments include access to a user's calendar through the end-user system 165.
[0075] In certain embodiments, the end-user computing device 106 may include a mobile computing device that may be any portable device suitable for sending and receiving information over a network in accordance with embodiments described herein. For example without limitation, in various embodiments, the mobile computing device may include one or more devices variously referenced as a mobile phone, a cellular telephone, a smartphone, a handheld mobile device, a tablet computer, a web pad, a personal digital assistant (PDA), a notebook computer, a handheld computer, a laptop computer, and/or the like. In certain embodiments, the end-user computing device 106 may include one or more of a desktop computer, personal computer, and/or the like.
[0076] As indicated by arrows in FIG. 2, the end-user computing device 106 may be configured to communicate with one or more of the calendar server 107, the end-user system 165, and/or the television service provider 135. In some embodiments, the email client 106B and the calendar server 107 may be configured to communicate with each other via the network 185. In some embodiments, the end-user computing device 106 may be configured to communicate (e.g., via the network interface 106A) with the end-user system 165 via the network 185 and/or directly. In some embodiments, the end-user computing device 106 (e.g., via the network interface 106A) may be configured to communicate with the television service provider 135 via the network 185. [0077] In some embodiments, the client 106B may include a plug-in 106C that is associated with the client 106B. The plug-in 106C may enable communications between the client 106B and the television programming system 108. The plug-in 106C may include a set of software components that enable the communications. The plug- in 106C may be implemented according to any suitable techniques, and may facilitate communications using any suitable protocols and techniques. In various embodiments, the plug-in 106C may enable any of the interactions between the client 106B and the television programming system 108.
[0078] In various embodiments, information may be communicated to and/or from one or more components of the television programming system 108. Thus, in various embodiments, the television tuner device 170 and/or the television service provider 135 may receive and/or send calendar information. In various embodiments, calendar information may be based at least in part on any suitable communication, instruction, data, flag, signal, and/or otherwise that is a basis for, otherwise indicative of information for, creating and/or modifying a calendar event related to television programming. In some embodiments, calendar information may be pushed or pulled from the television tuner device 170 and/or the television service provider 135 on a periodic or random basis. In some embodiments, calendar information may be pushed or pulled from the television tuner device 170 and/or the television service provider 135 based on a state change corresponding to a recording schedule, such as a user selection of a program for recording.
[0079] FIG. 3 is a simplified illustration of an embodiment of an end-user system 365, which may correspond to the end-user system 165, in accordance with certain embodiments of the present disclosure. The end-user system 365 may include the television tuner device 370, which may be a set-top box (STB) in certain embodiments, and an end-user display device 380. The display 380 can be controlled by a user 350 using a user input device 375 that can send wireless signals 376 to communicate with the television tuner device 370 and/or display 380. The television tuner device 370 can be configured to receive communications from the user input device 375.
[0080] As used herein, a "user input device" may include any device operable to receive input from a user and to convey the input to the television tuner device in accordance with features of certain embodiments disclosed herein. For example without limitation, in various embodiments, the user input device may include a mobile computing device such as one or more devices variously referenced as a mobile phone, a cellular telephone, a smartphone, a handheld mobile device, a tablet computer, a web pad, a personal digital assistant (PDA), a notebook computer, a handheld computer, a laptop computer, or the like. In certain embodiments, a mobile application may be made available for use on a mobile computing device to at least in part transform the mobile computing computing device into user input device in accordance with certain embodiments. Various embodiments may include a specific purpose-based mobile application, a mobile application integrated with various other mobile application features, or a native application on a dedicated device. In certain embodiments, a mobile application executed on a mobile computing device may provide for a user input device in accordance with features of certain embodiments disclosed herein. In some embodiments, the user input device may include one or more of a dedicated television remote control device, touchpad, remote control unit with motion sensing, and/or the like. . ,
[0081] FIG. 3 depicts a non-limiting example display 302 of an EPG, which may correspond to the EPG 172. In some embodiments, as depicted, the display 302 of the EPG may be executed by the television tuner device 370, and may be displayed on the display device 380. In some embodiments, the display of an EPG may be presented to the user on the user input device. In some embodiments, the display of an EPG may be presented to the user via the end-user computing device 106. In some embodiments, the display of an EPG may be presented to the user via a mobile computing device. In some embodiments, the display of an EPG may be presented to the user via web interface and an online account provided by a service provider. Thus, in some embodiments, the user may view and navigate the EPG remotely from the display 380 and/or the television tuner device 370, with one or more additional interfaces.
[0082] As depicted, the example display 302 shows an EPG view that takes up a portion of the screen of the display device 380. In various embodiments, the EPG view may take up the entire screen or only a portion, such as a lower portion, a side portion, a combination of lower and side portions, etc. In some embodiments, a viewing window 303 that may display a program may be displayed in addition to the EPG view 302. The EPG view 302 shows a certain view of the overall EPG information with certain times 304, certain channels 306, and certain corresponding programs 308.
[0083] The EPG display 302 may exemplify available programming that a user 350 may see and be able to select for display or recording by a recorder. As described previously, the television tuner device 370 may include or be communicatively coupled to a recorder, such as a DVR. The user 350 may be permitted to scroll left and right to display television programming scheduled to be shown earlier or later, respectively. The may be permitted to scroll up and down to display television programming scheduled to be shown on various channels. The EPG may include search function that permits the user 350 to search through the television programming information stored by EPG. While only a limited number of channels are depicted in the example of FIG. 3, it should be understood that a much larger number of channels may be available; for example, hundreds of channels may be available to the user 350. As such, a significant amount of television programming information may be available via the EPG. Thus, search function may permit the user 350 to locate particular information within the extensive available television programming information by searching for particular text. The search function may allow for some form of text entry, such as an on-screen keyboard, that permits the user 350 to provide a search string. The search string may be used to search television programming information of the EPG.
[0084] Responsive to a user selection of a television program to be recorded, the DVR may be set to record the program. The program to be recorded may be one that is currently being broadcasted. The program to be recorded may be one that will be broadcasted at a future time.
[0085] In accordance with various embodiments, information corresponding to one or more programs may be transferred from the television tuner device 370 to one or more other components of the programming system 108 and/or one or more components of the calendar system 1 10. For example, information corresponding to one or more programs may be transferred to one or more of the end-user computing device 106, the television service provider 135, and/or the calendar system 110. In some embodiments, the information may be indicative of a program to be recorded. Γη some embodiments, the information may be indicative of a program that has already been recorded. The information may include any suitable content in any suitable form to corresponding to one or more programs. In some embodiments, the information may indicate the title of the program. In some embodiments, the information may indicate time information corresponding to the program. For example, the time information may indicate a start time, an end time, and/or a duration. In some embodiments, the information may include instructions to create a calendar event. In some embodiments, the information may include calendar information. In some embodiments, the information may be a basis for calendar information. For example, calendar information may be derived from the information transferred from the television tuner device 370.
[0086] In some embodiments, the television service provider 135 may send the information to one or more of the end-user computing device 106, the television service provider 135, and/or the calendar system 110. In some embodiments, the end-user system 365 may send the information to the television service provider 135, and the television service provider 135 may in turn relay the information, or otherwise send corresponding information based on the information received, to the end-user computing device 106 and/or the calendar system 1 10. In some embodiments, the information may be pulled by the end-user computing device 106 and/or the calendar system 110. In some embodiments, the information may be transferred via the network 185. In some embodiments, the information may be transferred directly from the end- user system 365 to the end-user computing device 106 and/or the calendar system 1 10. In some embodiments, the network 185 may include a local network of the user 350, such as a home network that could include a wireless network.
[0087] In some embodiments, the calendar system 1 10 may access a set of information indicative of a selected television program that came electronically from the television programming system. The calendar system 110 may identify and/or extract an indication of descriptive information about the selected television program. The calendar system 110 may -identify and/or extract an indication of a time corresponding to the selected television program. The calendar system 110 may generate calendar event for an account of a user at least partially based on the set of information indicative of the selected television program. For example, the calendar system 110 may identify a description for the calendar event at least partially based on the indication of descriptive information about the selected television program. The calendar system 110 may identify a block of time for the calendar event at least partially based on the indication of the time corresponding to the selected television program. Based at least in part on the identified information, the calendar system 110 may populate one or more fields of the event.
[00881 m some embodiments, an event corresponding to a television program may be added persistently a user's calendar. In some embodiments, a record for the event may be stored in local storage of the client 106B. In the alternative or in addition, a record for the event may be stored by the calendar server 107, for example, in the calendar information repository 110. In some embodiments, records for the event stored in local storage of the client 106B and by the calendar server 107 may be synchronized on a periodic basis and/or responsive to a state change of one or more records.
[0089] In some embodiments, a user may select that an event for a particular program be added to the user's calendar on an individual basis. For example, an option menu may be displayed to the user upon selection of a particular program from the EPG. The option menu may present a user-selectable option to add an event for the particular program to the user's calendar. In some embodiments, a user may select that a series of events for a particular program series be added to the user's calendar on an individual basis. For example, an option menu may be displayed to the user upon selection of a particular program from the EPG, presenting a user-selectable option to add a series of events for the particular program series to the user's calendar. In some embodiments, the population of the user's calendar with events corresponding to the user's program selections may be automatic performed by default such that the user need not make a determination about whether to add an event each time the user selects a program. For example, the user may select that default when the user configures the user's preferences. For example, the user may select that default when the user initially links the user's calendar system 110 and the end-user system 165, or any time thereafter.
[0090] FIG. 4 shows one non-limiting example of a calendar 400 that may be a user interface used in the calendar system 1 10, in accordance with certain embodiments of the present disclosure. The calendar 400 may be provided by an application executed on the end-user computing device 106. The calendar 400 may be a user interface that allows the user to see and schedule appointments and meetings. In the example depicted, the calendar 400 appears as a table with columns corresponding to days and rows corresponding to time periods. The calendar 400 may be, manipulated to allow for different views. For example, the calendar 400 may show different days, different ranges of days, different times, different ranges of times, and/or the like. The calendar 400 depicts a view of a particular week, but different views of portions of days, any number of days, one or more months, etc. may be shown by the calendar 400.
[0091] The client 106B allows for the input of various parameters for a block of time corresponding to an event, at least partially based on the information from the television tuner device 370. In the example of FIG. 4, an event 402 has been automatically added to the calendar 400 at least partially based on the information from the television tuner device 370.
[0092] The information may include any suitable communication, instruction, data, flag, signal, and/or otherwise that is indicative of a program of interest that may or may not be scheduled for recording. In some embodiments, the information may be pushed or pulled from television tuner device 370 on a periodic, random, or other basis. In some embodiments, the information may be pushed or pulled from television tuner device 370 based on a state change with respect to the program, for example, when the program is selected for recording.
[0093] The event 402 may correspond to one or more of an appointment, a meeting, and/or a reminder. The event 402 may include a display of any suitable descriptive information indicative of a television program. For instance, as depicted, the event 402 displays "Tuesday Night Football (Recording Scheduled)" to indicate the corresponding program. In some embodiments, the event 402 may have been added to the calendar 400 responsive a user selection of the corresponding program for recording with the end-user system 365. The event 402 corresponds to a block of time. In the example depicted, the event 402 corresponds to the block of time from 7 p.m. to 10 p.m. on Tuesday, October 2.
[0094] In some embodiments, the user may select a program that is recurring, for example, a program series. Accordingly, multiple events corresponding to the recurring instances of the program may be automatically added to the calendar. For example, the example of the event 402, which corresponds to "Tuesday Night Football," may recur every Tuesday night for a certain number of weeks. In addition to the event 402, multiple events for the program may be added to the user's calendar for the additional weeks. The calendar may be automatically populated with the additional events based on the user's specific direction to record the series of programs. In some embodiments, the addition of the events may be responsive to the user selecting only one instance of the program. Thus, the additional programs may be automatically scheduled for recording in some embodiments, and the additional events may reflect that. Alternatively, he additional programs may be automatically scheduled for recording, and the additional events may merely suggest the programs, as is discussed further herein.
[0095] FIG. 5 shows one non-limiting example of a calendar interface 500 that may be a user interface used in the calendar system 110, in accordance with certain embodiments of the present disclosure. In the example depicted, the calendar interface 500 may correspond to the event 402. In some embodiments, the calendar interface 500 may be accessed via user selection of the event 402. The calendar interface 500 may correspond to an interface that allows a user to view details about, schedule, and/or manipulate appointments, meetings, and/or reminders for the calendar system 1 10. The calendar interface 500 may include a subject field 502 for the event. The subject field 502 may allow for the input of any suitable descriptive information indicative of a program. For instance, the subject field 502 may be populated with a character string, such as the title of a program. In the example depicted, the subject field 502 displays "Tuesday Night Football (Recording Scheduled)" to indicate the corresponding program that is scheduled to be recorded by the user's DVR. More specific information could displayed, such as details about a sporting event or about a movie.
[0096] In some embodiments, the calendar interface 500 may include a location field 504. The location field 504 may allow for the input of any suitable descriptive information indicative of a program. For instance, the location field 504 may be populated with a character string, such as a location corresponding to a program. In the example depicted, the location field 504 displays "Channel 5" to indicate the channel on which the corresponding program is broadcasted. In some embodiments, the location field 504 could display other location information such as the location where the event is to occur. For instance, in the case of a sporting event, the location field 504 could display the city in which the event is to occur.
[0097] In some embodiments, the calendar interface 500 may include fields 506 for a start date and/or a start time for the program. The calendar interface 500 may include fields 508 for an end date and/or an end time for the program. In some embodiments, the calendar interface 500 may include an option 510 to control visibility of the event to others, for example, others that may be able to view certain aspects of a particular user's calendar information. The visibility control option 510 may be configurable the user. In some embodiments, an event corresponding to a program may not be visible to others by default. Accordingly, the event may be kept private with respect to others.
[0098] In some embodiments, an event may have a notes field 512 that allows for the input of notes about the program. For example, the notes field could allow for additional descriptive information such as a channel, a brief description of the television program, actors, a rating (e.g. , G, PG, PG-13, R), the year of release, and/or the like. In the example depicted, the notes field 512 displays details corresponding to the sporting event indicated.
[0099] Referring again to FIG. 4, in some embodiments, an event 404 may be automatically added to the calendar 400 at least partially based on the information from the television tuner device 370 to indicate a program that has already been recorded by the user's DVR. In some embodiments, the event 404 may have been previously added to the calendar 400 prior to the program being recorded, and may have been subsequently updated to indicate a status change, viz., that the program had been recorded. For instance, as depicted, the event 404 displays "Spaghetti Western Classic (Recorded)" to indicate the corresponding program and that the program has been recorded.
[0100] In some embodiments, an event that has been added to the calendar 400 may be updated to indicate that the recording of a program is in progress. For example, an event 406 displays "Presidential Debate (Recording)" to indicate the corresponding program and that the recording of the program in ongoing. In some embodiments, an event that has been added to the calendar 400 may be updated to indicate that the recorded program has been viewed. For instance, as depicted, the event 410 indicates that the corresponding program has been viewed. Thus, in various embodiments, events may include status identifiers to indicate the current status of scheduled television program recordings. [0101] Referring again to FIG. 5, the calendar interface 500 may indicate the status of a recording. For instance, as depicted, the subject field 502 displays "Tuesday Night Football (Recording Scheduled)" to indicate the corresponding program and that the program is scheduled to be recorded with the user's DVR. Though not shown, the subject field 502 may be subsequently and automatically updated when the recording is ongoing and/or after the program is recorded to reflect the change in status.
[0102] The example status identifiers of the events 402, 404, and 406 and the event corresponding to calendar interface 500 should not be construed as limiting. Various embodiments according to the present disclosure may indicate the current status of scheduled television program recordings in any suitable way. The status of recordings may be indicated with any suitable textual indicator. The status of recordings may be indicated with any graphical indication. For example, various states of scheduled recordings may be graphically indicated and graphically distinguished from one another with text, icons, colors, and/or the like.
[0103] In some embodiments, the status change for an event may be automatically updated based on status information received from the television tuner device 370. The status information may include any suitable communication, instruction, data, flag, signal, and/or otherwise that is indicative of a status corresponding to a scheduled recording. In some embodiments, the status information may be pushed or pulled from television tuner device 370 on a periodic or random basis. In some embodiments, the status information may be pushed or pulled from television tuner device 370 based on a state change of the scheduled recording. For example, the status information may be pushed or pulled from television tuner device 370 based on a time corresponding to the beginning and/or ending of the recording. In some embodiments, the status change for an event may be automatically updated based on a clock associated with the end-user computing device 200 and/or the calendar system 110.
[0104] In some embodiments, the calendar interface 500 may include an option 514 to cancel a scheduled recording. A user selection of the option 514 may result in the calendar system 110 communicating with the end-user system 365 so that the program is not recorded by the user's DVR. Responsive to user selection of the option 514, information may be pushed or pulled from the calendar system 1 10. The information may include any suitable communication, instruction, data, flag, signal, and/or otherwise that is indicative of a user instruction to cancel the scheduled recording. The end-user system 365 may be configured to process the information and cancel the scheduled recording. Accordingly, certain embodiments may provide a user with the ability to manage scheduled recording via the calendar system 1 10. [0105] In some embodiments, the calendar system 1 10 may be configured to allow user management of start and/or end times of a scheduled recording. User-selectable options 506A and 508A may allow a user to select different start and/or end time for a recording. For example, a user may use option 506A to change the scheduled start time for the recording from 7:00 pm to 6:30 pm; and a user may use option 508A to change the scheduled end time for the recording from 10:00 pm to 10:30 pm. In some embodiments, a user selection may not be finalized until the user selects a save option 516. Consequent to user selection of different time(s) via options 506A and/or 508A, information may be pushed or pulled from the calendar system 110. The information may include any suitable communication, instruction, data, flag, signal, and/or otherwise that is indicative of a user instruction to modify the scheduled recording. The end-user system 165 may be configured to process the information and modify the scheduled recording accordingly.
[0106] Referring to FIG. 4, in some embodiments, the calendar system 110 may be configured to allow a user to cancel a scheduled recording via the calendar 400. For example, an event displayed on the calendar 400 corresponding to a scheduled recording may be configured with a user-selectable option 408 to cancel the recording. In some embodiments, an event displayed on the calendar 400 corresponding to a scheduled recording may be configured with a user- selectable option 408 to stop a recording that is in progress. The option 408 may be implemented in any suitable manner and may be a pop-up menu available upon selection of the event 402. As depicted, the option 408 may display a user-selectable option to cancel the scheduled recording of the program corresponding to the event 402. A user selection of the option 408 may result in the calendar system 110 communicating with the end-user system 365 so that the program is not recorded by the user's DVR, as discussed above with respect to the calendar interface 500. In some embodiments, though not shown, other user-selectable options may be implemented in a similar manner to allow a user to select different start and/or end times for a recording.
[0107] Referring to FIG. 5, the calendar interface 500 may include a reminder option 518 to provide the user with a reminder before a scheduled recording. The reminder option 518 may by user customizable according to user preferences. For example, a user may only want reminders for programs that are broadcasted live.
[0108] FIG. 6A shows one non-limiting example of a reminder 600 that may be presented to a user via the calendar system 1 10, in accordance with certain embodiments of the present disclosure. The reminder 600 may be automatically presented to the user to indicate a live broadcast and/or a scheduled recording. The reminder 600 may be a pop-up window presented via the client 106B in some embodiments. In some embodiments, a reminder for a live broadcast and/or a scheduled recording may be provided via an email message and/or a text message sent to the end-user computing device 106 and/or another associated end-user computing device according to User-customizable preferences.
[0109] In the example depicted, the reminder 600 may correspond to a live broadcast and may comprise descriptive information 602 indicative of the program that is to be broadcasted live. In some embodiments, as depicted, a user may have selected the program to be recorded. In other embodiments, a user may not have selected the program to be recorded, but may have only selected that a reminder be set for the program. In some embodiments, the reminder 600 may include a dismiss option 604 for user selection to dismiss the reminder, a snooze option 606 for user selection to delay the reminder for a user-selectable time, and/or an option 608 to view details corresponding to the reminder. In some embodiments, selection of the option 608 may open a calendar interface 500 corresponding to the event.
[0110] In some embodiments, the reminder 600 may indicate a status of the live broadcasted program. For instance, as depicted, the descriptive information 602 displays "(On Time)" to indicate the corresponding live program is expected to be broadcasted on time according to schedule. In some embodiments, the calendar 400 may indicate a status of the live broadcasted program. For example, the event 402, as depicted, includes a status identifier.
[0111] In some embodiments, the reminder 600 and/or the calendar 400 may be updated to indicate current status information. For example, if a live event has been delayed or canceled, the reminder 600 and/or the calendar 400 may be automatically updated to reflect the change in status. In some embodiments, the status change for a live event may be automatically updated based on status information received from the television tuner device 370 and/or the television service provider 135. The status information may include any suitable communication, instruction, data, flag, signal, and/or otherwise that is indicative of a status corresponding to a program scheduled to be broadcasted live. In some embodiments, the status information may be pushed or pulled from television tuner device 370 and/or the television service provider 135 on a periodic or random basis. In some embodiments, the status information may be pushed or pulled from television tuner device 370 and/or the television service provider 135 based on a state change of the scheduled live program. For example, the status information may be pushed or pulled from television tuner device 370 and/or the television service provider 135 based on a time corresponding to the beginning and/or ending of the recording, such as any suitable time before the scheduled start time. In some embodiments, the status change for an event may be automatically updated based on a clock associated with the end-sure computing device 200 and/or the calendar system 110.
[0112] The example status identifiers indicating a status of a live event may indicate the current status of scheduled live broadcast in any suitable way. The status may be indicated with any suitable textual indicator. The status may be indicated with any graphical indication. For example, various states of scheduled recordings may be graphically indicated and graphically distinguished from one another with text, icons, colors, and/or the like.
[0113] In some embodiments, if there is a conflict with an event added to the calendar 400, a user may be notified via the calendar system 110. In some embodiments, if there is a schedule change for a program corresponding to an event added to the calendar 400, a user may be notified via the calendar system 110. In some embodiments, a notification of a conflict and/or a schedule change may be provided via an email message and/or a text message sent to the end- user computing device 106 and/or another associated end-user computing device according to user-customizable preferences.
[0114] FIG. 6B shows one non-limiting example of a notification 620 that may be presented to a user via the calendar system 110, in accordance with certain embodiments of the present disclosure. The notification 620 may be a pop-up window presented via the client 106B in some embodiments. The notification 620 may be automatically presented to the user to indicate a schedule change for an event added to the calendar 400. In the example depicted, the notification 620 may correspond to a live broadcast and may comprise descriptive information 622 indicative of a delay for the program that is to be broadcasted live. Thus, for example, a user planning to rush home in order to view a live program may be notified of a schedule change and then may adjust plans accordingly.
[0115] In some embodiments, a scheduled recording time may be automatically adjusted by the television tuner device 370 to account for the schedule change of the program. In some embodiments, an event in the calendar 400 may be automatically adjusted to account for the schedule change of the program. In some embodiments, if, for example, a schedule change for a program creates a conflict with another calendar event and/or scheduled recording, a notification may be presented to a user in like manner. The notification 620 may include an indication 624 of the conflict. In some embodiments, the indication 624 of the conflict may include a user- selectable option that leads to an interface to resolve the conflict. [0116] In some embodiments, a user's calendar may be populated with events based on one or more programs of interest to the user. FIG. 7 shows one non-limiting example of the calendar 400 which has been populated with events based on one or more programs of interest to the user, in accordance with certain embodiments of the present disclosure. In the example depicted, the calendar has been populated with tentative events 412, 414, 416, and 418. The tentative events may correspond to recording suggestions based on past programs of interest identified for the user.
[0117] In some embodiments, an event corresponding to a program suggestion may only be added to open time periods of the user's calendar. In some embodiments, one or more components of the system 108 determine whether an open time period is available for a program suggestion. In some embodiments, one or more components of the system 108 identify an open time period prior to identifying a program suggestion. The system 108 could use the open time period as a search criterion in searching for program suggestions. In some embodiments, the system 108 may be agnostic as to open time periods according to the user's calendar, The system 108 may identify program suggestions, and the calendar system 110 may determine whether an open time period is available for a particular program.
[0118] In some embodiments, an open time period may correspond to a time period when nothing is scheduled on the user's calendar. In some embodiments, an open time period may correspond to a time period when there is availability for recording one or more programs additional programs. Stated otherwise, an end-user subsystem 365 may have the ability to record multiple programs simultaneously for a given time period, and an open time period may depend on the number of programs that the end-user subsystem 365 can record simultaneously. For instance, if an end-user subsystem 365 can record three programs simultaneously and is only set to record one program for a given time period, that time period may be considered an open time period in some embodiments.
[0119] The tentative events may be graphically distinguished from other events in the calendar 400 in any suitable manner. For example, tentative events may be graphically indicated and graphically distinguished with text, icons, colors, and/or the like. In the example depicted, the events 412, 414, 416, and 418 displays descriptive text indicating that suggested programs. The suggestions of the events 412, 414, 416, and 418 may be based on the user's past selections, such as one or more of events 402, 404, 406, 410 of indicated in the example of FIG. 4. [0120] In some embodiments, the automatic population of suggested events may be based on information received from the television tuner device 370 and/or the television service provider 135. In some embodiments, the information may be pushed or pulled from television tuner device 370 and/or the television service provider 135 on a periodic or random basis. For example, the status information may be pushed or pulled from television tuner device 370 and/or the television service provider 135 based on user interaction, such after a user makes a selection of a program for recording.
[0121] As depicted in FIG. 1, the television tuner device 170 (which, again, may correspond to the television tuner device 370 in some embodiments) may be in communication with one or more programming information servers, such as the programming information server 190, e.g., via the network 185. The programming information server 190 may represent a computer system containing information on television programs and/or other content. For example, the programming information server 190 may have additional information about television programs and/or content in addition to (and/or the same as) what is present in the television programming information transmitted to the television tuner device 170 by the electronic programming guide server 150. For example, the programming information server 190 may have information about television programs such as: actors and/or actresses appearing in the television program, production of the television program (such as the director, the producer, the production company), the location of filming, a genre of the television program, television programs that are similar, and suggestions (e.g., "if you like television program 'χ,' you may enjoy television program 'y'"). Similar information may also be stored by the electronic programming guide server 150, such as in the programming database 160, but may not be transmitted to the television tuner device 170. Such information may be accessible by the television tuner device 170 via the network 185 from the electronic programming guide server 150 on request.
[0122] In some embodiments, the television tuner device 370 may compare information about television programs selected for recording, and/or otherwise identified as programs of interest to the user, to other programming information to identify program suggestions. In some embodiments, a user may be notified about a start of a new season of a program series of interest to the user. In some embodiments, the television service provider 135 may compare information about television programs selected for recording, and/or otherwise identified as programs of interest to the user, to other programming information to identify program suggestions. Information corresponding to the suggestions may be available to the calendar system 1 10 for the automatic population of the calendar 400 with tentative events that suggest programs for recording. In some embodiments, calendar information corresponding to the suggestions may be pushed or pulled from the television tuner device 370 and/or the television service provider 135. In some embodiments, calendar information corresponding to the suggestions may be pushed or pulled from the television tuner device 370 and/or the television service provider 135 on a periodic or random basis, or based on a state change corresponding to a recording schedule, such as a user selection of a program for recording.
[0123] In some embodiments, the calendar system 1 10 may be configured to allow a user to schedule a recording via the calendar 400. For example, as depicted in FIG. 7, an event displayed on the calendar 400 corresponding to a scheduled recording may be configured with a user- selectable option 428 to schedule a recording. . The option 428 may be implemented in any suitable manner and may be a pop-up menu available upon selection of the event 412. As depicted, the option 428 may display a user-selectable option to accept a suggestion to record the program corresponding to the event 412. A user selection of the option 428 may result in the calendar system 110 communicating with the end-user system 365 so that the program is recorded by the user's DVR. In some embodiments, though not shown, other user-selectable options may be implemented in a similar manner to allow a user to select different start and/or end times for a recording.
[0124] In some embodiments, user selection of a tentative event, such as event 412, for a suggested program may present a calendar interface that corresponds to the suggested program. FIG. 8 shows one non-limiting example of a calendar interface 800 that may be a user interface used in the calendar system 1 10 corresponding to a suggested program, in accordance with certain embodiments of the present disclosure. The calendar interface 800 may be similar to the calendar interface 500; however, instead of including an option 514 to cancel a scheduled recording, the calendar interface 800 may include an option 814 to record the suggested program. A user selection of the option 814 may result in the calendar system 1 10 communicating with the end-user system 365 so that the suggested program is recorded by the user's DVR. Responsive to user selection of the option 814, information may be pushed or pulled from the calendar system 1 10. The information may include any suitable communication, instruction, data, flag, signal, and/or otherwise that is indicative of a user instruction to cancel the scheduled recording. The end-user system 365 may be configured to process the information and schedule the recording.
[0125] The calendar 400 may be provided by an application executed on the end-user computing device 106. The calendar 400 may be a user interface that allows the user to see and schedule appointments and meetings. In the example depicted, the calendar 400 appears as a table with columns corresponding to days and rows corresponding to time periods. The calendar 400 may be manipulated to allow for different views. For example, the calendar 400 may show different days, different ranges of days, different times, different ranges of times, and/or the like. The calendar 400 depicts a view of a particular week, but different views of portions of days, any number of days, one or more months, etc. may be shown by the calendar 400.
[0126] FIG. 9 illustrates an example of a user interface 900 for scheduling an event that includes a meeting, in accordance with certain embodiments of the present disclosure. If there is an event that a user wants to share with others, the user can use one or more meeting notification functions of the calendar system 110 to set up a meeting, invite attendees, and specify a location. An event may include a meeting that may correspond to an appointment with multiple attendees. In other words, the end-user that organizes the meeting may invite one or more attendees. The user interface 900 may correspond to interfaces 500 and/or 800 but may further include features for a meeting notification.
[0127] For example, as depicted, for the last episode of "King of the Island," the user could schedule a meeting at his home and invite one or more guests (attendees), and manage the meeting via the calendar system 110. A subject field 902 may allow for the input of any suitable descriptive information for the event, and a location field 904 may be populated with any suitable descriptive information for a corresponding location, such as the address of the user's home. The interface 900 may be configured to include an attendees field 906. The attendees field 906 may be populated with any suitable information identifying one or more attendees. For example, email addresses and/or other contact information of attendees may be specified in the attendees field 906.
[0128] In some embodiments, the interface 900 may be configured to include a user-selectable invite option 908. Selection of the invite option 908 by the user may cause a proposal for the event to be sent to individuals specified as attendees. For example, the client 106B may submit parameters for the event to the server 107. The server 107 may in turn distribute invitations to the specified attendees. The specified attendees may be notified via an email user interface similar to those_ disclosed herein. The specified attendees may accept, decline, or otherwise respond to the invitations. In some embodiments, an event may be added to an attendee's account along with the sending of the invitation, in a similar manner to embodiments described herein. In some embodiments, an event may be added to an attendee's account the invite after the attendee accepts the invitation. [0129] FIG. 10 illustrates an example method 1000 of providing for event management for television programming, in accordance with certain embodiments of the present disclosure. According to certain embodiments, the method 1000 may begin at block 1002. Teachings of the present disclosure may be implemented in a variety of configurations that may correspond to the systems disclosed herein. As such, the order of the steps comprising the method 1000 may be shuffled in any suitable manner and may depend on the implementation chosen. Moreover, while the following steps may be separated for the sake of description, it should be understood that certain steps may be performed simultaneously or substantially simultaneously.
[0130] As indicated by block 1002, a user selection of a program of interest may be received. In some embodiments, a user may select a particular program via an EPG display. In some embodiments, a user may select a program type (e.g., via any suitable criteria that would indicate a program type, such as sports, a specific sport, a specific league, a specific team, and/or the like) via a user interface provided with the television tuner device. In some embodiments, a user may select a particular program or program type via an interface remote from the television tuner device, such as a web interface through which a user may manage an account with a television service provider that is associated with the user's television tuner device.
[0131] As indicated by block 1004, one or more timers may be set to record one or more programs based at least in part on the user selection of a program of interest. In some embodiments, the one or more timers may be associated with a DVR of the user's television tuner device, and the timer setting results in the DVR being scheduled to record a particular program. In some embodiments, a user may explicitly select an option to record one or more programs provided by the television tuner device or by another interface.
[0132] As indicated by block 1006, information indicative of the one or more programs of interest may be pushed and/or pulled so that the calendar system or pulled has calendar information needed to add one or more events to the user's calendar. In various embodiments, the information may be based at least in part on any suitable communication, instruction, data, flag, signal, and/or otherwise that is indicative or otherwise a basis for calendar information. In some embodiments, calendar information may be pushed or pulled from the television tuner device and/or the television service provider on a periodic or random basis. In some embodiments, calendar information may be pushed or pulled from the television tuner device and/or the television service provider based on a state change corresponding to a recording schedule, such as a user selection of a program for recording. [0133] As indicated by block 1008, one or more events may be created and added to the user's calendar at least partially based on the information indicative of the one or more programs of interest. As indicated by block 1010, in some embodiments, one or more calendar reminders may also be set to actively notify the user regarding the one or more programs of interest. As indicated by block 1012, in some embodiments, there may be one or more subsequent checks for updates regarding the program(s) of interest. As indicated by block 1014, if one or more updates have been identified, information indicative of the program updates may be pushed and/or pulled so that the calendar system has access to the information. As indicated by block 1016, one or more corresponding events may be updated at least partially based on the information. As indicated by block 1018, a check for conflicts may be performed for the updated events. As indicated by block 1020, the user may be notified regarding the update(s) and/or conflict(s), if conflict(s) have been identified.
[0134] As indicated by block 1022, in some embodiments, one or more program suggestions may be determined. If one or more program suggestions are identified, the suggested programs may be automatically scheduled for recording in some embodiments, as indicated by the transition to block 1004. However, in some embodiments, the suggested programs may not be automatically scheduled for recording. As indicated by the transition to block 1006, whether or not the suggested program(s) are automatically scheduled to record, information indicative of the suggested program(s) may be pushed/pulled so that the calendar system has access to the information. As indicated by block 1008, one or more events may be created and added to the user's calendar at least partially based on the information indicative of the one or more suggested programs.
[0135] In some embodiments, the process flow may then transition to one or more of blocks 1010 through 1016. However, in some embodiments, the process flow may instead transition to block 1024. As indicated by block 1024, user input regarding the program suggestion(s) may be received. For example, in some embodiments, a user may select, via the calendar system, an option to record a suggested program. In some embodiments where a suggest program has been automatically scheduled to be recorded, a user may select, via the calendar system, an option to cancel the scheduled recording of the suggested program. In some embodiments, a user may select, via the calendar system, an option to indicate a level of interest in the suggested program. For example, the user may indicate, via a user-selectable option, that user is or is not interested in the suggested program. As indicated by block 1026, information indicative of the suggested program(s) may be pushed/pulled so that the television tuner device has access to the information. As indicated by block 1028, in various embodiments, based at least partially on the user input, the user DVR may be set, to record the suggested program or a scheduled recording may be canceled. In some embodiments, program suggestion criteria may be modified based on the user input.
[0136] FIG. 11 illustrates an embodiment of a computer system 1100. A computer system 1 100 as illustrated in FIG. 1 1 may be incorporated into devices such as a set top box (STB), a first electronic device, DVR, television, media system, personal computer, and the like. Moreover, some or all of the components of the computer system 1 100 may also be incorporated into a portable electronic device, mobile phone, or other device as described herein. FIG. 1 1 provides a schematic illustration of one embodiment of a computer system 1 100 that can perform the methods provided by various embodiments. It should be noted that FIG. 11 is meant only to provide a generalized illustration of various components, any or all of which may be utilized as appropriate. FIG. 11, therefore, broadly illustrates how individual system elements may be implemented in a relatively separated or relatively more integrated manner.
[0137] The computer system 1100 is shown comprising hardware elements that can be electrically coupled via a bus 1105 (or may otherwise be in communication, as appropriate). The hardware elements may include one or more processors 11 10, including without limitation one or more general-purpose processors and/or one or more special-purpose processors (such as digital signal processing chips, graphics acceleration processors, and/or the like); one or more input devices 1 1 15, which can include without limitation a mouse, a keyboard, a camera, and/or the like; and one or more output devices 1 120, which can include without limitation a display device, a printer, and/or the like.
[0138] The computer system 1 100 may further include (and/or be in communication with) one or more non-transitory storage devices 1125, which can comprise, without limitation, local and/or network accessible storage, and/or can include, without limitation, a disk drive, a drive array, an optical storage device, a solid-state storage device, such as a random access memory ("RAM"), and/or a read-only memory ("ROM"), which can be programmable, flash-updateable, and/or the like. Such storage devices may be configured to implement any appropriate data stores, including without limitation, various file systems, database structures, and/or the like.
[0139] The computer system 1 100 might also include a communications subsystem 1130, which can include without limitation a modem, a network card (wireless or wired), an infrared communication device, a wireless communication device, and/or a chipset (such as a Bluetooth™ device, an 1102.11 device, a WiFi device, a WiMax device, cellular communication facilities, etc.), and/or the like. The communications subsystem 1 130 may include one or more input and/or output communication interfaces to permit data to be exchanged with a network (such as the network described below, to name one example), other computer systems, television, and/or any other devices described herein. Depending on the desired functionality and/or other implementation concerns, a portable electronic device (or similar device) may communicate image and/or other information via the communications subsystem 1 130. In other embodiments, a portable electronic device, e.g. the first electronic device, may be incorporated into the computer system 1 100, e.g., STB, as an input device 1 115. In many embodiments, the computer system 1100 will further comprise a working memory 1 135, which can include a RAM or ROM device, as described above.
[0140] The computer system 1.100 also .can comprise software elements, shown as being currently located within the working memory 1 135, including an operating system 1140, device drivers, executable libraries, and/or other code, such as one or more application programs 1145, which may comprise computer programs provided by various embodiments, and/or may be designed to implement methods, and/or configure systems, provided by other embodiments, as described herein. Merely by way of example, one or more procedures described with respect to the method(s) and features discussed above might be implemented as code and/or instructions executable by a computer (and/or a processor within a computer); in an aspect, then, such code and/or instructions can be used to configure and/or adapt a general purpose computer (or other device) to perform one or more operations in accordance with the described methods.
[0141] A set of these instructions and/or code might be stored on a non-transitory computer- readable storage medium, such as the storage device(s) 1125 described above. In some cases, the storage medium might be incorporated within a computer system, such as computer system 1100. In other embodiments, the storage medium might be separate from a computer system (e.g.j a removable medium, such as a compact disc), and/or provided in an installation package, such that the storage medium can be used to program, configure, and/or adapt a general purpose computer with the instructions/code stored thereon. These instructions might take the form of executable code, which is executable by the computer system 1 100 and/or might take the form of source and/or installable code, which, upon compilation and/or installation on the computer system 1 100 (e.g., using any of a variety of generally available compilers, installation programs, compression/decompression utilities, etc.), then takes the form of executable code. [0142] It will be apparent to those skilled in the art that substantial variations may be made in accordance with specific requirements. For example, customized hardware might also be used, and/or particular elements might be implemented in hardware, software (including portable software, such as applets, etc.), or both. Further, connection to other computing devices such as network input/output devices may be employed.
[0143] As mentioned above, in one aspect, some embodiments may employ a computer system (such as the computer system 1100) to perform methods in accordance with various embodiments of the technology. According to a set of embodiments, some or all of the procedures of such methods are performed by the computer system 1100 in response to processor 1110 executing one or more sequences of one or more instructions (which might be incorporated into the operating system 1140 and/or other code, such as an application program 1 145) contained in the working memory 1 135. Such instructions may be read into the working memory 1135 from another computer-readable medium, such as one or more of the storage device(s) 1 125. Merely by way of example, execution of the sequences of instructions contained in the working memory 1135 might cause the processor(s) 1110 to perform one or more procedures of the methods described herein. Additionally or alternatively, portions of the methods described herein may be executed through specialized hardware.
[0144] The terms "machine-readable medium" and "computer-readable medium," as used herein, refer to any medium that participates in providing data that causes a machine to operate in a specific fashion. In an embodiment implemented using the computer system 1 100, various computer-readable media might be involved in providing instructions/code to processor(s) 11 10 for execution and/or might be used to store and/or carry such instructions/code. In many implementations, a computer-readable medium is a physical and/or tangible storage medium. Such a medium may take the form of a non-volatile media or volatile media. Non-volatile media include, for example, optical and/or magnetic disks, such as the storage device(s) 1125. Volatile media include, without limitation, dynamic memory, such as the working memory 1135.
[0145] Common forms of physical and/or tangible computer-readable media include, for example, a floppy disk, a flexible disk, hard disk, magnetic tape, or any other magnetic medium, a CD-ROM, any other optical medium, punchcards, papertape, any other physical medium with patterns of holes, a RAM, a PROM, EPROM, a FLASH-EPROM, any other memory chip or cartridge, or any other medium from which a computer can read instructions and/or code. [0146] Various forms of computer-readable media may be involved in carrying one or more sequences of one or more instructions to the processor(s) 1 1 10 for execution. Merely by way of example, the instructions may initially be carried on a magnetic disk and/or optical disc of a remote computer. A remote computer might load the instructions into its dynamic memory and send the instructions as signals over a transmission medium to be received and/or executed by the computer system 1 100.
[0147] The communications subsystem 1130 (and/or components thereof) generally will receive signals, and the bus 1 105 then might carry the signals (and/or the data, instructions, etc. carried by the signals) to the working memory 1 135, from which the processor(s) 1 1 10 retrieves and executes the instructions. The- instructions received by the working memory 1135 may optionally be stored on a non-transitory storage device 1 125 either before or after execution by the processor(s) 1110.
[0148] The methods, systems, and devices discussed above are examples. Various configurations may omit, substitute, or add various procedures or components as appropriate. For instance, in alternative configurations, the methods may be performed in an order different from that described, and/or various stages may be added, omitted, and/or combined. Also, features described with respect to certain configurations may be combined in various other configurations. Different aspects and elements of the configurations may be combined in a similar manner. Also, technology evolves and, thus, many of the elements are examples and do not limit the scope of the disclosure or claims.
[0149] Specific details are given in the description to provide a thorough understanding of example configurations (including implementations). However, configurations may be practiced without these specific details. For example, well-known circuits, processes, algorithms, structures, and techniques have been shown without unnecessary detail in order to avoid obscuring the configurations. This description provides example configurations only, and does not limit the scope, applicability, or configurations of the claims. Rather, the preceding description of the configurations will provide those skilled in the art with an enabling description for implementing described techniques. Various changes may be made in the function and arrangement of elements without departing from the spirit or scope of the disclosure.
[0150] Also, configurations may be described as a process which is depicted as a flow diagram or block diagram. Although each may describe the operations as a sequential process, many of the operations can be performed in parallel or concurrently. In addition, the order of the operations may be rearranged. A process may have additional steps not included in the figure. Furthermore, examples of the methods may be implemented by hardware, software, firmware, middleware, microcode, hardware description languages, or any cornbination thereof. When implemented in software, firmware, middleware, or microcode, the program code or code segments to perform the necessary tasks may be stored in a non-transitory computer-readable medium such as a storage medium. Processors may perform the described tasks.
[0151] Having described several example configurations, various modifications, alternative constructions, and equivalents may be used without departing from the spirit of the disclosure. For example, the above elements may be components of a larger system, wherein other rules may take precedence over or otherwise modify the application of the disclosure. Also, a number of steps may be undertaken before, during, or after the above elements are considered. Accordingly, the above description does not bind the scope of the claims.

Claims

WHAT IS CLAIMED IS:
1. A method of event management for television programming, using a calendar system, the method comprising:
accessing a set of information indicative of a selected television program, wherein the set of information that is indicative of the selected television program came electronically from a television programming system;
identifying, in the set of information, an indication of descriptive information about the selected television program;
identifying, in the set of information, an indication of a time corresponding to the selected television program; and
generating a calendar event for a calendar system at least partially based on the set of information, the generating comprising:
identifying a description for the calendar event at least partially based on the indication of descriptive information about the selected television program;
identifying a block of time for the calendar event at least partially based on the indication of the time corresponding to the selected television program; and
causing display of the calendar event.
2. The method of event management for television programming of claim 1, further comprising:
identifying in the set of information an indication of a status of the selected television program;
wherein generating the calendar event for the calendar system comprises configuring the calendar event to indicate the status of the selected television program.
3. The method of event management for television programming of claim 2, wherein the status indicates whether the selected television program is scheduled for recording by a recorder of the television programming system.
4. The method of event management for television programming of claim 2, wherein the status indicates that the selected television program is suggested for viewing and/or recording, the selected television program being suggested based at least in part on one or more past selections for one or more television programs.
5. The method of event management for television programming of claim 1 , further comprising: accessing a second set of information indicative of the selected television program, wherein the second set of information indicative of the selected television program came electronically from the television programming system;
identifying in the second set of information identifying an indication of a second status of the selected television program; and
modifying the calendar event to indicate the second status of the selected television program.
6. The method of event management for television programming of claim 5, wherein the second status indicates that the selected television program has been displayed by a display device of the television programming system.
7. The method of event management for television programming of claim 5, wherein the second status indicates that the selected television program is currently being recorded by a recorder of the television programming system.
8. A system for event management for television programming, using a calendar system, the system comprising:
one or more processors; and
memory communicatively coupled with, and readable by, the one or more processors, the memory having stored therein processor-readable instructions, which, when executed by the one or more processors, cause the one or more processors to perform a method, the method comprising:
accessing a set of information indicative of a selected television program from a , wherein the set of information indicative of the selected television program came electronically from a television programming system;
identifying in the set of information an indication of descriptive information about the selected television program;
identifying in the set of information an indication of a time corresponding to the selected television program; and
generating a calendar event for a calendar system at least partially based on the set of information indicative of the selected television program, the generating comprising:
identifying a description for the calendar event at least partially based on the indication of descriptive information about the selected television program; identifying a block of time for the calendar event at least partially based on the indication of the time corresponding to the selected television program; and
causing display of the calendar event.
9. The system for event management for television programming of claim 8, wherein the method further comprises:
identifying in the set of information an indication of a status of the selected television program;
wherein generating the calendar event for the calendar system comprises configuring the calendar event to indicate the status of the selected television program.
10. The system for event management for television programming of claim 9, wherein the status indicates whether the selected television program is scheduled for recording by a recorder of the television programming system.
11. The system for event management for television programming of claim 9, wherein the status indicates that the selected television prograrn is suggested for viewing and/or recording, the selected television program being suggested based at least in part on one or more past selections for one or more television programs.
12. The system for event management for television programming of claim 9, wherein the method further comprises:
accessing a second set of information indicative of the selected television program, wherein the second set of information indicative of the selected television program came electronically from the television programming system;
identifying in the second set of information identifying an indication of a second status of the selected television program; and
modifying the calendar event to indicate the second status of the selected television program.
13. The system for event management for television programming of claim 12, wherein the second status indicates that the selected television program has been displayed by a display device of the television programming system.
14. The system for event management for television programming of claim 12, wherein the second status indicates that the selected television program is currently being recorded by a recorder of the television programming system.
15. A television tuning device configured to facilitate event management for television programming, the television tuning device comprising: one or more processors;
one or more storage devices coupled to the one or more processors and configured to store instructions to cause the one or more processors to:
process an indication of a selected television program;
generate a set of information indicative of the selected television program, wherein the set of information indicative of the selected television program comprises:
an indication of descriptive information about the selected television program;
an indication of a time corresponding to the selected television program; and
an indication of a status of the selected television program;
transmit the set of information indicative of the selected television program to a calendar system to generate a calendar event at least partially based on the set of information indicative of the selected television program, wherein a description for the calendar event is to be at least partially based on the indication of descriptive information about the selected television program, and a block of time for the calendar event is to be at least partially based on the indication of the time corresponding to the selected television program
16. The television tuning device of claim 14, wherein the status indicates whether the selected television program is scheduled for recording by a recorder of the television tuning device.
17. The television tuning device of claim 14, wherein the selected television program is selected based at least in part on one or more past selections for one or more television programs.
18. The television tuning device of claim 16, wherein the status indicates that the selected television program is suggested for viewing and/or recording.
19. The television tuning device of claim 15, the instructions further to cause the one or more processors to:
generate a second set of information indicative of the selected television program, wherein the second set of information indicative of the selected television program comprises an indication of a second status of the selected television program; and
send the second set of information indicative of the selected television program for the calendar system to modify the calendar event to indicate the second status of the selected television program.
20. The television tuning device of claim 18, wherein the second status indicates that the selected television program has been displayed by a display device of coupled to the television tuning device.
21. The television tuning device of claim 18, wherein the second status indicates that the selected television program is currently being recorded by a recorder of the television tuning device.
PCT/UA2012/000105 2012-11-30 2012-11-30 Event management for television programming WO2014084803A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/UA2012/000105 WO2014084803A1 (en) 2012-11-30 2012-11-30 Event management for television programming

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/UA2012/000105 WO2014084803A1 (en) 2012-11-30 2012-11-30 Event management for television programming

Publications (1)

Publication Number Publication Date
WO2014084803A1 true WO2014084803A1 (en) 2014-06-05

Family

ID=47953702

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/UA2012/000105 WO2014084803A1 (en) 2012-11-30 2012-11-30 Event management for television programming

Country Status (1)

Country Link
WO (1) WO2014084803A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017077434A1 (en) * 2015-11-02 2017-05-11 Telefonaktiebolaget Lm Ericsson (Publ) Notification of an upcoming live media program
EP3211910A1 (en) * 2016-02-26 2017-08-30 TechniSat Digital GmbH Arrangement comprising a receiving device, a receiving device and use of a receiving device

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001089206A2 (en) * 2000-05-12 2001-11-22 At & T Corp. Method and system for presenting an electronic programming guide
US20020100049A1 (en) * 2001-01-19 2002-07-25 Yamato Jun-Ichi Program processing apparatus, program processing system, and program
WO2002071266A1 (en) * 2001-03-08 2002-09-12 Koninklijke Philips Electronics N.V. Activity schedule controls personalized electronic content guide
WO2003026292A1 (en) * 2001-09-20 2003-03-27 Keen Personal Media, Inc. Displaying program guide responsive to program guide data and program recording indicators
EP1501293A2 (en) * 2003-07-24 2005-01-26 Funai Electric Co., Ltd. Data recording and reproducing apparatus displaying information about recording reservations
EP1613074A1 (en) * 2004-06-28 2006-01-04 Funai Electric Co., Ltd. Data recording and reproducing apparatus with recording reservation capability
JP2007300436A (en) * 2006-04-28 2007-11-15 Toshiba Corp Program recorder/reproducer and recording/reproducing method
US20080184314A1 (en) * 2007-01-31 2008-07-31 Sony Corporation Schedule-table presenting apparatus and schedule-table presenting method

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001089206A2 (en) * 2000-05-12 2001-11-22 At & T Corp. Method and system for presenting an electronic programming guide
US20020100049A1 (en) * 2001-01-19 2002-07-25 Yamato Jun-Ichi Program processing apparatus, program processing system, and program
WO2002071266A1 (en) * 2001-03-08 2002-09-12 Koninklijke Philips Electronics N.V. Activity schedule controls personalized electronic content guide
WO2003026292A1 (en) * 2001-09-20 2003-03-27 Keen Personal Media, Inc. Displaying program guide responsive to program guide data and program recording indicators
EP1501293A2 (en) * 2003-07-24 2005-01-26 Funai Electric Co., Ltd. Data recording and reproducing apparatus displaying information about recording reservations
EP1613074A1 (en) * 2004-06-28 2006-01-04 Funai Electric Co., Ltd. Data recording and reproducing apparatus with recording reservation capability
JP2007300436A (en) * 2006-04-28 2007-11-15 Toshiba Corp Program recorder/reproducer and recording/reproducing method
US20080184314A1 (en) * 2007-01-31 2008-07-31 Sony Corporation Schedule-table presenting apparatus and schedule-table presenting method

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
SKENDEROSKI I: "Prototyping convergence services", BT TECHNOLOGY JOURNAL, KLUWER ACADEMIC PUBLISHERS, DO, vol. 25, no. 2, 1 April 2007 (2007-04-01), pages 143 - 148, XP019498611, ISSN: 1573-1995, DOI: 10.1007/S10550-007-0038-0 *
YUKI Y ET AL: "An efficient approach for providing update information among networked appliances", CONSUMER COMMUNICATIONS AND NETWORKING CONFERENCE, 2006. CCNC 2006. 20 06 3RD IEEE LAS VEGAS, NV, USA 8-10 JAN. 2006, PISCATAWAY, NJ, USA,IEEE, vol. 2, 8 January 2006 (2006-01-08), pages 998 - 1002, XP010893325, ISBN: 978-1-4244-0085-0, DOI: 10.1109/CCNC.2006.1593188 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017077434A1 (en) * 2015-11-02 2017-05-11 Telefonaktiebolaget Lm Ericsson (Publ) Notification of an upcoming live media program
EP3211910A1 (en) * 2016-02-26 2017-08-30 TechniSat Digital GmbH Arrangement comprising a receiving device, a receiving device and use of a receiving device

Similar Documents

Publication Publication Date Title
JP2020115355A (en) System and method of content display
US8195025B2 (en) Systems, methods, and computer products for digital video recorder management and scheduling
EP2461585B1 (en) Management of profiles for interactive media guidance applications
KR101521367B1 (en) Systems and methods for personalizing an interactive media guidance application
CN1745576B (en) Interactive television systems with digital video recording and adjustable reminders
US8639096B2 (en) System and method of managing a digital video recorder using a user television broadcast list
US20120167142A1 (en) Methods and apparatuses to facilitate preselection of programming preferences
US9582504B2 (en) Method for providing playlist, remote controller applying the same, and multimedia system
US20060253782A1 (en) Interface for manipulating multimedia playlists
US20060248557A1 (en) Interface for controlling device groups
US20060253874A1 (en) Mobile interface for manipulating multimedia content
US9980007B1 (en) Generating and dynamically updating a personalized programming guide
EP2499812B1 (en) Systems and methods for distributing user generated content
US20100275233A1 (en) System and method of displaying a user customizable television broadcast list
US20120319825A1 (en) Methods, systems, and means for restricting control of a home entertainment device by a mobile device
US8732763B2 (en) Navigation and discovery of video on demand content via tv schedule on handheld devices
US20130080907A1 (en) Method and system for a personalized content play list
US9516387B2 (en) Systems, methods, and user interfaces for facilitating user access to media content
US11622148B2 (en) Methods and systems for dynamically optimizing content for consumption on a scheduled trip
KR20180128824A (en) Method and system for efficiently downloading media assets
WO2014084803A1 (en) Event management for television programming
US10491960B2 (en) Customizable electronic program guide
US11317155B1 (en) Virtual channel streaming utilizing video-on-demand content
US20150040159A1 (en) Methods and systems for displaying scheduled events in a media guidance display
AU2013204481A1 (en) Systems and Methods for Personlizing an Interactive Media Guidance Application

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 12834575

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 12834575

Country of ref document: EP

Kind code of ref document: A1